Create a Chatbot App
Chatbots are apps installed within the Zoom Client which interact with users using the chat interface. Chatbots could be created to allow your users to easily create Zoom meetings, calendar events, or make a service request directly from their Zoom Client.
You can also create apps published onto the Zoom Marketplace which help Zoom users interact with your product or service, providing direct extensions and integrations within the Zoom Client.
Register Your App
To register your app, visit the Zoom App Marketplace and click on the Develop option in the dropdown on the top-right corner and select Build App. A page with various app types will be displayed. Select Chatbot as the app type and click on Create.
Generate App Credentials
In order to authorize your Chat App, the Zoom platform generates unique Client ID and Client Secret credentials for both development and production. Use development credentials while you are building and testing your app, and production credentials once you are ready to install your app privately or publish your app on the Marketplace.
Provide a Redirect URL for OAuth, a valid and secure URL to which users will be redirected to after they successfully authorize your application.
Also add a Whitelist URL, which includes all URLs to be whitelisted as Redirect URL for OAuth to achieve improved security. Make sure to include either the entire URL or the prefix that you want to whitelist as Redirect URLs for OAuth. Example: https://zoom.us or https://marketplace.zoom.us
Here you enter a Short Description and Long Description of your app, and update the Name you’ve just given to your app. Please note that this unique app name will be visible, even if your app is not submitted publicly.
Upon installation, the Chatbot will send a message to the user containing the Name and Short Description of the app. The Short Description should include a short example or initial instructions on how to use your Chatbot.
This is also a good time to upload a required App icon. The icon should be a square image between 160px and 400px width and height in GIF/JPG/JPEG/PNG format, and cannot be more than 1MB in size.
Preview Images provide visual details of your app to your users using either images and video. Here you can show core functions and use cases of your app using screenshots of chat prompts and results. Only JPG/GIF/JPEG/PNG images and MP4 videos are supported. The maximum size for videos is 10 MB. Images must be 1200 by 780 px.
Categories allow your app to be organized and classified alongside similar apps and make it easier for users to search and find your app. Here you can select up to three categories for your app.
Your Company Name will be shown publicly on the Marketplace homepage and in your app’s detail page.
Next add Developer Contact name and email, which may be used by the Zoom Marketplace Team or your users for any inquiries regarding your app.
Note: Email Service Provider domains are NOT accepted, such as: @gmail.com or @outlook.com. The email address submitted must be a valid domain, and an operational email address the Zoom Marketplace Team can confirm during the review process.
The features page is where you will customize the Slash Command, Usage Hints, Welcome Message, Trusted Domains, and Event Subscriptions for your Chatbot.
Click the toggle on to expand the Chat Subscription settings.
The Slash Command is the text string used to invoke your Chatbot (example: /zoom meeting).
A usage hint can also be added to a Chatbot to help users know which commands are available.
The Welcome Message is a message that is sent after a user installs a Chatbot. The Welcome Message can be customized via the Title input and Body textarea, or programmatically by your app.
To set a static custom welcome message, select the “Zoom App Marketplace” option and fill in the Title and Body fields.
Trusted Domain List
The Trusted Domain List is a list of trusted URLs that your Chatbot sends in messages to your users. Enter any known domains that are safe for your users to access in chatbot messages.
URLs not listed as a trusted domain can still be sent in chatbot messages, but when a user clicks them, a popup notifies them of the untrusted URL before they can proceed.
Once you request a trusted domain to be approved, the status is set to In Process while the request is reviewed, and is set to Approved when it is ready to be used.
Bot Endpoint URL
The Bot Endpoint URL is your server’s endpoint url that the Zoom platform will call when your Chatbot is installed for a programmatic welcome message, when a user sends a slash command, and when a user interacts with UI elements on a Chatbot message. The request sent to your server’s endpoint url will be a POST request with a JSON body of the respective event.
Once you enter you are finished, you must click Save!
Event Subscriptions are optional features which allow apps to use Zoom’s webhooks to return information when a certain event or action is triggered. In many cases, Event Subscriptions can replace the need for repeated API calls. For example, you might want to add a feature that sends automated notifications to your app every time a User has activated their account or every time a Recording has started.
To create an Event Subscription, click the toggle on. Click + Add new event subscription. Choose an optional Subscription Name, and add an Event Notification Endpoint URL for both development and production. These URLs will receive POST requests containing data on the notification for each subscribed event. Note: Event Notification Endpoint URLs must be secured over HTTPS.
Note: Event Subscription names have no effect on the payload of the request.
Add the event types for this Event Subscription and click Save.
To add additional Event Subscriptions, click + Add new event subscription again. Although you can subscribe to as many events as needed for each event subscription, you can only have a maximum of ten event subscriptions per app.
Event subscriptions can have duplicate Events. For example, one Event Subscription could have Meetings and User Events, and a second Event Subscription can have Meetings and Recordings events.
Once you enter your Event types and Destination URL, you must click Save!
Scopes define the API endpoints and methods that your app is allowed to use in order to access specified resources pertaining to your users.
To explore and add available Scopes, click “Add Scopes” and scroll through the available access points your app will need. One common scope for Chatbots can be found in “Chat: Enable Chatbot within Zoom Chat Client.”
Once your app is published, it will only be permitted to access the resources granted to it by its authorized scopes. Each request for a scope will be specifically reviewed by the Zoom Marketplace team on submission.
If your app contains a valid Redirect URL, Whitelist URL, and has chosen at least one scope, it is valid to install for testing. Click ‘Install’ and follow the prompts to install your app onto your Zoom Account. This will install the Chatbot onto your Zoom Client (your Zoom App).
Installing your Chatbot will also generate a testable URL which can be shared with other users on your account for further testing.
Note: With an OAuth app, you would typically use the authorization code seen in your browser to request an access token for each user. With a Chatbot, you can ignore this and instead use the
client_secret to send a POST request to get an access token. There are no refresh tokens for Chatbot authentication. After your access token expires, the app must request a new token using the same steps. For a full example on how to use these tokens to authorize your app, see Requesting a Chatbot Token in the Authentication section of the Chatbots Installation and Authentication page.
If your Bot is intended only for internal use, your Publishable URL can be used to share and authorize the app for users on your account. For this, you will only need to generate your Publishable URL in order for your production keys to work.
If you plan to publish your Chatbot publicly onto the Zoom Marketplace, your app must go through a review process and be approved by the Zoom Marketplace Team.
Before Submission, the Zoom Marketplace requires each app to Validate the Domain used to receive callbacks and ensure it is owned by you. Follow the steps outlined to upload your verification code into a root folder called /zoomverify. This is a one-time verification process.
Note: If you have difficulty in completing the domain verification steps, please feel free to email us proof of this domain ownership at firstname.lastname@example.org
Once you’ve filled out all required information, complete the submission Checklist by clicking ‘Check’ and following all steps outlined.
Add a link to your Release Notes which will be reviewed by both the Zoom Marketplace team and your users for versioning reference.
If your app requires account access, provide a link for your app’s Test Account and Credentials with a URL to either a Free Trial or Login Page.
Your final step is to sign the Zoom Marketplace Developer Agreement. This required agreement must be reviewed and signed by an authorized agent of your company (CEO, CTO, Legal Team Member, etc…). The Zoom Marketplace team will not review or approve any apps without the signature of an authorized agent.
Once your app is ready for review, click Submit to send your app for approval by the Zoom Marketplace Team.