{
  "markdown": "# Zoom Plugin\n\nA Claude plugin for planning, building, and debugging Zoom integrations. It helps choose the right Zoom surface, shape implementations, debug failures, and route into the right Zoom references without making the user read the whole doc tree first.\n\n## Installation\n\nInstall this directory as a local Claude plugin. The plugin manifest is at [`.claude-plugin/plugin.json`](.claude-plugin/plugin.json) and the bundled Zoom MCP connectors are defined in [`.mcp.json`](.mcp.json).\n\nAuthentication path depends on the Claude product:\n\n- **Claude Cowork**: use the published Zoom connector in Claude's connector directory and complete OAuth there.\n- **Claude Code**: complete Zoom user-level OAuth yourself, export bearer tokens for the Zoom surfaces you want Claude to use, then reconnect the plugin and use `/setup-zoom-mcp`.\n\nFor Claude Code, export the bearer tokens before using the bundled MCP servers:\n\n```bash\nexport ZOOM_MCP_ACCESS_TOKEN=\"your_zoom_user_oauth_access_token\"\nexport ZOOM_MEETINGS_MCP_ACCESS_TOKEN=\"your_zoom_user_oauth_access_token\"\nexport ZOOM_CANVAS_MCP_ACCESS_TOKEN=\"your_zoom_user_oauth_access_token\"\nexport ZOOM_CHAT_MCP_ACCESS_TOKEN=\"your_zoom_user_oauth_access_token\"\nexport ZOOM_TASKS_MCP_ACCESS_TOKEN=\"your_zoom_user_oauth_access_token\"\nexport ZOOM_REVENUE_ACCELERATOR_MCP_ACCESS_TOKEN=\"your_zoom_user_oauth_access_token\"\nexport ZOOM_WHITEBOARD_MCP_ACCESS_TOKEN=\"your_zoom_user_oauth_access_token\"\n```\n\nThe same access token can be assigned to each variable when the General App includes the\nscopes required by all selected MCP servers. Use separate tokens if you want to keep server\npermissions isolated.\n\n## Slash Workflows\n\nExplicit slash workflows implemented as skills under `skills/`:\n\n| Workflow | Description |\n|---|---|\n| [`/start`](skills/start/SKILL.md) | Start with a Zoom app idea and get routed to the right product and build path |\n| [`/setup-zoom-marketplace-app`](skills/setup-zoom-marketplace-app/SKILL.md) | Select, create, update, or validate the app model, manifest, scopes, events, and credentials for a Zoom integration |\n| [`/setup-zoom-oauth`](skills/setup-zoom-oauth/SKILL.md) | Choose the auth model, scopes, and redirect flow for a Zoom app |\n| [`/build-zoom-meeting-app`](skills/build-zoom-meeting-app/SKILL.md) | Build an embedded or managed Zoom meeting flow |\n| [`/build-zoom-bot`](skills/build-zoom-bot/SKILL.md) | Build bots, recorders, and real-time meeting processors |\n| [`/debug-zoom`](skills/debug-zoom/SKILL.md) | Triage a broken Zoom integration and isolate the failing layer |\n| [`/setup-zoom-mcp`](skills/setup-zoom-mcp/SKILL.md) | Decide when Zoom MCP fits and set up a safe Claude workflow |\n| [`/build-zoom-rest-api-app`](skills/rest-api/SKILL.md) | Route into Zoom REST endpoints, scopes, and resource patterns |\n| [`/build-zoom-meeting-sdk-app`](skills/meeting-sdk/SKILL.md) | Route into embedded Zoom meeting implementation details |\n| [`/build-zoom-video-sdk-app`](skills/video-sdk/SKILL.md) | Route into custom video-session implementation details |\n| [`/setup-zoom-webhooks`](skills/webhooks/SKILL.md) | Set up Zoom webhook subscriptions, signature verification, and handlers |\n| [`/setup-zoom-websockets`](skills/websockets/SKILL.md) | Set up Zoom WebSocket event delivery when it fits better than webhooks |\n| [`/build-zoom-team-chat-app`](skills/team-chat/SKILL.md) | Build Team Chat user or chatbot integrations |\n| [`/build-zoom-phone-integration`](skills/phone/SKILL.md) | Build Zoom Phone integrations around Smart Embed, APIs, and events |\n| [`/build-zoom-contact-center-app`](skills/contact-center/SKILL.md) | Build Contact Center app, web, or native integrations |\n| [`/build-zoom-virtual-agent`](skills/virtual-agent/SKILL.md) | Build Virtual Agent web or mobile wrapper integrations |\n\n## Internal Routing Skills\n\nThese remain in the plugin as automatic routing helpers, but they are no longer part of the public slash-command surface:\n\n- [`start`](skills/start/SKILL.md)\n- [`plan-zoom-product`](skills/plan-zoom-product/SKILL.md)\n- [`plan-zoom-integration`](skills/plan-zoom-integration/SKILL.md)\n- [`choose-zoom-approach`](skills/choose-zoom-approach/SKILL.md)\n- [`design-mcp-workflow`](skills/design-mcp-workflow/SKILL.md)\n- [`debug-zoom-integration`](skills/debug-zoom-integration/SKILL.md)\n\n## Deep References\n\nThe plugin also keeps the original Zoom product-specific reference library under `skills/`. These are supporting references, not the primary entry surface:\n\n- [`skills/general/`](skills/general/)\n- [`skills/rest-api/`](skills/rest-api/)\n- [`skills/meeting-sdk/`](skills/meeting-sdk/)\n- [`skills/video-sdk/`](skills/video-sdk/)\n- [`skills/webhooks/`](skills/webhooks/)\n- [`skills/websockets/`](skills/websockets/)\n- [`skills/oauth/`](skills/oauth/)\n- [`skills/team-chat/`](skills/team-chat/)\n- [`skills/scribe/`](skills/scribe/)\n- [`skills/summarizer/`](skills/summarizer/)\n- [`skills/translator/`](skills/translator/)\n- [`skills/zoom-mcp/`](skills/zoom-mcp/)\n- [`skills/zoom-mcp/team-chat/`](skills/zoom-mcp/team-chat/)\n- [`skills/zoom-mcp/whiteboard/`](skills/zoom-mcp/whiteboard/)\n- [`skills/zoom-mcp/references/servers.md`](skills/zoom-mcp/references/servers.md)\n\n## Example Workflows\n\n### Starting from a Zoom app idea\n\n```text\n/start Build an internal meeting assistant that joins calls, extracts action items, and stores summaries\n```\n\n### Planning a new app\n\n```text\n/start Build a React app that lets customers schedule and join Zoom meetings from our product\n```\n\n### Setting up the Marketplace app\n\n```text\n/setup-zoom-marketplace-app Create the minimum user-managed General App manifest for a meeting API workflow with webhooks\n```\n\nFor programmatic Marketplace app creation from Claude Code, register the separately hosted helper\nMCP server first:\n\n```bash\nclaude mcp add --transport http \\\n  zoom-marketplace-helper \\\n  https://marketplacehelper.asdc.cc/mcp\n```\n\nThen run `/setup-zoom-marketplace-app`. When the helper tools are connected, the skill selects\n`zoom-marketplace-helper` automatically, previews the intended account change, asks for\nconfirmation, and verifies the resulting app after the write.\nThe helper is external to this plugin and its MCP endpoint must already be reachable by Claude Code.\nIf the helper endpoint changes, re-register the Claude Code MCP server with the new `/mcp` URL.\nThis helper URL only connects Claude Code to the helper. Never use it, the helper operator's\nOAuth client ID, or the helper operator's OAuth callback in a Marketplace app created for a user.\nThat app must use the user's own credentials and HTTPS endpoints.\n\n#### Test a new app without deploying it\n\nIf you do not have an existing HTTPS server for the app yet, expose your local app with a\ntemporary tunnel before creating the Marketplace app. This lets you test the OAuth redirect,\nZoom App home URL, and webhook endpoints through the app you are running locally.\n\nStart the app locally, for example on port `3000`, then choose one tunnel:\n\n```bash\n# ngrok\nngrok http 3000\n\n# Or Cloudflare Tunnel\ncloudflared tunnel --url http://localhost:3000\n```\n\nUse the HTTPS tunnel URL in the app configuration, with the actual routes implemented by your\nlocal server. For example:\n\n```text\nHome URL:              https://YOUR_TUNNEL_HOST/\nOAuth redirect URL:    https://YOUR_TUNNEL_HOST/oauth/callback\nWebhook endpoint URL:  https://YOUR_TUNNEL_HOST/webhooks/zoom\n```\n\nIf the user already has a hosted HTTPS service, use its routes instead. Build the OAuth\nauthorization URL with the client ID Zoom issues for the user's app and the exact redirect URL\nconfigured for that app. Do not copy a maintainer, helper, sample, or previous user's OAuth URL.\n\nThe tunnel only forwards requests; it does not create these routes or handle OAuth and webhook\nvalidation for you. Free or ephemeral tunnel URLs can change, so update the Marketplace app\nconfiguration and any generated manifest values whenever the tunnel hostname changes. Use a\ndeployed HTTPS service or a reserved tunnel hostname when the URL must remain stable.\n\nBefore asking `zoom-marketplace-helper` to create or update the app, provide the current tunnel\nhost and route paths. After every tunnel restart, update the development OAuth redirect URL and\nOAuth allow list, development home URL, and development webhook URL before testing. Keep the\nproduction URLs unchanged unless you intentionally want to test the tunnel as production.\n\nThe app tunnel and the helper MCP endpoint are separate concerns and their URLs are not\ninterchangeable. If both are running locally,\neach service needs a publicly reachable HTTPS URL, or the helper can be deployed while only the\napp uses a local tunnel.\n\n### Debugging a broken webhook\n\n```text\n/debug-zoom My Zoom webhook signature verification fails in production but not locally\n```\n\n### Designing an MCP flow\n\n```text\n/setup-zoom-mcp I want Claude to search meetings, pull recording resources, and create follow-up docs\n```\n\n## Connectors\n\nSee [CONNECTORS.md](CONNECTORS.md). The plugin works standalone from the bundled skills, and gets supercharged when Claude can use the bundled Zoom MCP servers from [`.mcp.json`](.mcp.json).\n\nThe current official Zoom MCP catalog contains the main Zoom MCP, Meetings, Canvas, Chat, Tasks,\nRevenue Accelerator, and Whiteboard servers. All 7 current server definitions are bundled in\n[`.mcp.json`](.mcp.json); the complete inventory and current endpoints are in\n[`skills/zoom-mcp/references/servers.md`](skills/zoom-mcp/references/servers.md).\nFor new document workflows, prefer Zoom Canvas MCP. For new chat workflows, prefer Zoom Chat MCP.\n\n## Cross-Platform Notes\n\nThis repo is packaged first as a Claude plugin, but it also includes [AGENTS.md](AGENTS.md) for agent ecosystems that use a repo-level discovery file. The reusable core remains the `skills/` tree and its `SKILL.md` files.\n\n## Structure\n\n```text\nZoom Plugin/\n├── .claude-plugin/plugin.json\n├── .mcp.json\n├── CONNECTORS.md\n├── skills/\n│   ├── plan-zoom-product/\n│   ├── plan-zoom-integration/\n│   ├── debug-zoom/\n│   ├── setup-zoom-mcp/\n│   ├── scribe/\n│   ├── summarizer/\n│   ├── translator/\n│   ├── start/\n│   ├── choose-zoom-approach/\n│   ├── setup-zoom-oauth/\n│   ├── build-zoom-meeting-app/\n│   ├── build-zoom-bot/\n│   ├── design-mcp-workflow/\n│   ├── debug-zoom-integration/\n│   └── ... existing Zoom reference skills\n└── README.md\n```\n\n## License\n\nMIT\n",
  "bytes": 10390,
  "sha": "167cfd79f4b0b465a2113718a252bc527110e9f914e468d5cbfa6d76fd3a5ef6",
  "repo_slug": "zoom/zoom-plugin",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_zoom_zoom_plugin_zoom_plugin_02b16cb7/readme"
}