Setting the file. One moment. Authentication · Build Zoom Team Chat App · anthropics/knowledge-work-plugins · Skills Docs
Zoom Team Chat integrations commonly use one of two auth models:
22
Validate Data
Tech Debt
62
Recruiting Pipeline
71
Vendor Check
125
Zoom Meeting SDK Web
88
Vendor Review
181
Create An Asset
Video Sdk/web
Use User OAuth (authorization code) when you want messages/actions to appear as a user.
- Typical endpoints:
- Send message (as the user):
POST /v2/chat/users/me/messages
- Typical scopes:
chat_message:write
chat_channel:read (for listing channels)
Use client credentials when you want messages/actions to appear as a bot.
- Typical endpoint:
- Send bot message:
POST /v2/im/chat/messages
- Typical “scope”:
imchat:bot (added by enabling Chatbot feature on the app)
- If you need to post to a channel “as a bot” and handle slash command interactions: use Chatbot API.
- If you need to post “as the user” (and respect the user’s channel membership): use Team Chat API.
- Server-to-Server OAuth is not a fit for Zoom Team Chat chatbot features.
- Team Chat API calls require a user token with the right scopes; “invalid access token” errors are almost always missing scopes or wrong app type.
- OAuth URL split is easy to mix up:
- authorize step:
https://zoom.us/oauth/authorize
- token step (all grant types):
https://zoom.us/oauth/token
- In browser demos, complete OAuth end-to-end in app (state verify -> callback -> code exchange -> token store) to avoid copy/paste mistakes.
concepts/authentication.md