instrument-data-to-all…
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D…
Reference skill for Zoom Team Chat. Use after routing to a chat workflow when building user-scoped messaging integrations, chatbot experiences, rich cards, buttons, slash commands, or chat webhooks.
Claude Code
$ npx -y skills add anthropics/knowledge-work-plugins --skill team-chat --agent claude-code
Codex
$ npx skills add anthropics/knowledge-work-plugins --skill team-chat -a codex -y
Cursor
$ npx skills add anthropics/knowledge-work-plugins --skill team-chat -a cursor -y
Gemini CLI
$ npx skills add anthropics/knowledge-work-plugins --skill team-chat -a gemini-cli -y
GitHub Copilot
$ npx skills add anthropics/knowledge-work-plugins --skill team-chat -a github-copilot -y
OpenCode
$ npx skills add anthropics/knowledge-work-plugins --skill team-chat -a opencode -y
Windsurf
$ npx skills add anthropics/knowledge-work-plugins --skill team-chat -a windsurf -y
name: build-zoom-team-chat-app description: "Reference skill for Zoom Team Chat. Use after routing to a chat workflow when building user-scoped messaging integrations, chatbot experiences, rich cards, buttons, slash commands, or chat webhooks." triggers: - "zoom team chat" - "zoom chatbot" - "zoom messaging" - "team chat api" - "chatbot api" - "zoom slash commands" - "zoom chat integration"
Background reference for Zoom Team Chat integrations. Use this after the workflow is clear, especially when the Team Chat API versus Chatbot API distinction matters.
There are two different integration types and they are not interchangeable:
1. **Team Chat API (user type)**
2. **Chatbot API (bot type)**
If you choose the wrong type early, auth/scopes/endpoints all mismatch and implementation fails.
**Official Documentation**: https://developers.zoom.us/docs/team-chat/ **Chatbot Documentation**: https://developers.zoom.us/docs/team-chat/chatbot/extend/ **API Reference**: https://developers.zoom.us/docs/api/rest/reference/chatbot/
**New to Team Chat? Follow this path:**
1. **[Get Started](get-started.md)** - End-to-end fast path (user type vs bot type) 2. **[Choose Your API](concepts/api-selection.md)** - Team Chat API vs Chatbot API 3. **[Environment Setup](concepts/environment-setup.md)** - Credentials, scopes, app configuration 4. **[OAuth Setup](examples/oauth-setup.md)** - Complete authentication flow 5. **[Send First Message](examples/send-message.md)** - Working code to send messages
**Reference:**
**Having issues?**
**OAuth endpoint sanity check:**
**Building Interactive Bots?**
| Use Case | API to Use | |----------|------------| | Send notifications from scripts/CI/CD | **Team Chat API** | | Automate messages as a user | **Team Chat API** | | Build an interactive chatbot | **Chatbot API** | | Respond to slash commands | **Chatbot API** | | Create messages with buttons/forms | **Chatbot API** | | Handle user interactions | **Chatbot API** |
1. Go to [Zoom App Marketplace](https://marketplace.zoom.us/) 2. Click **Develop** → **Build App** 3. Select **General App** (OAuth)
> ⚠️ **Do NOT use Server-to-Server OAuth** - S2S apps don't have the Chatbot/Team Chat feature. Only General App (OAuth) supports chatbots.
From Zoom Marketplace → Your App:
| Credential | Location | Used By | |------------|----------|---------| | Client ID | App Credentials → Development | Both APIs | | Client Secret | App Credentials → Development | Both APIs | | Account ID | App Credentials → Development | Chatbot API | | Bot JID | Features → Chatbot → Bot Credentials | Chatbot API | | Secret Token | Features → Team Chat Subscriptions | Chatbot API |
**See**: [Environment Setup Guide](concepts/environment-setup.md) for complete configuration steps.
Send a message as a user:
// 1. Get access token via OAuth
const accessToken = await getOAuthToken(); // See examples/oauth-setup.md
// 2. Send message to channel
const response = await fetch('https://api.zoom.us/v2/chat/users/me/messages', {
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
message: 'Hello from CI/CD pipeline!',
to_channel: 'CHANNEL_ID'
})
});
const data = await response.json();
// { "id": "msg_abc123", "date_time": "2024-01-15T10:30:00Z" }**Complete example**: [Send Message Guide](examples/send-message.md)
Build an interactive chatbot:
// 1. Get chatbot token (client_credentials)
async function getChatbotToken() {
const credentials = Buffer.from(
`${CLIENT_ID}:${CLIENT_SECRET}`Plugins that turn Claude into a specialist for your role, team, and company. Built for Claude Cowork, also compatible with Claude Code.
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D…
Run nf-core bioinformatics pipelines (rnaseq, sarek, atacseq) on sequencing data. Use when analyzing RNA-seq, WGS/WES, or…
This skill should be used when scientists need help with research problem selection, project ideation, troubleshooting stuck…
Deep learning for single-cell analysis using scvi-tools. This skill should be used when users need (1) data integration and batch…
Performs quality control on single-cell RNA-seq data (.h5ad or .h5 files) using scverse best practices with MAD-based filtering…
Set up your bio-research environment and explore available tools. Use when first getting oriented with the plugin, checking which…
Turn repeatable outputs of a one-person company into compounding assets. Use when Codex needs to explain asset-compounding…
dontbesilent 商业工具箱的技能调度台,根据当前问题和反馈选择下一步,在对话中直接执行、澄清、组合或对照尝试 Skill。用户不知道从哪里开始、需要调整处理方法、第一次使用…
Help define company values and culture for a minimalist business. Use when someone is setting up their company culture, preparing…