File: C:/Users/fred/.codex/.tmp/plugins/plugins/zoom/skills/team-chat/get-started.md
# Team Chat Get Started
This is the fast path for Zoom Team Chat integrations.
## Step 1: Pick Integration Type First
- **User type** (Team Chat API)
- Auth: `authorization_code` (User OAuth)
- Endpoint family: `/v2/chat/users/...`
- Messages appear as user
- **Bot type** (Chatbot API)
- Auth: `client_credentials`
- Endpoint family: `/v2/im/chat/messages`
- Messages appear as bot
If this decision is wrong, auth/scopes/endpoints will all mismatch.
## Step 2: Set Up App + Credentials
1. Create **General App (OAuth)** in Zoom Marketplace.
2. Configure scopes and feature settings.
3. Gather credentials from app config:
- `ZOOM_CLIENT_ID`
- `ZOOM_CLIENT_SECRET`
- `ZOOM_BOT_JID` (bot type)
- `ZOOM_ACCOUNT_ID` (bot type use cases)
See: `concepts/environment-setup.md`
## Step 3A: User Type (Team Chat API)
1. Implement OAuth code flow.
2. Call `POST /v2/chat/users/me/messages` with bearer token.
3. Use OAuth endpoints correctly:
- authorize: `https://zoom.us/oauth/authorize`
- token exchange: `https://zoom.us/oauth/token`
See:
- `examples/oauth-setup.md`
- `examples/send-message.md`
## Step 3B: Bot Type (Chatbot API)
1. Get token via `grant_type=client_credentials`.
2. Call `POST /v2/im/chat/messages`.
3. Add webhook endpoint for interactive events.
4. Use `https://zoom.us/oauth/token` for `client_credentials` token requests.
See:
- `examples/chatbot-setup.md`
- `concepts/webhooks.md`
- `references/message-cards.md`
## Step 4: Validate with a Minimal Smoke Test
- User type: send one plain text channel message.
- Bot type: send one plain text bot message.
Then add advanced features (buttons/forms/slash commands).