Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,14 @@
"name": "Tribe AI"
}
},
{
"name": "zoom-plugin",
"source": "./partner-built/zoom-plugin",
"description": "Plan, build, and debug Zoom integrations across REST APIs, Meeting SDK, Video SDK, webhooks, bots, and MCP workflows. Search meetings, retrieve recordings, access transcripts, and design AI-powered Zoom experiences.",
"author": {
"name": "Zoom"
}
},
{
"name": "planetscale",
"description": "An authenticated hosted MCP server that accesses your PlanetScale organizations, databases, branches, schema, and Insights data. Query against your data, surface slow queries, and get organizational and account information.",
Expand Down
22 changes: 22 additions & 0 deletions partner-built/zoom-plugin/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "zoom-plugin",
"description": "Claude plugin for planning, building, and debugging Zoom integrations across REST APIs, SDKs, webhooks, bots, and MCP workflows",
"version": "1.1.0",
"homepage": "https://developers.zoom.us/",
"repository": "https://github.com/zoom/zoom-plugin",
"license": "MIT",
"keywords": [
"zoom",
"claude-plugin",
"rest-api",
"meeting-sdk",
"video-sdk",
"webhooks",
"oauth",
"mcp"
],
"author": {
"name": "Zoom",
"url": "https://github.com/zoom/zoom-plugin"
}
}
25 changes: 25 additions & 0 deletions partner-built/zoom-plugin/.mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"mcpServers": {
"zoom-mcp": {
"type": "http",
"url": "https://mcp-us.zoom.us/mcp/zoom/streamable",
"headers": {
"Authorization": "Bearer ${ZOOM_MCP_ACCESS_TOKEN}"
}
},
"zoom-docs-mcp": {
"type": "http",
"url": "https://mcp.zoom.us/mcp/docs/streamable",
"headers": {
"Authorization": "Bearer ${ZOOM_DOCS_MCP_ACCESS_TOKEN}"
}
},
"zoom-whiteboard-mcp": {
"type": "http",
"url": "https://mcp-us.zoom.us/mcp/whiteboard/streamable",
"headers": {
"Authorization": "Bearer ${ZOOM_WHITEBOARD_MCP_ACCESS_TOKEN}"
}
}
}
}
39 changes: 39 additions & 0 deletions partner-built/zoom-plugin/AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Zoom Plugin

Cross-platform discovery file for agent tools that look for `AGENTS.md`.

## What This Repo Provides

This repository contains a Zoom developer plugin centered on `SKILL.md`-based workflows and reference material.

Primary capabilities:
- choose the right Zoom surface for a use case
- plan Zoom integrations across REST APIs, SDKs, webhooks, OAuth, and MCP
- debug broken Zoom integrations
- build focused Zoom implementations for meetings, bots, chat, phone, contact center, and virtual agent workflows
- provide deep product-specific reference material under `skills/`

## Primary Entry Skills

- `skills/start/SKILL.md` — default routing entry point
- `skills/plan-zoom-product/SKILL.md` — pick the right Zoom developer product
- `skills/plan-zoom-integration/SKILL.md` — turn an idea into an implementation plan
- `skills/setup-zoom-oauth/SKILL.md` — choose the auth model and redirect flow
- `skills/build-zoom-meeting-app/SKILL.md` — implement an embedded or managed meeting app
- `skills/build-zoom-bot/SKILL.md` — implement a meeting bot or recorder
- `skills/debug-zoom/SKILL.md` — isolate the failing integration layer
- `skills/setup-zoom-mcp/SKILL.md` — plan a Zoom MCP workflow for Claude

## Repo Shape

- `.claude-plugin/plugin.json` — Claude plugin manifest
- `.mcp.json` — bundled Zoom MCP server definition
- `skills/` — all plugin skills and supporting references
- `README.md` — user-facing overview
- `CONNECTORS.md` — bundled MCP connector notes

## Usage Notes

- For Claude Code, install or load this as a plugin.
- For other agent ecosystems, treat the `skills/` tree as the primary reusable asset.
- Workflow skills are the front door; product-specific folders under `skills/` are supporting references.
12 changes: 12 additions & 0 deletions partner-built/zoom-plugin/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Changelog

All notable changes to this plugin are documented in this file.

## Unreleased

- aligned the repository with the current Claude plugin structure around `.claude-plugin/plugin.json`, `skills/`, and `.mcp.json`
- added Claude-facing installation and connector documentation
- converted command-style workflows into `SKILL.md`-based workflows under `skills/`
- bundled the main Zoom MCP server configuration in `.mcp.json`
- removed the Whiteboard MCP server from the bundled plugin surface
- tightened skill metadata and reduced maintainer-facing wording in user-facing docs
49 changes: 49 additions & 0 deletions partner-built/zoom-plugin/CONNECTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Connectors

This plugin works in two modes:

- Standalone: Claude uses the bundled Zoom skills and reference material included with this plugin.
- Supercharged: Claude can also use the bundled Zoom MCP servers from [`.mcp.json`](./.mcp.json) for live tool access.

## Included MCP Servers

| Connector | Endpoint | Use For |
|---|---|---|
| `zoom-mcp` | `https://mcp-us.zoom.us/mcp/zoom/streamable` | Zoom-hosted MCP workflows for meetings, recordings, summaries, and meeting assets |
| `zoom-docs-mcp` | `https://mcp.zoom.us/mcp/docs/streamable` | Zoom Docs creation, retrieval, and Markdown-based document workflows |
| `zoom-whiteboard-mcp` | `https://mcp-us.zoom.us/mcp/whiteboard/streamable` | Whiteboard-specific MCP workflows |

## Authentication

The bundled MCP definitions expect bearer tokens in these environment variables:

```bash
export ZOOM_MCP_ACCESS_TOKEN="your_zoom_user_oauth_access_token"
export ZOOM_DOCS_MCP_ACCESS_TOKEN="your_zoom_docs_mcp_access_token"
export ZOOM_WHITEBOARD_MCP_ACCESS_TOKEN="your_zoom_user_oauth_access_token"
```

- `ZOOM_MCP_ACCESS_TOKEN` is used for the main Zoom MCP server.
- `ZOOM_DOCS_MCP_ACCESS_TOKEN` is used for the Zoom Docs MCP server.
- `ZOOM_WHITEBOARD_MCP_ACCESS_TOKEN` is used for the Whiteboard MCP server.
- If one OAuth token includes both the main Zoom MCP scopes and the Zoom Docs MCP scopes, both variables can use the same value.
- After setting or rotating any of these tokens, restart Claude Code or re-enable the plugin so the MCP servers restart with the new environment.

## What You Can Do Without Connectors

- Choose the right Zoom surface for a new integration
- Plan SDK, REST API, webhook, OAuth, and MCP implementations
- Compare Meeting SDK vs Video SDK vs Zoom Apps vs REST API
- Debug architecture, auth, event-delivery, and integration mistakes
- Use the deep Zoom reference library bundled in `skills/`

## What Connectors Add

- Live MCP tool discovery and execution against Zoom-hosted MCP servers
- Real meeting-search, recording-resource, and document workflows
- Whiteboard-specific tool access when applicable

## Notes

- If a command or skill mentions connectors and you are not connected, continue in standalone mode using the reference docs.
- If you are unsure which connector is relevant, start with [`/setup-zoom-mcp`](./skills/setup-zoom-mcp/SKILL.md).
186 changes: 186 additions & 0 deletions partner-built/zoom-plugin/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
# Contributing to Zoom Developer Platform Agent Skills

Thank you for your interest in contributing! This document provides guidelines for contributing to these Agent Skills.

## Ways to Contribute

You can contribute in any of these ways:

1. Submit a pull request with improvements.
2. Raise an issue on GitHub for bugs, gaps, or enhancement ideas.
3. Reach out on the [Zoom Developer Forum](https://devforum.zoom.us/) with feedback and improvement suggestions for these agent skills.

### 1. Report Issues
- Documentation errors or outdated information
- Missing use cases or scenarios
- Incorrect code examples

### 2. Improve Documentation
- Fix typos and clarify explanations
- Add missing code examples
- Update for new SDK versions

### 3. Add New Skills
- New use cases
- New platform coverage
- New integration patterns

## Contribution Process

### For Small Changes (typos, clarifications)

1. Fork the repository
2. Make your changes
3. Submit a pull request with a clear description

### For Larger Changes (new use cases, skills)

1. Open an issue first to discuss the proposed change
2. Fork the repository
3. Create a feature branch
4. Follow the skill format guidelines below
5. Submit a pull request

## Skill Format Guidelines

### SKILL.md Structure

```markdown
---
name: skill-name
description: |
Brief description (1-3 sentences).
Include when to use this skill.
---

# Skill Title

[Content following the template in PLAN.md]
```

### Guidelines

1. **Keep SKILL.md under 500 lines** - Move details to `references/`
2. **Max 3 directory levels** - `skill/references/file.md`
3. **Include code examples** - Real, working code developers can use
4. **Document gotchas** - Common mistakes and limitations
5. **Link to official sources** - Prefer Zoom documentation

### Maintenance Checklist

Use this checklist before merging documentation or skill changes:

1. Confirm you are editing the correct skill or product folder.
2. Keep `SKILL.md` as the entrypoint in every skill directory.
3. If examples include credentials, reference `.env` keys rather than hardcoded values.
4. Never commit machine-local absolute paths or machine-specific endpoints.
5. After moving or renaming docs, update cross-links from the relevant parent `SKILL.md` files.
6. Verify frontmatter stays accurate: `name`, `description`, and any optional fields such as `triggers`, `argument-hint`, or `user-invocable`.
7. Remove dead links and stale product claims after any refactor or version update.
8. Make sure every new markdown file is reachable from at least one parent navigation file.
9. Track deprecations and renames explicitly so future updates remain migration-safe.

### Repository Naming Conventions

- Keep canonical skill folder names aligned with [skills/start/SKILL.md](skills/start/SKILL.md).
- Current canonical folders include:
- `general`, `rest-api`, `webhooks`, `websockets`, `meeting-sdk`, `video-sdk`, `zoom-apps-sdk`
- `rtms`, `team-chat`, `ui-toolkit`, `cobrowse-sdk`, `oauth`, `zoom-mcp`
- `contact-center`, `virtual-agent`, `phone`, `rivet-sdk`, `probe-sdk`

### Markdown Linking Rules (Required)

- Use real markdown links for local docs (for example: `text -> docs/example.md`).
- Do not use backticks for local doc references if you want them counted in relationship graphs.
- Use repository-relative paths; do not commit machine-local absolute paths (for example `/home/your-user/...`).
- Every new `.md` file should be linked from at least one parent/index/`SKILL.md` file.

## Using Claude for Contributions

You can use Claude (or other AI assistants) to help create or improve skills:

### Recommended Workflow

1. **Research Phase**
```
Research the official Zoom documentation for [topic].
Check the developer forum for common issues.
Find working code examples.
```

2. **Drafting Phase**
```
Create a skill following the SKILL.md template.
Include practical code examples.
Document known limitations and gotchas.
```

3. **Validation Phase**
```
Cross-check all information with official Zoom docs.
Verify code examples are syntactically correct.
Ensure links are valid.
```

### Claude-Specific Tips

- **Be specific**: "Create a use case for RTMS audio streaming to S3" not "write about RTMS"
- **Provide context**: Share relevant existing skills as examples
- **Iterate**: Review drafts and ask for improvements
- **Verify**: Always cross-check AI-generated content with official sources

### What Claude Can Help With

| Task | How Claude Helps |
|------|------------------|
| Research | Search docs, forums, GitHub for information |
| Drafting | Create initial skill content following templates |
| Code examples | Generate working code snippets |
| Cross-referencing | Check consistency across skills |
| Formatting | Ensure markdown is correct |

### What Requires Human Review

| Task | Why Human Review |
|------|------------------|
| Technical accuracy | AI may hallucinate APIs or features |
| Real-world gotchas | Comes from actual development experience |
| Business logic | Zoom-specific requirements and policies |
| Security practices | Must be verified against official guidance |

## Quality Standards

### Do

- Verify all claims with official documentation
- Include working, tested code examples
- Document known limitations prominently
- Link to official resources
- Keep examples simple and practical
- Check that moved or renamed docs still have inbound links
- Remove outdated guidance that no longer matches the current plugin structure

### Don't

- Include unverified information
- Speculate about undocumented behavior
- Copy proprietary code without permission
- Include outdated or deprecated APIs without noting it
- Over-engineer examples

## Code of Conduct

- Be respectful and constructive
- Focus on improving the documentation
- Credit sources appropriately
- Follow Zoom's developer terms of service

## Questions?

- Open a GitHub issue for questions about contributing
- Check existing issues before creating new ones
- Join the [Zoom Developer Forum](https://devforum.zoom.us/) for Zoom-specific questions, feedback, and improvement requests for these agent skills

## License

By contributing, you agree that your contributions will be licensed under the MIT License.
21 changes: 21 additions & 0 deletions partner-built/zoom-plugin/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2025 Zoom Video Communications, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Loading