# Create a chatbot for Zoom Chat The chatbots framework uses REST APIs and webhooks, and allows you to integrate with third-party APIs. You can use slash commands within the chat UI to send actions and commands to third-party API endpoints. ## Prerequisites - You have read [Key Concepts](/docs/platform/key-concepts/). - You have a Zoom account. - You are either the Zoom account owner, account admin, or have been assigned the **Zoom for developers** role. To enable the **Zoom for developers** role, log into the Zoom web portal as admin and go to **User Management** > **Roles** > **Role Settings** > **Advanced features**, and select the **View** and **Edit** checkboxes for **Zoom for developers**. ![](/img/UBF-role-prerequisite.png) For more information, see [Using role management](https://support.zoom.us/hc/en-us/articles/115001078646). --- ## Process 1. Log into the Zoom Marketplace and select to build a general (OAuth) app. 2. Enter or update basic app information such as the app name, access type, and OAuth. 3. Select the Zoom products and features that the app works with. 4. Select the Zoom API methods (scopes) the app uses to interact with the Zoom platform. 5. Preview your app and test it with internal users. --- ## Step 1: Build an OAuth app 1. Log onto the Zoom App Marketplace. 2. Click **Develop** > **Build App**. ![](/img/UBF-app-create1.png) ## Step 2: Maintain basic information On the **Basic Info** page, add or update information about the app such as the app's name, how the app is managed, app credentials, and OAuth information. 1. Update your app's name. By default, the build flow generates a generic name for your app. To change your app's name, select the edit icon (pencil) and update the name. To save your changes, click anywhere outside of the app name field. ![](/img/UBF-app-name.png) 2. In the **Select how the app is managed** section, confirm how you want your app to be managed. > The app management type affects the features and scopes available to your app. If you change the app management type later on, make sure you reconfirm the selected features and scopes for your app. - **Admin-managed:** Account admins add and manage the app. Depending on the scope, the app can access and manage the user data of users on their account. - **User-managed:** Individual users add and manage the app. The app has access to only the user's authorized data. > Select user-managed if your app uses Guest Mode, Collaborate Mode, Personal Zoom Room, or Zoom on mobile. 3. **App Credentials** - The build flow automatically generates app credentials (client ID & client secret) for your app. App credentials for development differ from app credentials for production. - Use development credentials while you are building and testing your app. - Use production credentials once you are ready to publish your app on the Marketplace. 4. In the **OAuth Information** section, set up OAuth for your app. - **OAuth redirect URL (required)**: Enter your development redirect URL or endpoint to set up OAuth between your app and Zoom. - **Use Strict Mode URL (optional)**: Allow only the redirects that exactly match the valid OAuth redirect URLs. - **Subdomain check (optional)**: Only allow the redirects that exactly match the subdomain of the valid OAuth redirect URLs. - **OAuth allow lists (required)**: Add any unique URLs that Zoom should allow as valid redirects for your OAuth flows. This additional security measure ensures that users are only redirected to the pre-approved endpoints you provided. Include either the complete URL (https://subdomain.domain.tld/path/to/oauth/callback) or the base URL without the path and/or query parameters (https://subdomain.domain.tld). ## Step 3: Select Zoom products and features On the **Features** page, go to the **Surface** tab. 1. In the **Select where to use your app** section, select **Zoom Chat**. ![](/img/UBF-teamchat.png) **Note**: The app management type affects which products are selectable. For more information, see [Admin-managed apps](/docs/build-flow/create-oauth-apps/#admin-managed-apps) and [User-managed Apps](/docs/build-flow/create-oauth-apps/#user-managed-apps). 2. In the **Home URL** and **Domain Allow List** fields provide a URL to your app's home page and add URLs you want the Zoom client to accept. 3. In the **In-client app features** section, select the Zoom features you want to be available to your app users in the Zoom client. The availability of the features depends on the selected Zoom products and your app's management type. For more information, see [In-client app features](/docs/build-flow/create-oauth-apps/#select-in-client-app-features). 4. Enable **Zoom Chat Subscription**. Enter the slash command to use to invoke your chatbot. And enter the Bot Endpoint URL for Zoom to send your chatbot notifications. ![](/img/chatbot-subscription.png) ## Step 4: Scopes The build flow automatically adds scopes for your chatbot. The **Scopes** page displays the chatbot scope for Zoom Chat. ![](/img/chatbot-scopes.png) ## Step 5: Test and preview your app On the **Local Test** page, add and preview your app and share it with internal users. **To add** the app for your own account, select **Add App Now** and then **Allow**. **To see** a summary of your app's details and a preview of your app's listing page on the Zoom App Marketplace, select **Preview Your App Listing Page**. > For security reasons, we limit the sharing of beta apps. We don't allow beta apps to be published to the Zoom Marketplace, and we allow beta app access only to members of the developer's Zoom account. To share your app with other users on your account, go to the **Authorization URL** section, and select **Generate** and then **Copy**. --- ## Resources [Tutorial: Build a chatbot](/blog/unsplash-chatbot-for-zoom-team-chat/)