Generated banner for Build Zoom Team Chat App
Generated logo for Build Zoom Team Chat App

Build Zoom Team Chat App

OpenAIOfficialCreated by ZoomDistributed by OpenAI

  • Skill
  • Tool integration
  • Software development
  • MIT
  • Medium risk

From the author

Use when building Team Chat.
— the description by Zoom

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a systematic approach to building applications for Zoom Team Chat. It guides developers through selecting the appropriate API surface, configuring app settings, modeling message structures, and implementing secure authentication and webhook handling. It covers the lifecycle of building both user-scoped messaging integrations and interactive chatbot workflows.

What it does

  • Helps select between Team Chat API and Chatbot API based on integration requirements.
  • Outlines the configuration of app types, scopes, and role enablement.
  • Provides guidance on modeling message structures including rich cards, forms, and slash commands.
  • Details the implementation of OAuth flows and token management.
  • Supports the setup of webhook handlers with signature verification.
  • Assists in debugging common issues related to JID formats, channel membership, and payload shapes.

When to use it

  • When you need to integrate custom messaging or automation into Zoom Team Chat.
  • When designing interactive chatbot workflows with buttons, forms, or dropdowns.
  • When setting up OAuth authentication for Zoom-based applications.
  • When troubleshooting connectivity or message delivery issues in a Zoom integration.

Advantages

  • Provides a clear, step-by-step path for Zoom app development.
  • Ensures security best practices like signature verification are prioritized.
  • Helps avoid common pitfalls in API selection and message formatting.
  • Centralizes references for environment variables and API endpoints.

Usage examples

“How do I start building a chatbot for Zoom Team Chat?”
The agent will guide you through choosing the Chatbot API, configuring the bot identity, and setting up the necessary OAuth and webhook infrastructure.
“I am getting an invalid access token error when sending messages.”
The agent will help you verify your app type, check if the required scopes are enabled, and confirm if the user has re-consented after recent scope changes.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/openai/build-zoom-team-chat-app/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip build-zoom-team-chat-app.zip -d .agents/skills

Documentation by Zoom

Build Zoom Team Chat App

Use this skill when the target surface is Zoom Team Chat. First decide whether the integration is user-scoped messaging, a chatbot, an interactive message-card workflow, or a webhook-driven automation.

Workflow

  1. Choose the API surface: Team Chat API for user-scoped actions, Chatbot API for bot identity and chatbot workflows.

  2. Confirm app type, scopes, role enablement, and whether the account has Zoom for Developers enabled.

  3. Model message structure before coding: plain messages, rich cards, buttons, dropdowns, forms, slash commands, and threaded replies.

  4. Implement OAuth and token refresh separately from message sending, with clear storage boundaries.

  5. Add webhook handlers for interactivity and lifecycle events with signature verification and retry-safe processing.

  6. Debug by checking JID formats, channel membership, bot installation, scopes, role settings, and message-card payload shape.

References

Files

concepts/environment-setup.md

Environment Setup

Complete guide to configuring your Zoom Team Chat development environment, obtaining credentials, and setting up your app.

Prerequisites

  • Zoom account

  • Account owner, admin, or Zoom for developers role enabled

Enable "Zoom for developers" Role

If you don't have owner/admin privileges:

  1. Ask your admin to enable the Zoom for developers role

  2. Navigate to: User Management → Roles → Role Settings → Advanced features

  3. Enable View and Edit checkboxes for Zoom for developers

Image: Zoom for developers role

Step 1: Create Zoom App

1.1 Access App Marketplace
  1. Go to Zoom App Marketplace

  2. Click Develop → Build App

1.2 Select App Type

Select: General App (OAuth)

⚠️ CRITICAL: Do NOT select "Server-to-Server OAuth"

Why: Server-to-Server OAuth apps do NOT support the Team Chat/Chatbot features. Only General App (OAuth) supports chatbots and team chat integrations.

Step 2: Basic Information

On the Basic Info page, configure your app:

2.1 App Name

Update the auto-generated app name:

  • Click the edit icon (pencil)

  • Enter your app name (e.g., "My Team Chat Bot")

  • Click outside the field to save

2.2 App Management Type

Choose how your app is managed:

TypeUse CaseToken Flow
Admin-managedCompany-wide bots, notifications, helpdeskRecommended for chatbots
User-managedPersonal bots, individual user toolsFor user-specific apps

For most chatbots: Choose Admin-managed

Important: App management type affects available features and scopes. If you change it later, reconfirm your selected features and scopes.

2.3 App Credentials (Auto-generated)

The build flow automatically generates:

CredentialEnvironment
Client IDDevelopment & Production
Client SecretDevelopment & Production

Note: Development and production credentials are different.

2.4 OAuth Information
OAuth Redirect URL (Required)

Enter your OAuth callback endpoint:

Local development:

http://YOUR_DEV_HOST:4000/auth/callback

Production:

https://yourdomain.com/auth/callback
OAuth Allow Lists (Required)

Add all URLs that Zoom should allow as valid OAuth redirects:

Examples:

  • Complete URL: https://subdomain.domain.tld/path/oauth/callback

  • Base URL: https://subdomain.domain.tld

Step 3: Enable Team Chat (Chatbot API Only)

Skip this step if you're only using Team Chat API (user-level messaging)

3.1 Navigate to Features Page

Go to Features page → Surface tab

3.2 Select Team Chat Product

In Select where to use your app, check Team Chat

3.3 Configure App URLs
FieldValueExample
Home URLYour app's home pagehttps://yourdomain.com
Domain Allow ListURLs Zoom client should accepthttps://yourdomain.com
3.4 Enable Team Chat Subscription

Configure webhook settings:

FieldValueExample
Slash CommandCommand to invoke bot/mybot
Bot Endpoint URLWebhook endpointhttps://yourdomain.com/webhook

Critical: Your bot will NOT appear in Team Chat unless you enable Team Chat Subscription!

Step 4: Get Credentials

4.1 App Credentials (Both APIs)

Navigate to App Credentials → Development:

CredentialWhere to Find
Client IDApp Credentials → Development
Client SecretApp Credentials → Development (Click "View")
Account IDApp Credentials → Development
4.2 Bot JID (Chatbot API Only)

Note: Bot JID only appears AFTER enabling Chatbot in Features tab

To find Bot JID:

  1. Go to Features tab in left sidebar

  2. Ensure Chatbot toggle is ON

  3. Click Chatbot section to expand

  4. Scroll to Bot Credentials section

  5. You'll see two JIDs:

    • Bot JID (Development): Use for testing

    • Bot JID (Production): Use for live apps

Format: [email protected]

4.3 Webhook Secret Token (Chatbot API Only)

Navigate to Features → Team Chat Subscriptions → Secret Token

This token is used to verify webhook signatures.

4.4 Credentials Summary
CredentialTeam Chat APIChatbot APILocation
Client ID✅ Required✅ RequiredApp Credentials → Development
Client Secret✅ Required✅ RequiredApp Credentials → Development
Account ID❌✅ RequiredApp Credentials → Development
Bot JID❌✅ RequiredFeatures → Chatbot → Bot Credentials
Secret Token❌✅ RequiredFeatures → Team Chat Subscriptions

Step 5: Configure Scopes

Navigate to Scopes page in your app.

Team Chat API Scopes

Manually add these scopes:

  • chat_message:write - Send messages

  • chat_message:read - Read messages

  • chat_channel:read - List channels

  • chat_channel:write - Create/manage channels

Chatbot API Scopes

When you enable Team Chat Subscription, these scopes are automatically added:

  • imchat:bot - Basic chatbot functionality

  • team_chat:read:list_user_channels:admin - List channels

  • team_chat:read:list_members:admin - List members

Step 6: Create .env File

For Team Chat API (User-Level)
# .env file
ZOOM_CLIENT_ID=your_client_id_here
ZOOM_CLIENT_SECRET=your_client_secret_here
ZOOM_REDIRECT_URI=http://YOUR_DEV_HOST:4000/auth/callback

PORT=4000
For Chatbot API (Bot-Level)
# .env file
ZOOM_CLIENT_ID=your_client_id_here
ZOOM_CLIENT_SECRET=your_client_secret_here
[email protected]
ZOOM_VERIFICATION_TOKEN=your_webhook_secret_token
ZOOM_ACCOUNT_ID=your_account_id

PORT=4000
.env.example Template

Create this file in your project root:

# Zoom App Credentials (Required for both APIs)
ZOOM_CLIENT_ID=
ZOOM_CLIENT_SECRET=
ZOOM_REDIRECT_URI=http://YOUR_DEV_HOST:4000/auth/callback

# Chatbot Credentials (Required for Chatbot API only)
ZOOM_BOT_JID=
ZOOM_VERIFICATION_TOKEN=
ZOOM_ACCOUNT_ID=

# Server Configuration
PORT=4000

Step 7: Test Your App

On the Local Test page:

7.1 Add App to Your Account
  1. Click Add App Now

  2. Click Allow to authorize the app

  3. You'll be redirected to your OAuth redirect URL

7.2 Preview App Listing

Click Preview Your App Listing Page to see how your app appears in the marketplace.

7.3 Share with Team Members

To share your app with other users on your account:

  1. Go to Authorization URL section

  2. Click Generate

  3. Click Copy

  4. Share the URL with your team members

Note: Beta apps can only be installed by members of the developer's Zoom account (security restriction).

Common Setup Issues

IssueCauseSolution
Bot JID not visibleChatbot feature not enabledGo to Features tab, toggle Chatbot ON
Can't find Secret TokenTeam Chat Subscription not enabledEnable Team Chat Subscription in Features → Surface
OAuth redirect errorRedirect URL not in allow listAdd full redirect URL to OAuth allow lists
Scopes not appearingWrong app typeVerify you created General App (OAuth), not S2S
App can't be addedMissing required configurationComplete all steps in Basic Info and Features

Verification Checklist

Before proceeding to development, verify:

  • [ ] Created General App (OAuth) (not Server-to-Server)

  • [ ] Selected appropriate App Management Type

  • [ ] Configured OAuth redirect URL

  • [ ] Added URLs to OAuth allow lists

  • [ ] Enabled Team Chat in Surface tab (for chatbots)

  • [ ] Configured Team Chat Subscription (for chatbots)

  • [ ] Added all required scopes

  • [ ] Obtained all required credentials

  • [ ] Created .env file with credentials

  • [ ] Successfully added app to your account

Next Steps

For Team Chat API:
  1. Authentication Flows - Understand OAuth

  2. OAuth Setup Example - Implement OAuth

  3. Send Message Example - Send first message

For Chatbot API:
  1. Webhook Architecture - Understand webhooks

  2. Chatbot Setup Example - Build your bot

  3. Message Cards Reference - Create rich messages

Resources

Requirements and compatibility

Written for: OpenAI Codex

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

What our scanner noticed· Medium risk

  • Possible data-exfiltration endpoints
  • Instructions that use the network

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
Zoom
Publisher
OpenAI (Official)
Distributed by
OpenAI
Source
openai/plugins · plugins/zoom/skills/team-chat · commit d420d13
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from plugins/zoom/LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Zoom or OpenAI.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download build-zoom-team-chat-app.zip