# Get credentials To build a Chatbot for Zoom Chat first get your developer credentials. ## Create app Free and paid Zoom user accounts can create apps by navigating to the [Marketplace](https://marketplace.zoom.us/), signing in, and clicking **Develop** - **Build App**. Then click **General App** and click **Create**. ![](/img/blog/tommygaessler/unsplash-chatbot/section-1/app-type.png) If the app types or create button is grayed out, that means your [Zoom IT Admin has not granted you developer privileges](/docs/build-flow/role-permissions/). ## Admin-managed vs. User-managed Admin managed apps are authorized once per account and any user on the account can use it. The Chatbot can send messages to all users and channels. By default all users can see the message in a channel, but you can use the `visible_to_user` property to only show the message to a single user in that channel. In the examples below you can see that all users see the Chatbot in the Apps list and see the chatbot message. ![](/img/admin-manage.png) ![](/img/admin-managed-chatbot-tommy2.png) ![](/img/admin-managed-chatbot-bob.png) User managed apps are authorized per user and only the authorized user on the account can use it. The Chatbot can send messages to users who have installed the chatbot, and all channels, but only the user who installed the chatbot can see the message in the channel. If you try to send a message to another user on the same account who has not authorized the chatbot, you get a Not authorized error. In the examples below you can see that only the user who installed the Chatbot sees it in the Apps list and sees the chatbot message. ![](/img/user-manage.png) ![](/img/user-managed-chatbot-tommy2.png) ![](/img/user-managed-chatbot-bob.png) Zoom offers [controls](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0062300) for who can authorize admin and user managed apps. Zoom also offers controls for admins to [manage apps on behalf of the account, groups, or users](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0061035). ## Client ID and Client Secret On the Basic Information page you will see your App credentials and a space for your OAuth redirect URL. - Your Client ID and Client Secret are used to generate the Chatbot and user OAuth tokens. - Your OAuth Redirect URL is a webpage where you or your users land after they install your app. ![](/img/blog/tommygaessler/unsplash-chatbot/section-1/development-basic-info.png) Typically during development you will want to use the development environment of your app. This allows you to reserve the production environment for your deployed version and still be able to test edits locally in your development environment. If you [publish your app to the Zoom App Marketplace](/docs/distribute/), the production environment will be used, but you can still test changes using the development environment. Once your changes are complete, you can submit an update request, and once approved, your users will get an email to adopt your new update. ## Bot JID After creating your app, navigate to the Features -> Surface page end enable Zoom Chat: ![](/img/surface-team-chat.png) Then scroll down and toggle Zoom Chat Subscription. Add your webhook url in the Bot endpoint URL. Your webhook URL should accept HTTP POST requests. We will cover the webhook URL more in the Slash commands and UI elements section. Make sure to click the blue Save button: ![](/img/blog/tommygaessler/unsplash-chatbot/section-1/development-surface-settings.png) After saving, note your Bot JID, we will need it to send, edit, and delete messages: ![](/img/blog/tommygaessler/unsplash-chatbot/section-1/development-bot-jid.png) ## Webhook secret On the Features -> Access page, you will find your webhook secret. The webhook secret is used to [verify](/docs/api/webhooks/#verify-webhook-events) webhooks events like slash commands are sent from Zoom, and for Zoom to [validate](/docs/api/webhooks/#validate-your-webhook-endpoint) that you control the webhook URL. ![](/img/dev-webhook-secret.png) Now that we have our developer credentials, we are ready to authorize our Chatbot.