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

RUNBOOK.md

Team Chat 5-Minute Preflight Runbook

Use this before deep debugging. It catches the most common Team Chat failures fast.

Skill Doc Standard Note

  • Agent-skill standard entrypoint is SKILL.md.

  • This runbook is an operational convention (recommended), not a required skill file.

  • SKILL.md is also a navigation convention for larger skill docs.

1) Confirm Integration Type

  • User type (Team Chat API): user OAuth + /v2/chat/users/...

  • Bot type (Chatbot API): client credentials + /v2/im/chat/messages

If this is wrong, everything else will fail.

2) Confirm OAuth Endpoints

  • Authorize URL: https://zoom.us/oauth/authorize

  • Token URL: https://zoom.us/oauth/token

If token requests hit /oauth/token, expect 404/HTML.

3) Confirm Runtime Env Loading

If credentials are split by mode, verify your server loads the actual files at runtime:

  • project/team-chat-api/.env

  • project/chatbot-api/.env

Do not assume root .env is enough.

4) Confirm App Routes + Reverse Proxy

  • Current demo pages:

    • /team-chat/user-demo

    • /team-chat/bot-demo

  • API path should resolve: /team-chat/api/*

If browser calls old routes (/api/channel/*) and gets 404, either update frontend or keep compatibility routes.

5) Run Curl Probes

Use backend probes before browser debugging.

TEAM_CHAT_BASE_URL="http://YOUR_HOST:YOUR_PORT"

curl -sS "$TEAM_CHAT_BASE_URL/team-chat/api/config"
curl -sS -i "$TEAM_CHAT_BASE_URL/team-chat/api/bot/token"
curl -sS -i "$TEAM_CHAT_BASE_URL/team-chat/api/channel/list"

Expected:

  • api/config shows required flags as configured.

  • api/bot/token should return JSON (200 or actionable 4xx), never HTML 404 page.

  • api/channel/list returns validation errors or data, not generic 404.

6) Browser-Specific Reality Check

ERR_BLOCKED_BY_CLIENT usually means extension/adblock/privacy filter interference.

  • Re-test in Incognito.

  • Temporarily disable blockers for host.

  • Validate with curl first.

7) User OAuth Callback Flow (In-App)

For user-demo, avoid manual copy/paste flow:

  1. UI button triggers backend authorize URL generation with state.

  2. Browser redirects to Zoom consent page.

  3. Callback validates state and exchanges code server-side.

  4. Token is stored where UI expects (session/db/local storage for demo).

  5. Redirect back to user-demo.

If callback returns but token is missing, focus on state validation and persistence path.

8) Fast Decision Tree

  • 404 on bot token -> check token URL (/oauth/token), then proxy path.

  • All channel APIs 404 -> route mismatch (old UI vs new backend routes).

  • OAuth works but sends fail -> wrong scopes or app type mismatch.

  • Works by curl but fails in browser -> blocked client/cached old JS.

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