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 @outloock.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.
Chat Subscriptions include the required commands and endpoints your Chatbot will use to call the API within the Chat interface and the data it should return.
The Command is the text string used to invoke your Chatbot (example: /createmeeting). The command must be a single word without spaces and should be easy for your users to type and remember.
The Bot Endpoint URL is the webhook which the Zoom platform will call back when a user sends a slash command. Your Chatbot will pass all text following the invoked command as a JSON payload to its Endpoint URLs.
Example: If the user invokes the bot with “/createmeeting firstname.lastname@example.org 10:30am tomorrow“ your bot will receive “email@example.com 10:30am tomorrow” as a JSON payload for the “cmd” field.
Note: Chatbots require separate endpoints for development and production.
Event Subscriptions allow your Chatbot to use Zoom’s webhooks to return information when a certain event or action is triggered. For example, you might want to add a feature that will send a message if a Participant has joined a meeting and is waiting for a host or one which sends a message to all users who have registered to receive a recorded meeting. In many cases, Event Subscriptions can replace the need for repeated API calls.
To explore or add available Event Subscriptions, click the toggle and choose whether you would like the event to be available to all users in the account or just those who have installed the app.
Provide a Destination URL for both development and production to receive incoming events from Zoom. This could be a URL like https://www.yourcompany.com/useradd, which we explore in our Webhook guide. Note: This URL must be secured over HTTPS.
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, reference our Chatbot Service Authorization guide.
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.
The first place to look for help is on our Developer Forum, where Zoom Marketplace Developers can ask questions for public answers.
If you can’t find the answer in the Developer Forum or your request requires sensitive information to be relayed, please email us at email@example.com.