[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-anthropic-build-zoom-team-chat-app":3,"mdc--mxdwm6-key":37,"related-repo-anthropic-build-zoom-team-chat-app":7480,"related-org-anthropic-build-zoom-team-chat-app":7599},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"build-zoom-team-chat-app","build Zoom Team Chat applications","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.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"anthropic","Anthropic","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fanthropic.png","anthropics",[13,17,20,23],{"name":14,"slug":15,"type":16},"Messaging","messaging","tag",{"name":18,"slug":19,"type":16},"API Development","api-development",{"name":21,"slug":22,"type":16},"Zoom","zoom",{"name":24,"slug":25,"type":16},"Webhooks","webhooks",22885,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fknowledge-work-plugins","2026-04-10T04:56:25.196965",null,2736,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"Open source repository of plugins primarily intended for knowledge workers to use in Claude Cowork","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fknowledge-work-plugins\u002Ftree\u002FHEAD\u002Fpartner-built\u002Fzoom-plugin\u002Fskills\u002Fteam-chat","---\nname: build-zoom-team-chat-app\ndescription: \"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.\"\ntriggers:\n  - \"zoom team chat\"\n  - \"zoom chatbot\"\n  - \"zoom messaging\"\n  - \"team chat api\"\n  - \"chatbot api\"\n  - \"zoom slash commands\"\n  - \"zoom chat integration\"\n---\n\n# \u002Fbuild-zoom-team-chat-app\n\nBackground reference for Zoom Team Chat integrations. Use this after the workflow is clear, especially when the Team Chat API versus Chatbot API distinction matters.\n\n## Read This First (Critical)\n\nThere are two different integration types and they are not interchangeable:\n\n1. **Team Chat API (user type)**\n   - Sends messages as a real authenticated user\n   - Uses **User OAuth** (`authorization_code`)\n   - Endpoint family: `\u002Fv2\u002Fchat\u002Fusers\u002F...`\n\n2. **Chatbot API (bot type)**\n   - Sends messages as your bot identity\n   - Uses **Client Credentials** (`client_credentials`)\n   - Endpoint family: `\u002Fv2\u002Fim\u002Fchat\u002Fmessages`\n\nIf you choose the wrong type early, auth\u002Fscopes\u002Fendpoints all mismatch and implementation fails.\n\n**Official Documentation**: https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fteam-chat\u002F  \n**Chatbot Documentation**: https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fteam-chat\u002Fchatbot\u002Fextend\u002F  \n**API Reference**: https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fapi\u002Frest\u002Freference\u002Fchatbot\u002F\n\n## Quick Links\n\n**New to Team Chat? Follow this path:**\n\n1. **[Get Started](get-started.md)** - End-to-end fast path (user type vs bot type)\n2. **[Choose Your API](concepts\u002Fapi-selection.md)** - Team Chat API vs Chatbot API\n3. **[Environment Setup](concepts\u002Fenvironment-setup.md)** - Credentials, scopes, app configuration\n4. **[OAuth Setup](examples\u002Foauth-setup.md)** - Complete authentication flow\n5. **[Send First Message](examples\u002Fsend-message.md)** - Working code to send messages\n\n**Reference:**\n- **[Chatbot Message Cards](references\u002Fmessage-cards.md)** - Complete card component reference\n- **[Webhook Events](references\u002Fwebhook-events.md)** - All webhook event types\n- **[API Reference](references\u002Fapi-reference.md)** - Endpoints, methods, parameters\n- **[Sample Applications](references\u002Fsamples.md)** - 10+ official sample apps\n- **Integrated Index** - see the section below in this file\n\n**Having issues?**\n- Authentication errors → [OAuth Troubleshooting](troubleshooting\u002Foauth-issues.md)\n- Webhook not receiving events → [Webhook Setup Guide](troubleshooting\u002Fwebhook-issues.md)\n- Messages not sending → [Common Issues](troubleshooting\u002Fcommon-issues.md)\n- Start with quick checks → [5-Minute Runbook](RUNBOOK.md)\n\n**OAuth endpoint sanity check:**\n- Authorize URL: `https:\u002F\u002Fzoom.us\u002Foauth\u002Fauthorize`\n- Token URL: `https:\u002F\u002Fzoom.us\u002Foauth\u002Ftoken`\n- If `\u002Foauth\u002Ftoken` returns 404\u002FHTML, use `https:\u002F\u002Fzoom.us\u002Foauth\u002Ftoken`.\n\n**Building Interactive Bots?**\n- [Button Actions](examples\u002Fbutton-actions.md) - Handle button clicks\n- [Form Submissions](examples\u002Fform-submissions.md) - Process form data\n- [Slash Commands](examples\u002Fslash-commands.md) - Create custom commands\n\n## Quick Decision: Which API?\n\n| Use Case | API to Use |\n|----------|------------|\n| Send notifications from scripts\u002FCI\u002FCD | **Team Chat API** |\n| Automate messages as a user | **Team Chat API** |\n| Build an interactive chatbot | **Chatbot API** |\n| Respond to slash commands | **Chatbot API** |\n| Create messages with buttons\u002Fforms | **Chatbot API** |\n| Handle user interactions | **Chatbot API** |\n\n### Team Chat API (User-Level)\n- Messages appear as sent by **authenticated user**\n- Requires **User OAuth** (authorization_code flow)\n- Endpoint: `POST https:\u002F\u002Fapi.zoom.us\u002Fv2\u002Fchat\u002Fusers\u002Fme\u002Fmessages`\n- Scopes: `chat_message:write`, `chat_channel:read`\n\n### Chatbot API (Bot-Level)\n- Messages appear as sent by your **bot**\n- Requires **Client Credentials** grant\n- Endpoint: `POST https:\u002F\u002Fapi.zoom.us\u002Fv2\u002Fim\u002Fchat\u002Fmessages`\n- Scopes: `imchat:bot` (auto-added)\n- **Rich cards**: buttons, forms, dropdowns, images\n\n## Prerequisites\n\n### System Requirements\n\n- Zoom account\n- Account owner, admin, or **Zoom for developers** role enabled\n  - To enable: **User Management** → **Roles** → **Role Settings** → **Advanced features** → Enable **Zoom for developers**\n\n### Create Zoom App\n\n1. Go to [Zoom App Marketplace](https:\u002F\u002Fmarketplace.zoom.us\u002F)\n2. Click **Develop** → **Build App**\n3. Select **General App** (OAuth)\n\n> ⚠️ **Do NOT use Server-to-Server OAuth** - S2S apps don't have the Chatbot\u002FTeam Chat feature. Only General App (OAuth) supports chatbots.\n\n### Required Credentials\n\nFrom Zoom Marketplace → Your App:\n\n| Credential | Location | Used By |\n|------------|----------|---------|\n| Client ID | App Credentials → Development | Both APIs |\n| Client Secret | App Credentials → Development | Both APIs |\n| Account ID | App Credentials → Development | Chatbot API |\n| Bot JID | Features → Chatbot → Bot Credentials | Chatbot API |\n| Secret Token | Features → Team Chat Subscriptions | Chatbot API |\n\n**See**: [Environment Setup Guide](concepts\u002Fenvironment-setup.md) for complete configuration steps.\n\n## Quick Start: Team Chat API\n\nSend a message as a user:\n\n```javascript\n\u002F\u002F 1. Get access token via OAuth\nconst accessToken = await getOAuthToken(); \u002F\u002F See examples\u002Foauth-setup.md\n\n\u002F\u002F 2. Send message to channel\nconst response = await fetch('https:\u002F\u002Fapi.zoom.us\u002Fv2\u002Fchat\u002Fusers\u002Fme\u002Fmessages', {\n  method: 'POST',\n  headers: {\n    'Authorization': `Bearer ${accessToken}`,\n    'Content-Type': 'application\u002Fjson'\n  },\n  body: JSON.stringify({\n    message: 'Hello from CI\u002FCD pipeline!',\n    to_channel: 'CHANNEL_ID'\n  })\n});\n\nconst data = await response.json();\n\u002F\u002F { \"id\": \"msg_abc123\", \"date_time\": \"2024-01-15T10:30:00Z\" }\n```\n\n**Complete example**: [Send Message Guide](examples\u002Fsend-message.md)\n\n## Quick Start: Chatbot API\n\nBuild an interactive chatbot:\n\n```javascript\n\u002F\u002F 1. Get chatbot token (client_credentials)\nasync function getChatbotToken() {\n  const credentials = Buffer.from(\n    `${CLIENT_ID}:${CLIENT_SECRET}`\n  ).toString('base64');\n  \n  const response = await fetch('https:\u002F\u002Fzoom.us\u002Foauth\u002Ftoken', {\n    method: 'POST',\n    headers: {\n      'Authorization': `Basic ${credentials}`,\n      'Content-Type': 'application\u002Fx-www-form-urlencoded'\n    },\n    body: 'grant_type=client_credentials'\n  });\n  \n  return (await response.json()).access_token;\n}\n\n\u002F\u002F 2. Send chatbot message with buttons\nconst response = await fetch('https:\u002F\u002Fapi.zoom.us\u002Fv2\u002Fim\u002Fchat\u002Fmessages', {\n  method: 'POST',\n  headers: {\n    'Authorization': `Bearer ${accessToken}`,\n    'Content-Type': 'application\u002Fjson'\n  },\n  body: JSON.stringify({\n    robot_jid: process.env.ZOOM_BOT_JID,\n    to_jid: payload.toJid,           \u002F\u002F From webhook\n    account_id: payload.accountId,   \u002F\u002F From webhook\n    content: {\n      head: {\n        text: 'Build Notification',\n        sub_head: { text: 'CI\u002FCD Pipeline' }\n      },\n      body: [\n        { type: 'message', text: 'Deployment successful!' },\n        {\n          type: 'fields',\n          items: [\n            { key: 'Branch', value: 'main' },\n            { key: 'Commit', value: 'abc123' }\n          ]\n        },\n        {\n          type: 'actions',\n          items: [\n            { text: 'View Logs', value: 'view_logs', style: 'Primary' },\n            { text: 'Dismiss', value: 'dismiss', style: 'Default' }\n          ]\n        }\n      ]\n    }\n  })\n});\n```\n\n**Complete example**: [Chatbot Setup Guide](examples\u002Fchatbot-setup.md)\n\n## Key Features\n\n### Team Chat API\n\n| Feature | Description |\n|---------|-------------|\n| **Send Messages** | Post messages to channels or direct messages |\n| **List Channels** | Get user's channels with metadata |\n| **Create Channels** | Create public\u002Fprivate channels programmatically |\n| **Threaded Replies** | Reply to specific messages in threads |\n| **Edit\u002FDelete** | Modify or remove messages |\n\n### Chatbot API\n\n| Feature | Description |\n|---------|-------------|\n| **Rich Message Cards** | Headers, images, fields, buttons, forms |\n| **Slash Commands** | Custom `\u002Fcommands` trigger webhooks |\n| **Button Actions** | Interactive buttons with webhook callbacks |\n| **Form Submissions** | Collect user input with forms |\n| **Dropdown Selects** | Channel, member, date\u002Ftime pickers |\n| **LLM Integration** | Easy integration with Claude, GPT, etc. |\n\n## Webhook Events (Chatbot API)\n\n| Event | Trigger | Use Case |\n|-------|---------|----------|\n| `bot_notification` | User messages bot or uses slash command | Process commands, integrate LLM |\n| `bot_installed` | Bot added to account | Initialize bot state |\n| `interactive_message_actions` | Button clicked | Handle button actions |\n| `chat_message.submit` | Form submitted | Process form data |\n| `app_deauthorized` | Bot removed | Cleanup |\n\n**See**: [Webhook Events Reference](references\u002Fwebhook-events.md)\n\n## Message Card Components\n\nBuild rich interactive messages with these components:\n\n| Component | Description |\n|-----------|-------------|\n| **header** | Title and subtitle |\n| **message** | Plain text |\n| **fields** | Key-value pairs |\n| **actions** | Buttons (Primary, Danger, Default styles) |\n| **section** | Colored sidebar grouping |\n| **attachments** | Images with links |\n| **divider** | Horizontal line |\n| **form_field** | Text input |\n| **dropdown** | Select menu |\n| **date_picker** | Date selection |\n\n**See**: [Message Cards Reference](references\u002Fmessage-cards.md) for complete component catalog\n\n## Architecture Patterns\n\n### Chatbot Lifecycle\n\n```\nUser types \u002Fcommand → Webhook receives bot_notification\n                            ↓\n                     payload.cmd = \"user's input\"\n                            ↓\n                     Process command\n                            ↓\n                     Send response via sendChatbotMessage()\n```\n\n### LLM Integration Pattern\n\n```javascript\ncase 'bot_notification': {\n  const { toJid, cmd, accountId } = payload;\n  \n  \u002F\u002F 1. Call your LLM\n  const llmResponse = await callClaude(cmd);\n  \n  \u002F\u002F 2. Send response back\n  await sendChatbotMessage(toJid, accountId, {\n    body: [{ type: 'message', text: llmResponse }]\n  });\n}\n```\n\n**See**: [LLM Integration Guide](examples\u002Fllm-integration.md)\n\n## Sample Applications\n\n| Sample | Description | Link |\n|--------|-------------|------|\n| **Chatbot Quickstart** | Official tutorial (recommended start) | [GitHub](https:\u002F\u002Fgithub.com\u002Fzoom\u002Fchatbot-nodejs-quickstart) |\n| **Claude Chatbot** | AI chatbot with Anthropic Claude | [GitHub](https:\u002F\u002Fgithub.com\u002Fzoom\u002Fzoom-chatbot-claude-sample) |\n| **Unsplash Chatbot** | Image search with database | [GitHub](https:\u002F\u002Fgithub.com\u002Fzoom\u002Funsplash-chatbot) |\n| **ERP Chatbot** | Oracle ERP with scheduled alerts | [GitHub](https:\u002F\u002Fgithub.com\u002Fzoom\u002Fzoom-erp-chatbot-sample) |\n| **Task Manager** | Full CRUD app | [GitHub](https:\u002F\u002Fgithub.com\u002Fzoom\u002Ftask-manager-sample) |\n\n**See**: [Sample Applications Guide](references\u002Fsamples.md) for analysis of all 10 samples\n\n## Common Operations\n\n### Send Message to Channel\n\n```javascript\n\u002F\u002F Team Chat API\nawait fetch('https:\u002F\u002Fapi.zoom.us\u002Fv2\u002Fchat\u002Fusers\u002Fme\u002Fmessages', {\n  method: 'POST',\n  headers: { 'Authorization': `Bearer ${token}` },\n  body: JSON.stringify({\n    message: 'Hello!',\n    to_channel: 'CHANNEL_ID'\n  })\n});\n```\n\n### Handle Button Click\n\n```javascript\n\u002F\u002F Webhook handler\ncase 'interactive_message_actions': {\n  const { actionItem, toJid, accountId } = payload;\n  \n  if (actionItem.value === 'approve') {\n    await sendChatbotMessage(toJid, accountId, {\n      body: [{ type: 'message', text: '✅ Approved!' }]\n    });\n  }\n}\n```\n\n### Verify Webhook Signature\n\n```javascript\nfunction verifyWebhook(req) {\n  const message = `v0:${req.headers['x-zm-request-timestamp']}:${JSON.stringify(req.body)}`;\n  const hash = crypto.createHmac('sha256', process.env.ZOOM_VERIFICATION_TOKEN)\n    .update(message)\n    .digest('hex');\n  return req.headers['x-zm-signature'] === `v0=${hash}`;\n}\n```\n\n## Deployment\n\n### ngrok for Local Development\n\n```bash\n# Install ngrok\nnpm install -g ngrok\n\n# Expose local server\nngrok http 4000\n\n# Use HTTPS URL as Bot Endpoint URL in Zoom Marketplace\n# Example: https:\u002F\u002Fabc123.ngrok.io\u002Fwebhook\n```\n\n### Production Deployment\n\n**See**: [Deployment Guide](concepts\u002Fdeployment.md) for:\n- Nginx reverse proxy setup\n- Base path configuration\n- OAuth redirect URI setup\n\n## Limitations\n\n| Limit | Value |\n|-------|-------|\n| Message length | 4,096 characters |\n| File size | 512 MB |\n| Members per channel | 10,000 |\n| Channels per user | 500 |\n\n## Security Best Practices\n\n1. **Verify webhook signatures** - Always validate using `x-zm-signature` header\n2. **Sanitize messages** - Limit to 4096 chars, remove control characters\n3. **Validate JIDs** - Check format: `user@domain` or `channel@domain`\n4. **Environment variables** - Never hardcode credentials\n5. **Use HTTPS** - Required for production webhooks\n\n**See**: [Security Best Practices](concepts\u002Fsecurity.md)\n\n## Complete Documentation Library\n\n### Core Concepts (Start Here!)\n- **[API Selection Guide](concepts\u002Fapi-selection.md)** - Choose Team Chat API vs Chatbot API\n- **[Environment Setup](concepts\u002Fenvironment-setup.md)** - Complete credentials guide\n- **[Authentication Flows](concepts\u002Fauthentication.md)** - OAuth vs Client Credentials\n- **[Webhook Architecture](concepts\u002Fwebhooks.md)** - How webhooks work\n- **[Message Card Structure](concepts\u002Fmessage-structure.md)** - Card component hierarchy\n\n### Complete Examples\n- **[OAuth Setup](examples\u002Foauth-setup.md)** - Full OAuth implementation\n- **[Send Message](examples\u002Fsend-message.md)** - Team Chat API message sending\n- **[Chatbot Setup](examples\u002Fchatbot-setup.md)** - Complete chatbot with webhooks\n- **[Button Actions](examples\u002Fbutton-actions.md)** - Handle interactive buttons\n- **[Form Submissions](examples\u002Fform-submissions.md)** - Process form data\n- **[Slash Commands](examples\u002Fslash-commands.md)** - Create custom commands\n- **[LLM Integration](examples\u002Fllm-integration.md)** - Claude\u002FGPT integration\n- **[Scheduled Alerts](examples\u002Fscheduled-alerts.md)** - Cron + incoming webhooks\n- **[Channel Management](examples\u002Fchannel-management.md)** - Create\u002Fmanage channels\n\n### References\n- **[API Reference](references\u002Fapi-reference.md)** - All endpoints and methods\n- **[Webhook Events](references\u002Fwebhook-events.md)** - Complete event reference\n- **[Message Cards](references\u002Fmessage-cards.md)** - All card components\n- **[Sample Applications](references\u002Fsamples.md)** - Analysis of 10 official samples\n- **[Error Codes](references\u002Ferror-codes.md)** - Error handling guide\n\n### Troubleshooting\n- **[OAuth Issues](troubleshooting\u002Foauth-issues.md)** - Authentication failures\n- **[Webhook Issues](troubleshooting\u002Fwebhook-issues.md)** - Webhook debugging\n- **[Common Issues](troubleshooting\u002Fcommon-issues.md)** - Quick diagnostics\n\n## Resources\n\n- **Official Docs**: https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fteam-chat\u002F\n- **API Reference**: https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fapi\u002Frest\u002Freference\u002Fchatbot\u002F\n- **Dev Forum**: https:\u002F\u002Fdevforum.zoom.us\u002F\n- **App Marketplace**: https:\u002F\u002Fmarketplace.zoom.us\u002F\n\n---\n\n**Need help?** Start with Integrated Index section below for complete navigation.\n\n---\n\n## Integrated Index\n\n_This section was migrated from `SKILL.md`._\n\nComplete navigation guide for the Zoom Team Chat skill.\n\n## Quick Start Paths\n\n- Start here: [Get Started](get-started.md)\n- Fast troubleshooting first: [5-Minute Runbook](RUNBOOK.md)\n\n### Path 1: Team Chat API (User-Level Messaging)\n\nFor sending messages as a user account.\n\n1. [API Selection Guide](concepts\u002Fapi-selection.md) - Confirm Team Chat API is right\n2. [Environment Setup](concepts\u002Fenvironment-setup.md) - Get credentials\n3. [OAuth Setup Example](examples\u002Foauth-setup.md) - Implement authentication\n4. [Send Message Example](examples\u002Fsend-message.md) - Send your first message\n\n### Path 2: Chatbot API (Interactive Bots)\n\nFor building interactive chatbots with rich messages.\n\n1. [API Selection Guide](concepts\u002Fapi-selection.md) - Confirm Chatbot API is right\n2. [Environment Setup](concepts\u002Fenvironment-setup.md) - Get credentials (including Bot JID)\n3. [Webhook Architecture](concepts\u002Fwebhooks.md) - Understand webhook events\n4. [Chatbot Setup Example](examples\u002Fchatbot-setup.md) - Build your first bot\n5. [Message Cards Reference](references\u002Fmessage-cards.md) - Create rich messages\n\n## Core Concepts\n\nEssential understanding for both APIs.\n\n| Document | Description |\n|----------|-------------|\n| [API Selection Guide](concepts\u002Fapi-selection.md) | Choose Team Chat API vs Chatbot API |\n| [Environment Setup](concepts\u002Fenvironment-setup.md) | Complete credentials and app configuration |\n| [Authentication Flows](concepts\u002Fauthentication.md) | OAuth vs Client Credentials |\n| [Webhook Architecture](concepts\u002Fwebhooks.md) | How webhooks work (Chatbot API) |\n| [Message Card Structure](concepts\u002Fmessage-structure.md) | Card component hierarchy |\n| [Deployment Guide](concepts\u002Fdeployment.md) | Production deployment strategies |\n| [Security Best Practices](concepts\u002Fsecurity.md) | Secure your integration |\n\n## Complete Examples\n\nWorking code for common scenarios.\n\n### Authentication\n| Example | Description |\n|---------|-------------|\n| [OAuth Setup](examples\u002Foauth-setup.md) | User OAuth flow implementation |\n| [Token Management](examples\u002Ftoken-management.md) | Refresh tokens, expiration handling |\n\n### Basic Operations\n| Example | Description |\n|---------|-------------|\n| [Send Message](examples\u002Fsend-message.md) | Team Chat API message sending |\n| [Chatbot Setup](examples\u002Fchatbot-setup.md) | Complete chatbot with webhooks |\n| [List Channels](examples\u002Fchannel-management.md) | Get user's channels |\n| [Create Channel](examples\u002Fchannel-management.md) | Create public\u002Fprivate channels |\n\n### Interactive Features (Chatbot API)\n| Example | Description |\n|---------|-------------|\n| [Button Actions](examples\u002Fbutton-actions.md) | Handle button clicks |\n| [Form Submissions](examples\u002Fform-submissions.md) | Process form data |\n| [Slash Commands](examples\u002Fslash-commands.md) | Create custom commands |\n| [Dropdown Selects](examples\u002Fdropdown-selects.md) | Channel\u002Fmember pickers |\n\n### Advanced Integration\n| Example | Description |\n|---------|-------------|\n| [LLM Integration](examples\u002Fllm-integration.md) | Integrate Claude\u002FGPT |\n| [Scheduled Alerts](examples\u002Fscheduled-alerts.md) | Cron + incoming webhooks |\n| [Database Integration](examples\u002Fdatabase-integration.md) | Store conversation state |\n| [Multi-Step Workflows](examples\u002Fmulti-step-workflows.md) | Complex user interactions |\n\n## References\n\n### API Documentation\n| Reference | Description |\n|-----------|-------------|\n| [API Reference](references\u002Fapi-reference.md) | Pointers and common endpoints |\n| [Webhook Events](references\u002Fwebhook-events.md) | Event types and handling checklist |\n| [Message Cards](references\u002Fmessage-cards.md) | All card components |\n| [Error Codes](references\u002Ferror-codes.md) | Error handling guide |\n\n### Sample Applications\n| Reference | Description |\n|-----------|-------------|\n| [Sample Applications](references\u002Fsamples.md) | Sample app index\u002Fnotes |\n\n### Field Guides\n| Reference | Description |\n|-----------|-------------|\n| [JID Formats](references\u002Fjid-formats.md) | Understanding JID identifiers |\n| [Scopes Reference](references\u002Fscopes.md) | Common scopes |\n| [Rate Limits](references\u002Frate-limits.md) | Throttling guidance |\n\n## Troubleshooting\n\n| Guide | Description |\n|-------|-------------|\n| [Common Issues](troubleshooting\u002Fcommon-issues.md) | Quick diagnostics and solutions |\n| [OAuth Issues](troubleshooting\u002Foauth-issues.md) | Authentication failures |\n| [Webhook Issues](troubleshooting\u002Fwebhook-issues.md) | Webhook debugging |\n| [Message Issues](troubleshooting\u002Fmessage-issues.md) | Message sending problems |\n| [Deployment Issues](troubleshooting\u002Fdeployment-issues.md) | Production problems |\n\n## Architecture Patterns\n\n### Chatbot Lifecycle\n\n```\nUser Action → Webhook → Process → Response\n```\n\n### LLM Integration Pattern\n\n```\nUser Input → Chatbot receives → Call LLM → Send response\n```\n\n### Approval Workflow Pattern\n\n```\nRequest → Send card with buttons → User clicks → Update status → Notify\n```\n\n## Common Use Cases\n\n### Notifications\n- CI\u002FCD build notifications\n- Server monitoring alerts\n- Scheduled reports\n- System health checks\n\n### Workflows\n- Approval requests\n- Task assignment\n- Status updates\n- Form submissions\n\n### Integrations\n- LLM-powered assistants\n- Database queries\n- External API integration\n- File\u002Fimage sharing\n\n### Automation\n- Scheduled messages\n- Auto-responses\n- Data collection\n- Report generation\n\n## Resource Links\n\n### Official Documentation\n- **[Team Chat Docs](https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fteam-chat\u002F)** - Official overview\n- **[Chatbot Docs](https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fteam-chat\u002Fchatbot\u002Fextend\u002F)** - Chatbot guide\n- **[API Reference](https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fapi\u002Frest\u002Freference\u002Fchatbot\u002F)** - REST API docs\n- **[App Marketplace](https:\u002F\u002Fmarketplace.zoom.us\u002F)** - Create and manage apps\n\n### Sample Code\n- **[Chatbot Quickstart](https:\u002F\u002Fgithub.com\u002Fzoom\u002Fchatbot-nodejs-quickstart)** - Official tutorial\n- **[Claude Chatbot](https:\u002F\u002Fgithub.com\u002Fzoom\u002Fzoom-chatbot-claude-sample)** - AI integration\n- **[Unsplash Chatbot](https:\u002F\u002Fgithub.com\u002Fzoom\u002Funsplash-chatbot)** - Image search bot\n- **[ERP Chatbot](https:\u002F\u002Fgithub.com\u002Fzoom\u002Fzoom-erp-chatbot-sample)** - Enterprise integration\n- **[Task Manager](https:\u002F\u002Fgithub.com\u002Fzoom\u002Ftask-manager-sample)** - Full CRUD app\n\n### Tools\n- **[App Card Builder](https:\u002F\u002Fappssdk.zoom.us\u002Fcardbuilder\u002F)** - Visual card designer\n- **[ngrok](https:\u002F\u002Fngrok.com\u002F)** - Local webhook testing\n- **[Postman](https:\u002F\u002Fwww.postman.com\u002F)** - API testing\n\n### Community\n- **[Developer Forum](https:\u002F\u002Fdevforum.zoom.us\u002F)** - Ask questions\n- **[GitHub Discussions](https:\u002F\u002Fgithub.com\u002Fzoom)** - Community support\n- **[Developer Support](https:\u002F\u002Fdevsupport.zoom.us)** - Official support\n\n## Documentation Status\n\n### ✅ Complete\n- Main skill.md entry point\n- API Selection Guide\n- Environment Setup\n- Webhook Architecture\n- Chatbot Setup Example (complete working code)\n- Message Cards Reference\n- Common Issues Troubleshooting\n\n### 📝 Pending (High Priority)\n- OAuth Setup Example\n- Send Message Example\n- Button Actions Example\n- LLM Integration Example\n- Webhook Events Reference\n- API Reference\n- Sample Applications Analysis\n\n### 📋 Planned (Lower Priority)\n- Form Submissions Example\n- Channel Management Examples\n- Database Integration Example\n- Error Codes Reference\n- Rate Limits Guide\n- Deployment troubleshooting\n\n## Getting Started Checklist\n\n### For Team Chat API\n\n- [ ] Read [API Selection Guide](concepts\u002Fapi-selection.md)\n- [ ] Complete [Environment Setup](concepts\u002Fenvironment-setup.md)\n- [ ] Obtain Client ID, Client Secret\n- [ ] Add required scopes\n- [ ] Implement OAuth flow\n- [ ] Send first message\n\n### For Chatbot API\n\n- [ ] Read [API Selection Guide](concepts\u002Fapi-selection.md)\n- [ ] Complete [Environment Setup](concepts\u002Fenvironment-setup.md)\n- [ ] Obtain Client ID, Client Secret, Bot JID, Secret Token, Account ID\n- [ ] Enable Team Chat in Features\n- [ ] Configure Bot Endpoint URL and Slash Command\n- [ ] Set up ngrok for local testing\n- [ ] Implement webhook handler\n- [ ] Send first chatbot message\n\n## Version History\n\n- **v1.0** (2026-02-09) - Initial comprehensive documentation\n  - Core concepts (API selection, environment setup, webhooks)\n  - Complete chatbot setup example\n  - Message cards reference\n  - Common issues troubleshooting\n\n## Support\n\nUse this SKILL.md as the navigation hub for Team Chat API selection, setup, examples, and troubleshooting.\n\n## Environment Variables\n\n- See [references\u002Fenvironment-variables.md](references\u002Fenvironment-variables.md) for standardized `.env` keys and where to find each value.\n",{"data":38,"body":47},{"name":4,"description":6,"triggers":39},[40,41,42,43,44,45,46],"zoom team chat","zoom chatbot","zoom messaging","team chat api","chatbot api","zoom slash commands","zoom chat integration",{"type":48,"children":49},"root",[50,58,64,71,76,174,179,228,234,242,315,323,391,399,446,454,499,507,543,549,669,676,730,736,791,797,803,861,867,910,926,932,937,1048,1064,1070,1075,1552,1566,1572,1577,3028,3042,3048,3053,3155,3160,3281,3287,3423,3436,3442,3447,3625,3640,3646,3652,3662,3668,3920,3934,3939,4091,4106,4112,4118,4359,4365,4634,4640,5004,5010,5016,5114,5120,5136,5154,5160,5234,5240,5314,5327,5333,5339,5409,5415,5530,5536,5602,5608,5649,5655,5714,5718,5728,5731,5736,5752,5757,5763,5784,5790,5795,5836,5842,5847,5896,5902,5907,6033,6038,6043,6049,6102,6108,6189,6195,6275,6281,6365,6370,6376,6457,6462,6497,6503,6574,6579,6679,6684,6689,6698,6703,6712,6718,6727,6733,6739,6762,6768,6791,6797,6820,6826,6849,6855,6860,6917,6923,6991,6997,7044,7050,7097,7103,7109,7143,7149,7183,7189,7222,7228,7234,7304,7310,7392,7398,7434,7440,7445,7451,7474],{"type":51,"tag":52,"props":53,"children":54},"element","h1",{"id":4},[55],{"type":56,"value":57},"text","\u002Fbuild-zoom-team-chat-app",{"type":51,"tag":59,"props":60,"children":61},"p",{},[62],{"type":56,"value":63},"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.",{"type":51,"tag":65,"props":66,"children":68},"h2",{"id":67},"read-this-first-critical",[69],{"type":56,"value":70},"Read This First (Critical)",{"type":51,"tag":59,"props":72,"children":73},{},[74],{"type":56,"value":75},"There are two different integration types and they are not interchangeable:",{"type":51,"tag":77,"props":78,"children":79},"ol",{},[80,131],{"type":51,"tag":81,"props":82,"children":83},"li",{},[84,90],{"type":51,"tag":85,"props":86,"children":87},"strong",{},[88],{"type":56,"value":89},"Team Chat API (user type)",{"type":51,"tag":91,"props":92,"children":93},"ul",{},[94,99,120],{"type":51,"tag":81,"props":95,"children":96},{},[97],{"type":56,"value":98},"Sends messages as a real authenticated user",{"type":51,"tag":81,"props":100,"children":101},{},[102,104,109,111,118],{"type":56,"value":103},"Uses ",{"type":51,"tag":85,"props":105,"children":106},{},[107],{"type":56,"value":108},"User OAuth",{"type":56,"value":110}," (",{"type":51,"tag":112,"props":113,"children":115},"code",{"className":114},[],[116],{"type":56,"value":117},"authorization_code",{"type":56,"value":119},")",{"type":51,"tag":81,"props":121,"children":122},{},[123,125],{"type":56,"value":124},"Endpoint family: ",{"type":51,"tag":112,"props":126,"children":128},{"className":127},[],[129],{"type":56,"value":130},"\u002Fv2\u002Fchat\u002Fusers\u002F...",{"type":51,"tag":81,"props":132,"children":133},{},[134,139],{"type":51,"tag":85,"props":135,"children":136},{},[137],{"type":56,"value":138},"Chatbot API (bot type)",{"type":51,"tag":91,"props":140,"children":141},{},[142,147,164],{"type":51,"tag":81,"props":143,"children":144},{},[145],{"type":56,"value":146},"Sends messages as your bot identity",{"type":51,"tag":81,"props":148,"children":149},{},[150,151,156,157,163],{"type":56,"value":103},{"type":51,"tag":85,"props":152,"children":153},{},[154],{"type":56,"value":155},"Client Credentials",{"type":56,"value":110},{"type":51,"tag":112,"props":158,"children":160},{"className":159},[],[161],{"type":56,"value":162},"client_credentials",{"type":56,"value":119},{"type":51,"tag":81,"props":165,"children":166},{},[167,168],{"type":56,"value":124},{"type":51,"tag":112,"props":169,"children":171},{"className":170},[],[172],{"type":56,"value":173},"\u002Fv2\u002Fim\u002Fchat\u002Fmessages",{"type":51,"tag":59,"props":175,"children":176},{},[177],{"type":56,"value":178},"If you choose the wrong type early, auth\u002Fscopes\u002Fendpoints all mismatch and implementation fails.",{"type":51,"tag":59,"props":180,"children":181},{},[182,187,189,197,201,206,207,213,216,221,222],{"type":51,"tag":85,"props":183,"children":184},{},[185],{"type":56,"value":186},"Official Documentation",{"type":56,"value":188},": ",{"type":51,"tag":190,"props":191,"children":195},"a",{"href":192,"rel":193},"https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fteam-chat\u002F",[194],"nofollow",[196],{"type":56,"value":192},{"type":51,"tag":198,"props":199,"children":200},"br",{},[],{"type":51,"tag":85,"props":202,"children":203},{},[204],{"type":56,"value":205},"Chatbot Documentation",{"type":56,"value":188},{"type":51,"tag":190,"props":208,"children":211},{"href":209,"rel":210},"https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fteam-chat\u002Fchatbot\u002Fextend\u002F",[194],[212],{"type":56,"value":209},{"type":51,"tag":198,"props":214,"children":215},{},[],{"type":51,"tag":85,"props":217,"children":218},{},[219],{"type":56,"value":220},"API Reference",{"type":56,"value":188},{"type":51,"tag":190,"props":223,"children":226},{"href":224,"rel":225},"https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fapi\u002Frest\u002Freference\u002Fchatbot\u002F",[194],[227],{"type":56,"value":224},{"type":51,"tag":65,"props":229,"children":231},{"id":230},"quick-links",[232],{"type":56,"value":233},"Quick Links",{"type":51,"tag":59,"props":235,"children":236},{},[237],{"type":51,"tag":85,"props":238,"children":239},{},[240],{"type":56,"value":241},"New to Team Chat? Follow this path:",{"type":51,"tag":77,"props":243,"children":244},{},[245,259,273,287,301],{"type":51,"tag":81,"props":246,"children":247},{},[248,257],{"type":51,"tag":85,"props":249,"children":250},{},[251],{"type":51,"tag":190,"props":252,"children":254},{"href":253},"get-started.md",[255],{"type":56,"value":256},"Get Started",{"type":56,"value":258}," - End-to-end fast path (user type vs bot type)",{"type":51,"tag":81,"props":260,"children":261},{},[262,271],{"type":51,"tag":85,"props":263,"children":264},{},[265],{"type":51,"tag":190,"props":266,"children":268},{"href":267},"concepts\u002Fapi-selection.md",[269],{"type":56,"value":270},"Choose Your API",{"type":56,"value":272}," - Team Chat API vs Chatbot API",{"type":51,"tag":81,"props":274,"children":275},{},[276,285],{"type":51,"tag":85,"props":277,"children":278},{},[279],{"type":51,"tag":190,"props":280,"children":282},{"href":281},"concepts\u002Fenvironment-setup.md",[283],{"type":56,"value":284},"Environment Setup",{"type":56,"value":286}," - Credentials, scopes, app configuration",{"type":51,"tag":81,"props":288,"children":289},{},[290,299],{"type":51,"tag":85,"props":291,"children":292},{},[293],{"type":51,"tag":190,"props":294,"children":296},{"href":295},"examples\u002Foauth-setup.md",[297],{"type":56,"value":298},"OAuth Setup",{"type":56,"value":300}," - Complete authentication flow",{"type":51,"tag":81,"props":302,"children":303},{},[304,313],{"type":51,"tag":85,"props":305,"children":306},{},[307],{"type":51,"tag":190,"props":308,"children":310},{"href":309},"examples\u002Fsend-message.md",[311],{"type":56,"value":312},"Send First Message",{"type":56,"value":314}," - Working code to send messages",{"type":51,"tag":59,"props":316,"children":317},{},[318],{"type":51,"tag":85,"props":319,"children":320},{},[321],{"type":56,"value":322},"Reference:",{"type":51,"tag":91,"props":324,"children":325},{},[326,340,354,367,381],{"type":51,"tag":81,"props":327,"children":328},{},[329,338],{"type":51,"tag":85,"props":330,"children":331},{},[332],{"type":51,"tag":190,"props":333,"children":335},{"href":334},"references\u002Fmessage-cards.md",[336],{"type":56,"value":337},"Chatbot Message Cards",{"type":56,"value":339}," - Complete card component reference",{"type":51,"tag":81,"props":341,"children":342},{},[343,352],{"type":51,"tag":85,"props":344,"children":345},{},[346],{"type":51,"tag":190,"props":347,"children":349},{"href":348},"references\u002Fwebhook-events.md",[350],{"type":56,"value":351},"Webhook Events",{"type":56,"value":353}," - All webhook event types",{"type":51,"tag":81,"props":355,"children":356},{},[357,365],{"type":51,"tag":85,"props":358,"children":359},{},[360],{"type":51,"tag":190,"props":361,"children":363},{"href":362},"references\u002Fapi-reference.md",[364],{"type":56,"value":220},{"type":56,"value":366}," - Endpoints, methods, parameters",{"type":51,"tag":81,"props":368,"children":369},{},[370,379],{"type":51,"tag":85,"props":371,"children":372},{},[373],{"type":51,"tag":190,"props":374,"children":376},{"href":375},"references\u002Fsamples.md",[377],{"type":56,"value":378},"Sample Applications",{"type":56,"value":380}," - 10+ official sample apps",{"type":51,"tag":81,"props":382,"children":383},{},[384,389],{"type":51,"tag":85,"props":385,"children":386},{},[387],{"type":56,"value":388},"Integrated Index",{"type":56,"value":390}," - see the section below in this file",{"type":51,"tag":59,"props":392,"children":393},{},[394],{"type":51,"tag":85,"props":395,"children":396},{},[397],{"type":56,"value":398},"Having issues?",{"type":51,"tag":91,"props":400,"children":401},{},[402,413,424,435],{"type":51,"tag":81,"props":403,"children":404},{},[405,407],{"type":56,"value":406},"Authentication errors → ",{"type":51,"tag":190,"props":408,"children":410},{"href":409},"troubleshooting\u002Foauth-issues.md",[411],{"type":56,"value":412},"OAuth Troubleshooting",{"type":51,"tag":81,"props":414,"children":415},{},[416,418],{"type":56,"value":417},"Webhook not receiving events → ",{"type":51,"tag":190,"props":419,"children":421},{"href":420},"troubleshooting\u002Fwebhook-issues.md",[422],{"type":56,"value":423},"Webhook Setup Guide",{"type":51,"tag":81,"props":425,"children":426},{},[427,429],{"type":56,"value":428},"Messages not sending → ",{"type":51,"tag":190,"props":430,"children":432},{"href":431},"troubleshooting\u002Fcommon-issues.md",[433],{"type":56,"value":434},"Common Issues",{"type":51,"tag":81,"props":436,"children":437},{},[438,440],{"type":56,"value":439},"Start with quick checks → ",{"type":51,"tag":190,"props":441,"children":443},{"href":442},"RUNBOOK.md",[444],{"type":56,"value":445},"5-Minute Runbook",{"type":51,"tag":59,"props":447,"children":448},{},[449],{"type":51,"tag":85,"props":450,"children":451},{},[452],{"type":56,"value":453},"OAuth endpoint sanity check:",{"type":51,"tag":91,"props":455,"children":456},{},[457,468,479],{"type":51,"tag":81,"props":458,"children":459},{},[460,462],{"type":56,"value":461},"Authorize URL: ",{"type":51,"tag":112,"props":463,"children":465},{"className":464},[],[466],{"type":56,"value":467},"https:\u002F\u002Fzoom.us\u002Foauth\u002Fauthorize",{"type":51,"tag":81,"props":469,"children":470},{},[471,473],{"type":56,"value":472},"Token URL: ",{"type":51,"tag":112,"props":474,"children":476},{"className":475},[],[477],{"type":56,"value":478},"https:\u002F\u002Fzoom.us\u002Foauth\u002Ftoken",{"type":51,"tag":81,"props":480,"children":481},{},[482,484,490,492,497],{"type":56,"value":483},"If ",{"type":51,"tag":112,"props":485,"children":487},{"className":486},[],[488],{"type":56,"value":489},"\u002Foauth\u002Ftoken",{"type":56,"value":491}," returns 404\u002FHTML, use ",{"type":51,"tag":112,"props":493,"children":495},{"className":494},[],[496],{"type":56,"value":478},{"type":56,"value":498},".",{"type":51,"tag":59,"props":500,"children":501},{},[502],{"type":51,"tag":85,"props":503,"children":504},{},[505],{"type":56,"value":506},"Building Interactive Bots?",{"type":51,"tag":91,"props":508,"children":509},{},[510,521,532],{"type":51,"tag":81,"props":511,"children":512},{},[513,519],{"type":51,"tag":190,"props":514,"children":516},{"href":515},"examples\u002Fbutton-actions.md",[517],{"type":56,"value":518},"Button Actions",{"type":56,"value":520}," - Handle button clicks",{"type":51,"tag":81,"props":522,"children":523},{},[524,530],{"type":51,"tag":190,"props":525,"children":527},{"href":526},"examples\u002Fform-submissions.md",[528],{"type":56,"value":529},"Form Submissions",{"type":56,"value":531}," - Process form data",{"type":51,"tag":81,"props":533,"children":534},{},[535,541],{"type":51,"tag":190,"props":536,"children":538},{"href":537},"examples\u002Fslash-commands.md",[539],{"type":56,"value":540},"Slash Commands",{"type":56,"value":542}," - Create custom commands",{"type":51,"tag":65,"props":544,"children":546},{"id":545},"quick-decision-which-api",[547],{"type":56,"value":548},"Quick Decision: Which API?",{"type":51,"tag":550,"props":551,"children":552},"table",{},[553,572],{"type":51,"tag":554,"props":555,"children":556},"thead",{},[557],{"type":51,"tag":558,"props":559,"children":560},"tr",{},[561,567],{"type":51,"tag":562,"props":563,"children":564},"th",{},[565],{"type":56,"value":566},"Use Case",{"type":51,"tag":562,"props":568,"children":569},{},[570],{"type":56,"value":571},"API to Use",{"type":51,"tag":573,"props":574,"children":575},"tbody",{},[576,593,608,624,639,654],{"type":51,"tag":558,"props":577,"children":578},{},[579,585],{"type":51,"tag":580,"props":581,"children":582},"td",{},[583],{"type":56,"value":584},"Send notifications from scripts\u002FCI\u002FCD",{"type":51,"tag":580,"props":586,"children":587},{},[588],{"type":51,"tag":85,"props":589,"children":590},{},[591],{"type":56,"value":592},"Team Chat API",{"type":51,"tag":558,"props":594,"children":595},{},[596,601],{"type":51,"tag":580,"props":597,"children":598},{},[599],{"type":56,"value":600},"Automate messages as a user",{"type":51,"tag":580,"props":602,"children":603},{},[604],{"type":51,"tag":85,"props":605,"children":606},{},[607],{"type":56,"value":592},{"type":51,"tag":558,"props":609,"children":610},{},[611,616],{"type":51,"tag":580,"props":612,"children":613},{},[614],{"type":56,"value":615},"Build an interactive chatbot",{"type":51,"tag":580,"props":617,"children":618},{},[619],{"type":51,"tag":85,"props":620,"children":621},{},[622],{"type":56,"value":623},"Chatbot API",{"type":51,"tag":558,"props":625,"children":626},{},[627,632],{"type":51,"tag":580,"props":628,"children":629},{},[630],{"type":56,"value":631},"Respond to slash commands",{"type":51,"tag":580,"props":633,"children":634},{},[635],{"type":51,"tag":85,"props":636,"children":637},{},[638],{"type":56,"value":623},{"type":51,"tag":558,"props":640,"children":641},{},[642,647],{"type":51,"tag":580,"props":643,"children":644},{},[645],{"type":56,"value":646},"Create messages with buttons\u002Fforms",{"type":51,"tag":580,"props":648,"children":649},{},[650],{"type":51,"tag":85,"props":651,"children":652},{},[653],{"type":56,"value":623},{"type":51,"tag":558,"props":655,"children":656},{},[657,662],{"type":51,"tag":580,"props":658,"children":659},{},[660],{"type":56,"value":661},"Handle user interactions",{"type":51,"tag":580,"props":663,"children":664},{},[665],{"type":51,"tag":85,"props":666,"children":667},{},[668],{"type":56,"value":623},{"type":51,"tag":670,"props":671,"children":673},"h3",{"id":672},"team-chat-api-user-level",[674],{"type":56,"value":675},"Team Chat API (User-Level)",{"type":51,"tag":91,"props":677,"children":678},{},[679,689,700,711],{"type":51,"tag":81,"props":680,"children":681},{},[682,684],{"type":56,"value":683},"Messages appear as sent by ",{"type":51,"tag":85,"props":685,"children":686},{},[687],{"type":56,"value":688},"authenticated user",{"type":51,"tag":81,"props":690,"children":691},{},[692,694,698],{"type":56,"value":693},"Requires ",{"type":51,"tag":85,"props":695,"children":696},{},[697],{"type":56,"value":108},{"type":56,"value":699}," (authorization_code flow)",{"type":51,"tag":81,"props":701,"children":702},{},[703,705],{"type":56,"value":704},"Endpoint: ",{"type":51,"tag":112,"props":706,"children":708},{"className":707},[],[709],{"type":56,"value":710},"POST https:\u002F\u002Fapi.zoom.us\u002Fv2\u002Fchat\u002Fusers\u002Fme\u002Fmessages",{"type":51,"tag":81,"props":712,"children":713},{},[714,716,722,724],{"type":56,"value":715},"Scopes: ",{"type":51,"tag":112,"props":717,"children":719},{"className":718},[],[720],{"type":56,"value":721},"chat_message:write",{"type":56,"value":723},", ",{"type":51,"tag":112,"props":725,"children":727},{"className":726},[],[728],{"type":56,"value":729},"chat_channel:read",{"type":51,"tag":670,"props":731,"children":733},{"id":732},"chatbot-api-bot-level",[734],{"type":56,"value":735},"Chatbot API (Bot-Level)",{"type":51,"tag":91,"props":737,"children":738},{},[739,749,759,769,781],{"type":51,"tag":81,"props":740,"children":741},{},[742,744],{"type":56,"value":743},"Messages appear as sent by your ",{"type":51,"tag":85,"props":745,"children":746},{},[747],{"type":56,"value":748},"bot",{"type":51,"tag":81,"props":750,"children":751},{},[752,753,757],{"type":56,"value":693},{"type":51,"tag":85,"props":754,"children":755},{},[756],{"type":56,"value":155},{"type":56,"value":758}," grant",{"type":51,"tag":81,"props":760,"children":761},{},[762,763],{"type":56,"value":704},{"type":51,"tag":112,"props":764,"children":766},{"className":765},[],[767],{"type":56,"value":768},"POST https:\u002F\u002Fapi.zoom.us\u002Fv2\u002Fim\u002Fchat\u002Fmessages",{"type":51,"tag":81,"props":770,"children":771},{},[772,773,779],{"type":56,"value":715},{"type":51,"tag":112,"props":774,"children":776},{"className":775},[],[777],{"type":56,"value":778},"imchat:bot",{"type":56,"value":780}," (auto-added)",{"type":51,"tag":81,"props":782,"children":783},{},[784,789],{"type":51,"tag":85,"props":785,"children":786},{},[787],{"type":56,"value":788},"Rich cards",{"type":56,"value":790},": buttons, forms, dropdowns, images",{"type":51,"tag":65,"props":792,"children":794},{"id":793},"prerequisites",[795],{"type":56,"value":796},"Prerequisites",{"type":51,"tag":670,"props":798,"children":800},{"id":799},"system-requirements",[801],{"type":56,"value":802},"System Requirements",{"type":51,"tag":91,"props":804,"children":805},{},[806,811],{"type":51,"tag":81,"props":807,"children":808},{},[809],{"type":56,"value":810},"Zoom account",{"type":51,"tag":81,"props":812,"children":813},{},[814,816,821,823],{"type":56,"value":815},"Account owner, admin, or ",{"type":51,"tag":85,"props":817,"children":818},{},[819],{"type":56,"value":820},"Zoom for developers",{"type":56,"value":822}," role enabled\n",{"type":51,"tag":91,"props":824,"children":825},{},[826],{"type":51,"tag":81,"props":827,"children":828},{},[829,831,836,838,843,844,849,850,855,857],{"type":56,"value":830},"To enable: ",{"type":51,"tag":85,"props":832,"children":833},{},[834],{"type":56,"value":835},"User Management",{"type":56,"value":837}," → ",{"type":51,"tag":85,"props":839,"children":840},{},[841],{"type":56,"value":842},"Roles",{"type":56,"value":837},{"type":51,"tag":85,"props":845,"children":846},{},[847],{"type":56,"value":848},"Role Settings",{"type":56,"value":837},{"type":51,"tag":85,"props":851,"children":852},{},[853],{"type":56,"value":854},"Advanced features",{"type":56,"value":856}," → Enable ",{"type":51,"tag":85,"props":858,"children":859},{},[860],{"type":56,"value":820},{"type":51,"tag":670,"props":862,"children":864},{"id":863},"create-zoom-app",[865],{"type":56,"value":866},"Create Zoom App",{"type":51,"tag":77,"props":868,"children":869},{},[870,882,898],{"type":51,"tag":81,"props":871,"children":872},{},[873,875],{"type":56,"value":874},"Go to ",{"type":51,"tag":190,"props":876,"children":879},{"href":877,"rel":878},"https:\u002F\u002Fmarketplace.zoom.us\u002F",[194],[880],{"type":56,"value":881},"Zoom App Marketplace",{"type":51,"tag":81,"props":883,"children":884},{},[885,887,892,893],{"type":56,"value":886},"Click ",{"type":51,"tag":85,"props":888,"children":889},{},[890],{"type":56,"value":891},"Develop",{"type":56,"value":837},{"type":51,"tag":85,"props":894,"children":895},{},[896],{"type":56,"value":897},"Build App",{"type":51,"tag":81,"props":899,"children":900},{},[901,903,908],{"type":56,"value":902},"Select ",{"type":51,"tag":85,"props":904,"children":905},{},[906],{"type":56,"value":907},"General App",{"type":56,"value":909}," (OAuth)",{"type":51,"tag":911,"props":912,"children":913},"blockquote",{},[914],{"type":51,"tag":59,"props":915,"children":916},{},[917,919,924],{"type":56,"value":918},"⚠️ ",{"type":51,"tag":85,"props":920,"children":921},{},[922],{"type":56,"value":923},"Do NOT use Server-to-Server OAuth",{"type":56,"value":925}," - S2S apps don't have the Chatbot\u002FTeam Chat feature. Only General App (OAuth) supports chatbots.",{"type":51,"tag":670,"props":927,"children":929},{"id":928},"required-credentials",[930],{"type":56,"value":931},"Required Credentials",{"type":51,"tag":59,"props":933,"children":934},{},[935],{"type":56,"value":936},"From Zoom Marketplace → Your App:",{"type":51,"tag":550,"props":938,"children":939},{},[940,961],{"type":51,"tag":554,"props":941,"children":942},{},[943],{"type":51,"tag":558,"props":944,"children":945},{},[946,951,956],{"type":51,"tag":562,"props":947,"children":948},{},[949],{"type":56,"value":950},"Credential",{"type":51,"tag":562,"props":952,"children":953},{},[954],{"type":56,"value":955},"Location",{"type":51,"tag":562,"props":957,"children":958},{},[959],{"type":56,"value":960},"Used By",{"type":51,"tag":573,"props":962,"children":963},{},[964,982,998,1014,1031],{"type":51,"tag":558,"props":965,"children":966},{},[967,972,977],{"type":51,"tag":580,"props":968,"children":969},{},[970],{"type":56,"value":971},"Client ID",{"type":51,"tag":580,"props":973,"children":974},{},[975],{"type":56,"value":976},"App Credentials → Development",{"type":51,"tag":580,"props":978,"children":979},{},[980],{"type":56,"value":981},"Both APIs",{"type":51,"tag":558,"props":983,"children":984},{},[985,990,994],{"type":51,"tag":580,"props":986,"children":987},{},[988],{"type":56,"value":989},"Client Secret",{"type":51,"tag":580,"props":991,"children":992},{},[993],{"type":56,"value":976},{"type":51,"tag":580,"props":995,"children":996},{},[997],{"type":56,"value":981},{"type":51,"tag":558,"props":999,"children":1000},{},[1001,1006,1010],{"type":51,"tag":580,"props":1002,"children":1003},{},[1004],{"type":56,"value":1005},"Account ID",{"type":51,"tag":580,"props":1007,"children":1008},{},[1009],{"type":56,"value":976},{"type":51,"tag":580,"props":1011,"children":1012},{},[1013],{"type":56,"value":623},{"type":51,"tag":558,"props":1015,"children":1016},{},[1017,1022,1027],{"type":51,"tag":580,"props":1018,"children":1019},{},[1020],{"type":56,"value":1021},"Bot JID",{"type":51,"tag":580,"props":1023,"children":1024},{},[1025],{"type":56,"value":1026},"Features → Chatbot → Bot Credentials",{"type":51,"tag":580,"props":1028,"children":1029},{},[1030],{"type":56,"value":623},{"type":51,"tag":558,"props":1032,"children":1033},{},[1034,1039,1044],{"type":51,"tag":580,"props":1035,"children":1036},{},[1037],{"type":56,"value":1038},"Secret Token",{"type":51,"tag":580,"props":1040,"children":1041},{},[1042],{"type":56,"value":1043},"Features → Team Chat Subscriptions",{"type":51,"tag":580,"props":1045,"children":1046},{},[1047],{"type":56,"value":623},{"type":51,"tag":59,"props":1049,"children":1050},{},[1051,1056,1057,1062],{"type":51,"tag":85,"props":1052,"children":1053},{},[1054],{"type":56,"value":1055},"See",{"type":56,"value":188},{"type":51,"tag":190,"props":1058,"children":1059},{"href":281},[1060],{"type":56,"value":1061},"Environment Setup Guide",{"type":56,"value":1063}," for complete configuration steps.",{"type":51,"tag":65,"props":1065,"children":1067},{"id":1066},"quick-start-team-chat-api",[1068],{"type":56,"value":1069},"Quick Start: Team Chat API",{"type":51,"tag":59,"props":1071,"children":1072},{},[1073],{"type":56,"value":1074},"Send a message as a user:",{"type":51,"tag":1076,"props":1077,"children":1082},"pre",{"className":1078,"code":1079,"language":1080,"meta":1081,"style":1081},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F 1. Get access token via OAuth\nconst accessToken = await getOAuthToken(); \u002F\u002F See examples\u002Foauth-setup.md\n\n\u002F\u002F 2. Send message to channel\nconst response = await fetch('https:\u002F\u002Fapi.zoom.us\u002Fv2\u002Fchat\u002Fusers\u002Fme\u002Fmessages', {\n  method: 'POST',\n  headers: {\n    'Authorization': `Bearer ${accessToken}`,\n    'Content-Type': 'application\u002Fjson'\n  },\n  body: JSON.stringify({\n    message: 'Hello from CI\u002FCD pipeline!',\n    to_channel: 'CHANNEL_ID'\n  })\n});\n\nconst data = await response.json();\n\u002F\u002F { \"id\": \"msg_abc123\", \"date_time\": \"2024-01-15T10:30:00Z\" }\n","javascript","",[1083],{"type":51,"tag":112,"props":1084,"children":1085},{"__ignoreMap":1081},[1086,1098,1147,1157,1166,1222,1256,1273,1324,1359,1368,1404,1434,1460,1474,1492,1500,1543],{"type":51,"tag":1087,"props":1088,"children":1091},"span",{"class":1089,"line":1090},"line",1,[1092],{"type":51,"tag":1087,"props":1093,"children":1095},{"style":1094},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[1096],{"type":56,"value":1097},"\u002F\u002F 1. Get access token via OAuth\n",{"type":51,"tag":1087,"props":1099,"children":1101},{"class":1089,"line":1100},2,[1102,1108,1114,1120,1126,1132,1137,1142],{"type":51,"tag":1087,"props":1103,"children":1105},{"style":1104},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[1106],{"type":56,"value":1107},"const",{"type":51,"tag":1087,"props":1109,"children":1111},{"style":1110},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[1112],{"type":56,"value":1113}," accessToken ",{"type":51,"tag":1087,"props":1115,"children":1117},{"style":1116},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[1118],{"type":56,"value":1119},"=",{"type":51,"tag":1087,"props":1121,"children":1123},{"style":1122},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[1124],{"type":56,"value":1125}," await",{"type":51,"tag":1087,"props":1127,"children":1129},{"style":1128},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[1130],{"type":56,"value":1131}," getOAuthToken",{"type":51,"tag":1087,"props":1133,"children":1134},{"style":1110},[1135],{"type":56,"value":1136},"()",{"type":51,"tag":1087,"props":1138,"children":1139},{"style":1116},[1140],{"type":56,"value":1141},";",{"type":51,"tag":1087,"props":1143,"children":1144},{"style":1094},[1145],{"type":56,"value":1146}," \u002F\u002F See examples\u002Foauth-setup.md\n",{"type":51,"tag":1087,"props":1148,"children":1150},{"class":1089,"line":1149},3,[1151],{"type":51,"tag":1087,"props":1152,"children":1154},{"emptyLinePlaceholder":1153},true,[1155],{"type":56,"value":1156},"\n",{"type":51,"tag":1087,"props":1158,"children":1160},{"class":1089,"line":1159},4,[1161],{"type":51,"tag":1087,"props":1162,"children":1163},{"style":1094},[1164],{"type":56,"value":1165},"\u002F\u002F 2. Send message to channel\n",{"type":51,"tag":1087,"props":1167,"children":1169},{"class":1089,"line":1168},5,[1170,1174,1179,1183,1187,1192,1197,1202,1208,1212,1217],{"type":51,"tag":1087,"props":1171,"children":1172},{"style":1104},[1173],{"type":56,"value":1107},{"type":51,"tag":1087,"props":1175,"children":1176},{"style":1110},[1177],{"type":56,"value":1178}," response ",{"type":51,"tag":1087,"props":1180,"children":1181},{"style":1116},[1182],{"type":56,"value":1119},{"type":51,"tag":1087,"props":1184,"children":1185},{"style":1122},[1186],{"type":56,"value":1125},{"type":51,"tag":1087,"props":1188,"children":1189},{"style":1128},[1190],{"type":56,"value":1191}," fetch",{"type":51,"tag":1087,"props":1193,"children":1194},{"style":1110},[1195],{"type":56,"value":1196},"(",{"type":51,"tag":1087,"props":1198,"children":1199},{"style":1116},[1200],{"type":56,"value":1201},"'",{"type":51,"tag":1087,"props":1203,"children":1205},{"style":1204},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[1206],{"type":56,"value":1207},"https:\u002F\u002Fapi.zoom.us\u002Fv2\u002Fchat\u002Fusers\u002Fme\u002Fmessages",{"type":51,"tag":1087,"props":1209,"children":1210},{"style":1116},[1211],{"type":56,"value":1201},{"type":51,"tag":1087,"props":1213,"children":1214},{"style":1116},[1215],{"type":56,"value":1216},",",{"type":51,"tag":1087,"props":1218,"children":1219},{"style":1116},[1220],{"type":56,"value":1221}," {\n",{"type":51,"tag":1087,"props":1223,"children":1225},{"class":1089,"line":1224},6,[1226,1232,1237,1242,1247,1251],{"type":51,"tag":1087,"props":1227,"children":1229},{"style":1228},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[1230],{"type":56,"value":1231},"  method",{"type":51,"tag":1087,"props":1233,"children":1234},{"style":1116},[1235],{"type":56,"value":1236},":",{"type":51,"tag":1087,"props":1238,"children":1239},{"style":1116},[1240],{"type":56,"value":1241}," '",{"type":51,"tag":1087,"props":1243,"children":1244},{"style":1204},[1245],{"type":56,"value":1246},"POST",{"type":51,"tag":1087,"props":1248,"children":1249},{"style":1116},[1250],{"type":56,"value":1201},{"type":51,"tag":1087,"props":1252,"children":1253},{"style":1116},[1254],{"type":56,"value":1255},",\n",{"type":51,"tag":1087,"props":1257,"children":1259},{"class":1089,"line":1258},7,[1260,1265,1269],{"type":51,"tag":1087,"props":1261,"children":1262},{"style":1228},[1263],{"type":56,"value":1264},"  headers",{"type":51,"tag":1087,"props":1266,"children":1267},{"style":1116},[1268],{"type":56,"value":1236},{"type":51,"tag":1087,"props":1270,"children":1271},{"style":1116},[1272],{"type":56,"value":1221},{"type":51,"tag":1087,"props":1274,"children":1276},{"class":1089,"line":1275},8,[1277,1282,1287,1291,1295,1300,1305,1310,1315,1320],{"type":51,"tag":1087,"props":1278,"children":1279},{"style":1116},[1280],{"type":56,"value":1281},"    '",{"type":51,"tag":1087,"props":1283,"children":1284},{"style":1228},[1285],{"type":56,"value":1286},"Authorization",{"type":51,"tag":1087,"props":1288,"children":1289},{"style":1116},[1290],{"type":56,"value":1201},{"type":51,"tag":1087,"props":1292,"children":1293},{"style":1116},[1294],{"type":56,"value":1236},{"type":51,"tag":1087,"props":1296,"children":1297},{"style":1116},[1298],{"type":56,"value":1299}," `",{"type":51,"tag":1087,"props":1301,"children":1302},{"style":1204},[1303],{"type":56,"value":1304},"Bearer ",{"type":51,"tag":1087,"props":1306,"children":1307},{"style":1116},[1308],{"type":56,"value":1309},"${",{"type":51,"tag":1087,"props":1311,"children":1312},{"style":1110},[1313],{"type":56,"value":1314},"accessToken",{"type":51,"tag":1087,"props":1316,"children":1317},{"style":1116},[1318],{"type":56,"value":1319},"}`",{"type":51,"tag":1087,"props":1321,"children":1322},{"style":1116},[1323],{"type":56,"value":1255},{"type":51,"tag":1087,"props":1325,"children":1327},{"class":1089,"line":1326},9,[1328,1332,1337,1341,1345,1349,1354],{"type":51,"tag":1087,"props":1329,"children":1330},{"style":1116},[1331],{"type":56,"value":1281},{"type":51,"tag":1087,"props":1333,"children":1334},{"style":1228},[1335],{"type":56,"value":1336},"Content-Type",{"type":51,"tag":1087,"props":1338,"children":1339},{"style":1116},[1340],{"type":56,"value":1201},{"type":51,"tag":1087,"props":1342,"children":1343},{"style":1116},[1344],{"type":56,"value":1236},{"type":51,"tag":1087,"props":1346,"children":1347},{"style":1116},[1348],{"type":56,"value":1241},{"type":51,"tag":1087,"props":1350,"children":1351},{"style":1204},[1352],{"type":56,"value":1353},"application\u002Fjson",{"type":51,"tag":1087,"props":1355,"children":1356},{"style":1116},[1357],{"type":56,"value":1358},"'\n",{"type":51,"tag":1087,"props":1360,"children":1362},{"class":1089,"line":1361},10,[1363],{"type":51,"tag":1087,"props":1364,"children":1365},{"style":1116},[1366],{"type":56,"value":1367},"  },\n",{"type":51,"tag":1087,"props":1369,"children":1371},{"class":1089,"line":1370},11,[1372,1377,1381,1386,1390,1395,1399],{"type":51,"tag":1087,"props":1373,"children":1374},{"style":1228},[1375],{"type":56,"value":1376},"  body",{"type":51,"tag":1087,"props":1378,"children":1379},{"style":1116},[1380],{"type":56,"value":1236},{"type":51,"tag":1087,"props":1382,"children":1383},{"style":1110},[1384],{"type":56,"value":1385}," JSON",{"type":51,"tag":1087,"props":1387,"children":1388},{"style":1116},[1389],{"type":56,"value":498},{"type":51,"tag":1087,"props":1391,"children":1392},{"style":1128},[1393],{"type":56,"value":1394},"stringify",{"type":51,"tag":1087,"props":1396,"children":1397},{"style":1110},[1398],{"type":56,"value":1196},{"type":51,"tag":1087,"props":1400,"children":1401},{"style":1116},[1402],{"type":56,"value":1403},"{\n",{"type":51,"tag":1087,"props":1405,"children":1407},{"class":1089,"line":1406},12,[1408,1413,1417,1421,1426,1430],{"type":51,"tag":1087,"props":1409,"children":1410},{"style":1228},[1411],{"type":56,"value":1412},"    message",{"type":51,"tag":1087,"props":1414,"children":1415},{"style":1116},[1416],{"type":56,"value":1236},{"type":51,"tag":1087,"props":1418,"children":1419},{"style":1116},[1420],{"type":56,"value":1241},{"type":51,"tag":1087,"props":1422,"children":1423},{"style":1204},[1424],{"type":56,"value":1425},"Hello from CI\u002FCD pipeline!",{"type":51,"tag":1087,"props":1427,"children":1428},{"style":1116},[1429],{"type":56,"value":1201},{"type":51,"tag":1087,"props":1431,"children":1432},{"style":1116},[1433],{"type":56,"value":1255},{"type":51,"tag":1087,"props":1435,"children":1437},{"class":1089,"line":1436},13,[1438,1443,1447,1451,1456],{"type":51,"tag":1087,"props":1439,"children":1440},{"style":1228},[1441],{"type":56,"value":1442},"    to_channel",{"type":51,"tag":1087,"props":1444,"children":1445},{"style":1116},[1446],{"type":56,"value":1236},{"type":51,"tag":1087,"props":1448,"children":1449},{"style":1116},[1450],{"type":56,"value":1241},{"type":51,"tag":1087,"props":1452,"children":1453},{"style":1204},[1454],{"type":56,"value":1455},"CHANNEL_ID",{"type":51,"tag":1087,"props":1457,"children":1458},{"style":1116},[1459],{"type":56,"value":1358},{"type":51,"tag":1087,"props":1461,"children":1463},{"class":1089,"line":1462},14,[1464,1469],{"type":51,"tag":1087,"props":1465,"children":1466},{"style":1116},[1467],{"type":56,"value":1468},"  }",{"type":51,"tag":1087,"props":1470,"children":1471},{"style":1110},[1472],{"type":56,"value":1473},")\n",{"type":51,"tag":1087,"props":1475,"children":1477},{"class":1089,"line":1476},15,[1478,1483,1487],{"type":51,"tag":1087,"props":1479,"children":1480},{"style":1116},[1481],{"type":56,"value":1482},"}",{"type":51,"tag":1087,"props":1484,"children":1485},{"style":1110},[1486],{"type":56,"value":119},{"type":51,"tag":1087,"props":1488,"children":1489},{"style":1116},[1490],{"type":56,"value":1491},";\n",{"type":51,"tag":1087,"props":1493,"children":1495},{"class":1089,"line":1494},16,[1496],{"type":51,"tag":1087,"props":1497,"children":1498},{"emptyLinePlaceholder":1153},[1499],{"type":56,"value":1156},{"type":51,"tag":1087,"props":1501,"children":1503},{"class":1089,"line":1502},17,[1504,1508,1513,1517,1521,1526,1530,1535,1539],{"type":51,"tag":1087,"props":1505,"children":1506},{"style":1104},[1507],{"type":56,"value":1107},{"type":51,"tag":1087,"props":1509,"children":1510},{"style":1110},[1511],{"type":56,"value":1512}," data ",{"type":51,"tag":1087,"props":1514,"children":1515},{"style":1116},[1516],{"type":56,"value":1119},{"type":51,"tag":1087,"props":1518,"children":1519},{"style":1122},[1520],{"type":56,"value":1125},{"type":51,"tag":1087,"props":1522,"children":1523},{"style":1110},[1524],{"type":56,"value":1525}," response",{"type":51,"tag":1087,"props":1527,"children":1528},{"style":1116},[1529],{"type":56,"value":498},{"type":51,"tag":1087,"props":1531,"children":1532},{"style":1128},[1533],{"type":56,"value":1534},"json",{"type":51,"tag":1087,"props":1536,"children":1537},{"style":1110},[1538],{"type":56,"value":1136},{"type":51,"tag":1087,"props":1540,"children":1541},{"style":1116},[1542],{"type":56,"value":1491},{"type":51,"tag":1087,"props":1544,"children":1546},{"class":1089,"line":1545},18,[1547],{"type":51,"tag":1087,"props":1548,"children":1549},{"style":1094},[1550],{"type":56,"value":1551},"\u002F\u002F { \"id\": \"msg_abc123\", \"date_time\": \"2024-01-15T10:30:00Z\" }\n",{"type":51,"tag":59,"props":1553,"children":1554},{},[1555,1560,1561],{"type":51,"tag":85,"props":1556,"children":1557},{},[1558],{"type":56,"value":1559},"Complete example",{"type":56,"value":188},{"type":51,"tag":190,"props":1562,"children":1563},{"href":309},[1564],{"type":56,"value":1565},"Send Message Guide",{"type":51,"tag":65,"props":1567,"children":1569},{"id":1568},"quick-start-chatbot-api",[1570],{"type":56,"value":1571},"Quick Start: Chatbot API",{"type":51,"tag":59,"props":1573,"children":1574},{},[1575],{"type":56,"value":1576},"Build an interactive chatbot:",{"type":51,"tag":1076,"props":1578,"children":1580},{"className":1078,"code":1579,"language":1080,"meta":1081,"style":1081},"\u002F\u002F 1. Get chatbot token (client_credentials)\nasync function getChatbotToken() {\n  const credentials = Buffer.from(\n    `${CLIENT_ID}:${CLIENT_SECRET}`\n  ).toString('base64');\n  \n  const response = await fetch('https:\u002F\u002Fzoom.us\u002Foauth\u002Ftoken', {\n    method: 'POST',\n    headers: {\n      'Authorization': `Basic ${credentials}`,\n      'Content-Type': 'application\u002Fx-www-form-urlencoded'\n    },\n    body: 'grant_type=client_credentials'\n  });\n  \n  return (await response.json()).access_token;\n}\n\n\u002F\u002F 2. Send chatbot message with buttons\nconst response = await fetch('https:\u002F\u002Fapi.zoom.us\u002Fv2\u002Fim\u002Fchat\u002Fmessages', {\n  method: 'POST',\n  headers: {\n    'Authorization': `Bearer ${accessToken}`,\n    'Content-Type': 'application\u002Fjson'\n  },\n  body: JSON.stringify({\n    robot_jid: process.env.ZOOM_BOT_JID,\n    to_jid: payload.toJid,           \u002F\u002F From webhook\n    account_id: payload.accountId,   \u002F\u002F From webhook\n    content: {\n      head: {\n        text: 'Build Notification',\n        sub_head: { text: 'CI\u002FCD Pipeline' }\n      },\n      body: [\n        { type: 'message', text: 'Deployment successful!' },\n        {\n          type: 'fields',\n          items: [\n            { key: 'Branch', value: 'main' },\n            { key: 'Commit', value: 'abc123' }\n          ]\n        },\n        {\n          type: 'actions',\n          items: [\n            { text: 'View Logs', value: 'view_logs', style: 'Primary' },\n            { text: 'Dismiss', value: 'dismiss', style: 'Default' }\n          ]\n        }\n      ]\n    }\n  })\n});\n",[1581],{"type":51,"tag":112,"props":1582,"children":1583},{"__ignoreMap":1081},[1584,1592,1618,1655,1690,1732,1740,1787,1815,1831,1877,1909,1917,1942,1957,1964,2011,2019,2026,2035,2084,2112,2128,2172,2204,2212,2244,2284,2320,2355,2372,2389,2419,2464,2473,2491,2552,2561,2591,2608,2669,2727,2736,2745,2753,2782,2798,2882,2965,2973,2982,2991,3000,3012],{"type":51,"tag":1087,"props":1585,"children":1586},{"class":1089,"line":1090},[1587],{"type":51,"tag":1087,"props":1588,"children":1589},{"style":1094},[1590],{"type":56,"value":1591},"\u002F\u002F 1. Get chatbot token (client_credentials)\n",{"type":51,"tag":1087,"props":1593,"children":1594},{"class":1089,"line":1100},[1595,1600,1605,1610,1614],{"type":51,"tag":1087,"props":1596,"children":1597},{"style":1104},[1598],{"type":56,"value":1599},"async",{"type":51,"tag":1087,"props":1601,"children":1602},{"style":1104},[1603],{"type":56,"value":1604}," function",{"type":51,"tag":1087,"props":1606,"children":1607},{"style":1128},[1608],{"type":56,"value":1609}," getChatbotToken",{"type":51,"tag":1087,"props":1611,"children":1612},{"style":1116},[1613],{"type":56,"value":1136},{"type":51,"tag":1087,"props":1615,"children":1616},{"style":1116},[1617],{"type":56,"value":1221},{"type":51,"tag":1087,"props":1619,"children":1620},{"class":1089,"line":1149},[1621,1626,1631,1636,1641,1645,1650],{"type":51,"tag":1087,"props":1622,"children":1623},{"style":1104},[1624],{"type":56,"value":1625},"  const",{"type":51,"tag":1087,"props":1627,"children":1628},{"style":1110},[1629],{"type":56,"value":1630}," credentials",{"type":51,"tag":1087,"props":1632,"children":1633},{"style":1116},[1634],{"type":56,"value":1635}," =",{"type":51,"tag":1087,"props":1637,"children":1638},{"style":1110},[1639],{"type":56,"value":1640}," Buffer",{"type":51,"tag":1087,"props":1642,"children":1643},{"style":1116},[1644],{"type":56,"value":498},{"type":51,"tag":1087,"props":1646,"children":1647},{"style":1128},[1648],{"type":56,"value":1649},"from",{"type":51,"tag":1087,"props":1651,"children":1652},{"style":1228},[1653],{"type":56,"value":1654},"(\n",{"type":51,"tag":1087,"props":1656,"children":1657},{"class":1089,"line":1159},[1658,1663,1668,1672,1676,1680,1685],{"type":51,"tag":1087,"props":1659,"children":1660},{"style":1116},[1661],{"type":56,"value":1662},"    `${",{"type":51,"tag":1087,"props":1664,"children":1665},{"style":1110},[1666],{"type":56,"value":1667},"CLIENT_ID",{"type":51,"tag":1087,"props":1669,"children":1670},{"style":1116},[1671],{"type":56,"value":1482},{"type":51,"tag":1087,"props":1673,"children":1674},{"style":1204},[1675],{"type":56,"value":1236},{"type":51,"tag":1087,"props":1677,"children":1678},{"style":1116},[1679],{"type":56,"value":1309},{"type":51,"tag":1087,"props":1681,"children":1682},{"style":1110},[1683],{"type":56,"value":1684},"CLIENT_SECRET",{"type":51,"tag":1087,"props":1686,"children":1687},{"style":1116},[1688],{"type":56,"value":1689},"}`\n",{"type":51,"tag":1087,"props":1691,"children":1692},{"class":1089,"line":1168},[1693,1698,1702,1707,1711,1715,1720,1724,1728],{"type":51,"tag":1087,"props":1694,"children":1695},{"style":1228},[1696],{"type":56,"value":1697},"  )",{"type":51,"tag":1087,"props":1699,"children":1700},{"style":1116},[1701],{"type":56,"value":498},{"type":51,"tag":1087,"props":1703,"children":1704},{"style":1128},[1705],{"type":56,"value":1706},"toString",{"type":51,"tag":1087,"props":1708,"children":1709},{"style":1228},[1710],{"type":56,"value":1196},{"type":51,"tag":1087,"props":1712,"children":1713},{"style":1116},[1714],{"type":56,"value":1201},{"type":51,"tag":1087,"props":1716,"children":1717},{"style":1204},[1718],{"type":56,"value":1719},"base64",{"type":51,"tag":1087,"props":1721,"children":1722},{"style":1116},[1723],{"type":56,"value":1201},{"type":51,"tag":1087,"props":1725,"children":1726},{"style":1228},[1727],{"type":56,"value":119},{"type":51,"tag":1087,"props":1729,"children":1730},{"style":1116},[1731],{"type":56,"value":1491},{"type":51,"tag":1087,"props":1733,"children":1734},{"class":1089,"line":1224},[1735],{"type":51,"tag":1087,"props":1736,"children":1737},{"style":1228},[1738],{"type":56,"value":1739},"  \n",{"type":51,"tag":1087,"props":1741,"children":1742},{"class":1089,"line":1258},[1743,1747,1751,1755,1759,1763,1767,1771,1775,1779,1783],{"type":51,"tag":1087,"props":1744,"children":1745},{"style":1104},[1746],{"type":56,"value":1625},{"type":51,"tag":1087,"props":1748,"children":1749},{"style":1110},[1750],{"type":56,"value":1525},{"type":51,"tag":1087,"props":1752,"children":1753},{"style":1116},[1754],{"type":56,"value":1635},{"type":51,"tag":1087,"props":1756,"children":1757},{"style":1122},[1758],{"type":56,"value":1125},{"type":51,"tag":1087,"props":1760,"children":1761},{"style":1128},[1762],{"type":56,"value":1191},{"type":51,"tag":1087,"props":1764,"children":1765},{"style":1228},[1766],{"type":56,"value":1196},{"type":51,"tag":1087,"props":1768,"children":1769},{"style":1116},[1770],{"type":56,"value":1201},{"type":51,"tag":1087,"props":1772,"children":1773},{"style":1204},[1774],{"type":56,"value":478},{"type":51,"tag":1087,"props":1776,"children":1777},{"style":1116},[1778],{"type":56,"value":1201},{"type":51,"tag":1087,"props":1780,"children":1781},{"style":1116},[1782],{"type":56,"value":1216},{"type":51,"tag":1087,"props":1784,"children":1785},{"style":1116},[1786],{"type":56,"value":1221},{"type":51,"tag":1087,"props":1788,"children":1789},{"class":1089,"line":1275},[1790,1795,1799,1803,1807,1811],{"type":51,"tag":1087,"props":1791,"children":1792},{"style":1228},[1793],{"type":56,"value":1794},"    method",{"type":51,"tag":1087,"props":1796,"children":1797},{"style":1116},[1798],{"type":56,"value":1236},{"type":51,"tag":1087,"props":1800,"children":1801},{"style":1116},[1802],{"type":56,"value":1241},{"type":51,"tag":1087,"props":1804,"children":1805},{"style":1204},[1806],{"type":56,"value":1246},{"type":51,"tag":1087,"props":1808,"children":1809},{"style":1116},[1810],{"type":56,"value":1201},{"type":51,"tag":1087,"props":1812,"children":1813},{"style":1116},[1814],{"type":56,"value":1255},{"type":51,"tag":1087,"props":1816,"children":1817},{"class":1089,"line":1326},[1818,1823,1827],{"type":51,"tag":1087,"props":1819,"children":1820},{"style":1228},[1821],{"type":56,"value":1822},"    headers",{"type":51,"tag":1087,"props":1824,"children":1825},{"style":1116},[1826],{"type":56,"value":1236},{"type":51,"tag":1087,"props":1828,"children":1829},{"style":1116},[1830],{"type":56,"value":1221},{"type":51,"tag":1087,"props":1832,"children":1833},{"class":1089,"line":1361},[1834,1839,1843,1847,1851,1855,1860,1864,1869,1873],{"type":51,"tag":1087,"props":1835,"children":1836},{"style":1116},[1837],{"type":56,"value":1838},"      '",{"type":51,"tag":1087,"props":1840,"children":1841},{"style":1228},[1842],{"type":56,"value":1286},{"type":51,"tag":1087,"props":1844,"children":1845},{"style":1116},[1846],{"type":56,"value":1201},{"type":51,"tag":1087,"props":1848,"children":1849},{"style":1116},[1850],{"type":56,"value":1236},{"type":51,"tag":1087,"props":1852,"children":1853},{"style":1116},[1854],{"type":56,"value":1299},{"type":51,"tag":1087,"props":1856,"children":1857},{"style":1204},[1858],{"type":56,"value":1859},"Basic ",{"type":51,"tag":1087,"props":1861,"children":1862},{"style":1116},[1863],{"type":56,"value":1309},{"type":51,"tag":1087,"props":1865,"children":1866},{"style":1110},[1867],{"type":56,"value":1868},"credentials",{"type":51,"tag":1087,"props":1870,"children":1871},{"style":1116},[1872],{"type":56,"value":1319},{"type":51,"tag":1087,"props":1874,"children":1875},{"style":1116},[1876],{"type":56,"value":1255},{"type":51,"tag":1087,"props":1878,"children":1879},{"class":1089,"line":1370},[1880,1884,1888,1892,1896,1900,1905],{"type":51,"tag":1087,"props":1881,"children":1882},{"style":1116},[1883],{"type":56,"value":1838},{"type":51,"tag":1087,"props":1885,"children":1886},{"style":1228},[1887],{"type":56,"value":1336},{"type":51,"tag":1087,"props":1889,"children":1890},{"style":1116},[1891],{"type":56,"value":1201},{"type":51,"tag":1087,"props":1893,"children":1894},{"style":1116},[1895],{"type":56,"value":1236},{"type":51,"tag":1087,"props":1897,"children":1898},{"style":1116},[1899],{"type":56,"value":1241},{"type":51,"tag":1087,"props":1901,"children":1902},{"style":1204},[1903],{"type":56,"value":1904},"application\u002Fx-www-form-urlencoded",{"type":51,"tag":1087,"props":1906,"children":1907},{"style":1116},[1908],{"type":56,"value":1358},{"type":51,"tag":1087,"props":1910,"children":1911},{"class":1089,"line":1406},[1912],{"type":51,"tag":1087,"props":1913,"children":1914},{"style":1116},[1915],{"type":56,"value":1916},"    },\n",{"type":51,"tag":1087,"props":1918,"children":1919},{"class":1089,"line":1436},[1920,1925,1929,1933,1938],{"type":51,"tag":1087,"props":1921,"children":1922},{"style":1228},[1923],{"type":56,"value":1924},"    body",{"type":51,"tag":1087,"props":1926,"children":1927},{"style":1116},[1928],{"type":56,"value":1236},{"type":51,"tag":1087,"props":1930,"children":1931},{"style":1116},[1932],{"type":56,"value":1241},{"type":51,"tag":1087,"props":1934,"children":1935},{"style":1204},[1936],{"type":56,"value":1937},"grant_type=client_credentials",{"type":51,"tag":1087,"props":1939,"children":1940},{"style":1116},[1941],{"type":56,"value":1358},{"type":51,"tag":1087,"props":1943,"children":1944},{"class":1089,"line":1462},[1945,1949,1953],{"type":51,"tag":1087,"props":1946,"children":1947},{"style":1116},[1948],{"type":56,"value":1468},{"type":51,"tag":1087,"props":1950,"children":1951},{"style":1228},[1952],{"type":56,"value":119},{"type":51,"tag":1087,"props":1954,"children":1955},{"style":1116},[1956],{"type":56,"value":1491},{"type":51,"tag":1087,"props":1958,"children":1959},{"class":1089,"line":1476},[1960],{"type":51,"tag":1087,"props":1961,"children":1962},{"style":1228},[1963],{"type":56,"value":1739},{"type":51,"tag":1087,"props":1965,"children":1966},{"class":1089,"line":1494},[1967,1972,1976,1981,1985,1989,1993,1998,2002,2007],{"type":51,"tag":1087,"props":1968,"children":1969},{"style":1122},[1970],{"type":56,"value":1971},"  return",{"type":51,"tag":1087,"props":1973,"children":1974},{"style":1228},[1975],{"type":56,"value":110},{"type":51,"tag":1087,"props":1977,"children":1978},{"style":1122},[1979],{"type":56,"value":1980},"await",{"type":51,"tag":1087,"props":1982,"children":1983},{"style":1110},[1984],{"type":56,"value":1525},{"type":51,"tag":1087,"props":1986,"children":1987},{"style":1116},[1988],{"type":56,"value":498},{"type":51,"tag":1087,"props":1990,"children":1991},{"style":1128},[1992],{"type":56,"value":1534},{"type":51,"tag":1087,"props":1994,"children":1995},{"style":1228},[1996],{"type":56,"value":1997},"())",{"type":51,"tag":1087,"props":1999,"children":2000},{"style":1116},[2001],{"type":56,"value":498},{"type":51,"tag":1087,"props":2003,"children":2004},{"style":1110},[2005],{"type":56,"value":2006},"access_token",{"type":51,"tag":1087,"props":2008,"children":2009},{"style":1116},[2010],{"type":56,"value":1491},{"type":51,"tag":1087,"props":2012,"children":2013},{"class":1089,"line":1502},[2014],{"type":51,"tag":1087,"props":2015,"children":2016},{"style":1116},[2017],{"type":56,"value":2018},"}\n",{"type":51,"tag":1087,"props":2020,"children":2021},{"class":1089,"line":1545},[2022],{"type":51,"tag":1087,"props":2023,"children":2024},{"emptyLinePlaceholder":1153},[2025],{"type":56,"value":1156},{"type":51,"tag":1087,"props":2027,"children":2029},{"class":1089,"line":2028},19,[2030],{"type":51,"tag":1087,"props":2031,"children":2032},{"style":1094},[2033],{"type":56,"value":2034},"\u002F\u002F 2. Send chatbot message with buttons\n",{"type":51,"tag":1087,"props":2036,"children":2038},{"class":1089,"line":2037},20,[2039,2043,2047,2051,2055,2059,2063,2067,2072,2076,2080],{"type":51,"tag":1087,"props":2040,"children":2041},{"style":1104},[2042],{"type":56,"value":1107},{"type":51,"tag":1087,"props":2044,"children":2045},{"style":1110},[2046],{"type":56,"value":1178},{"type":51,"tag":1087,"props":2048,"children":2049},{"style":1116},[2050],{"type":56,"value":1119},{"type":51,"tag":1087,"props":2052,"children":2053},{"style":1122},[2054],{"type":56,"value":1125},{"type":51,"tag":1087,"props":2056,"children":2057},{"style":1128},[2058],{"type":56,"value":1191},{"type":51,"tag":1087,"props":2060,"children":2061},{"style":1110},[2062],{"type":56,"value":1196},{"type":51,"tag":1087,"props":2064,"children":2065},{"style":1116},[2066],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2068,"children":2069},{"style":1204},[2070],{"type":56,"value":2071},"https:\u002F\u002Fapi.zoom.us\u002Fv2\u002Fim\u002Fchat\u002Fmessages",{"type":51,"tag":1087,"props":2073,"children":2074},{"style":1116},[2075],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2077,"children":2078},{"style":1116},[2079],{"type":56,"value":1216},{"type":51,"tag":1087,"props":2081,"children":2082},{"style":1116},[2083],{"type":56,"value":1221},{"type":51,"tag":1087,"props":2085,"children":2087},{"class":1089,"line":2086},21,[2088,2092,2096,2100,2104,2108],{"type":51,"tag":1087,"props":2089,"children":2090},{"style":1228},[2091],{"type":56,"value":1231},{"type":51,"tag":1087,"props":2093,"children":2094},{"style":1116},[2095],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2097,"children":2098},{"style":1116},[2099],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2101,"children":2102},{"style":1204},[2103],{"type":56,"value":1246},{"type":51,"tag":1087,"props":2105,"children":2106},{"style":1116},[2107],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2109,"children":2110},{"style":1116},[2111],{"type":56,"value":1255},{"type":51,"tag":1087,"props":2113,"children":2115},{"class":1089,"line":2114},22,[2116,2120,2124],{"type":51,"tag":1087,"props":2117,"children":2118},{"style":1228},[2119],{"type":56,"value":1264},{"type":51,"tag":1087,"props":2121,"children":2122},{"style":1116},[2123],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2125,"children":2126},{"style":1116},[2127],{"type":56,"value":1221},{"type":51,"tag":1087,"props":2129,"children":2131},{"class":1089,"line":2130},23,[2132,2136,2140,2144,2148,2152,2156,2160,2164,2168],{"type":51,"tag":1087,"props":2133,"children":2134},{"style":1116},[2135],{"type":56,"value":1281},{"type":51,"tag":1087,"props":2137,"children":2138},{"style":1228},[2139],{"type":56,"value":1286},{"type":51,"tag":1087,"props":2141,"children":2142},{"style":1116},[2143],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2145,"children":2146},{"style":1116},[2147],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2149,"children":2150},{"style":1116},[2151],{"type":56,"value":1299},{"type":51,"tag":1087,"props":2153,"children":2154},{"style":1204},[2155],{"type":56,"value":1304},{"type":51,"tag":1087,"props":2157,"children":2158},{"style":1116},[2159],{"type":56,"value":1309},{"type":51,"tag":1087,"props":2161,"children":2162},{"style":1110},[2163],{"type":56,"value":1314},{"type":51,"tag":1087,"props":2165,"children":2166},{"style":1116},[2167],{"type":56,"value":1319},{"type":51,"tag":1087,"props":2169,"children":2170},{"style":1116},[2171],{"type":56,"value":1255},{"type":51,"tag":1087,"props":2173,"children":2175},{"class":1089,"line":2174},24,[2176,2180,2184,2188,2192,2196,2200],{"type":51,"tag":1087,"props":2177,"children":2178},{"style":1116},[2179],{"type":56,"value":1281},{"type":51,"tag":1087,"props":2181,"children":2182},{"style":1228},[2183],{"type":56,"value":1336},{"type":51,"tag":1087,"props":2185,"children":2186},{"style":1116},[2187],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2189,"children":2190},{"style":1116},[2191],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2193,"children":2194},{"style":1116},[2195],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2197,"children":2198},{"style":1204},[2199],{"type":56,"value":1353},{"type":51,"tag":1087,"props":2201,"children":2202},{"style":1116},[2203],{"type":56,"value":1358},{"type":51,"tag":1087,"props":2205,"children":2207},{"class":1089,"line":2206},25,[2208],{"type":51,"tag":1087,"props":2209,"children":2210},{"style":1116},[2211],{"type":56,"value":1367},{"type":51,"tag":1087,"props":2213,"children":2215},{"class":1089,"line":2214},26,[2216,2220,2224,2228,2232,2236,2240],{"type":51,"tag":1087,"props":2217,"children":2218},{"style":1228},[2219],{"type":56,"value":1376},{"type":51,"tag":1087,"props":2221,"children":2222},{"style":1116},[2223],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2225,"children":2226},{"style":1110},[2227],{"type":56,"value":1385},{"type":51,"tag":1087,"props":2229,"children":2230},{"style":1116},[2231],{"type":56,"value":498},{"type":51,"tag":1087,"props":2233,"children":2234},{"style":1128},[2235],{"type":56,"value":1394},{"type":51,"tag":1087,"props":2237,"children":2238},{"style":1110},[2239],{"type":56,"value":1196},{"type":51,"tag":1087,"props":2241,"children":2242},{"style":1116},[2243],{"type":56,"value":1403},{"type":51,"tag":1087,"props":2245,"children":2247},{"class":1089,"line":2246},27,[2248,2253,2257,2262,2266,2271,2275,2280],{"type":51,"tag":1087,"props":2249,"children":2250},{"style":1228},[2251],{"type":56,"value":2252},"    robot_jid",{"type":51,"tag":1087,"props":2254,"children":2255},{"style":1116},[2256],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2258,"children":2259},{"style":1110},[2260],{"type":56,"value":2261}," process",{"type":51,"tag":1087,"props":2263,"children":2264},{"style":1116},[2265],{"type":56,"value":498},{"type":51,"tag":1087,"props":2267,"children":2268},{"style":1110},[2269],{"type":56,"value":2270},"env",{"type":51,"tag":1087,"props":2272,"children":2273},{"style":1116},[2274],{"type":56,"value":498},{"type":51,"tag":1087,"props":2276,"children":2277},{"style":1110},[2278],{"type":56,"value":2279},"ZOOM_BOT_JID",{"type":51,"tag":1087,"props":2281,"children":2282},{"style":1116},[2283],{"type":56,"value":1255},{"type":51,"tag":1087,"props":2285,"children":2287},{"class":1089,"line":2286},28,[2288,2293,2297,2302,2306,2311,2315],{"type":51,"tag":1087,"props":2289,"children":2290},{"style":1228},[2291],{"type":56,"value":2292},"    to_jid",{"type":51,"tag":1087,"props":2294,"children":2295},{"style":1116},[2296],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2298,"children":2299},{"style":1110},[2300],{"type":56,"value":2301}," payload",{"type":51,"tag":1087,"props":2303,"children":2304},{"style":1116},[2305],{"type":56,"value":498},{"type":51,"tag":1087,"props":2307,"children":2308},{"style":1110},[2309],{"type":56,"value":2310},"toJid",{"type":51,"tag":1087,"props":2312,"children":2313},{"style":1116},[2314],{"type":56,"value":1216},{"type":51,"tag":1087,"props":2316,"children":2317},{"style":1094},[2318],{"type":56,"value":2319},"           \u002F\u002F From webhook\n",{"type":51,"tag":1087,"props":2321,"children":2323},{"class":1089,"line":2322},29,[2324,2329,2333,2337,2341,2346,2350],{"type":51,"tag":1087,"props":2325,"children":2326},{"style":1228},[2327],{"type":56,"value":2328},"    account_id",{"type":51,"tag":1087,"props":2330,"children":2331},{"style":1116},[2332],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2334,"children":2335},{"style":1110},[2336],{"type":56,"value":2301},{"type":51,"tag":1087,"props":2338,"children":2339},{"style":1116},[2340],{"type":56,"value":498},{"type":51,"tag":1087,"props":2342,"children":2343},{"style":1110},[2344],{"type":56,"value":2345},"accountId",{"type":51,"tag":1087,"props":2347,"children":2348},{"style":1116},[2349],{"type":56,"value":1216},{"type":51,"tag":1087,"props":2351,"children":2352},{"style":1094},[2353],{"type":56,"value":2354},"   \u002F\u002F From webhook\n",{"type":51,"tag":1087,"props":2356,"children":2358},{"class":1089,"line":2357},30,[2359,2364,2368],{"type":51,"tag":1087,"props":2360,"children":2361},{"style":1228},[2362],{"type":56,"value":2363},"    content",{"type":51,"tag":1087,"props":2365,"children":2366},{"style":1116},[2367],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2369,"children":2370},{"style":1116},[2371],{"type":56,"value":1221},{"type":51,"tag":1087,"props":2373,"children":2375},{"class":1089,"line":2374},31,[2376,2381,2385],{"type":51,"tag":1087,"props":2377,"children":2378},{"style":1228},[2379],{"type":56,"value":2380},"      head",{"type":51,"tag":1087,"props":2382,"children":2383},{"style":1116},[2384],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2386,"children":2387},{"style":1116},[2388],{"type":56,"value":1221},{"type":51,"tag":1087,"props":2390,"children":2392},{"class":1089,"line":2391},32,[2393,2398,2402,2406,2411,2415],{"type":51,"tag":1087,"props":2394,"children":2395},{"style":1228},[2396],{"type":56,"value":2397},"        text",{"type":51,"tag":1087,"props":2399,"children":2400},{"style":1116},[2401],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2403,"children":2404},{"style":1116},[2405],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2407,"children":2408},{"style":1204},[2409],{"type":56,"value":2410},"Build Notification",{"type":51,"tag":1087,"props":2412,"children":2413},{"style":1116},[2414],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2416,"children":2417},{"style":1116},[2418],{"type":56,"value":1255},{"type":51,"tag":1087,"props":2420,"children":2422},{"class":1089,"line":2421},33,[2423,2428,2432,2437,2442,2446,2450,2455,2459],{"type":51,"tag":1087,"props":2424,"children":2425},{"style":1228},[2426],{"type":56,"value":2427},"        sub_head",{"type":51,"tag":1087,"props":2429,"children":2430},{"style":1116},[2431],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2433,"children":2434},{"style":1116},[2435],{"type":56,"value":2436}," {",{"type":51,"tag":1087,"props":2438,"children":2439},{"style":1228},[2440],{"type":56,"value":2441}," text",{"type":51,"tag":1087,"props":2443,"children":2444},{"style":1116},[2445],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2447,"children":2448},{"style":1116},[2449],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2451,"children":2452},{"style":1204},[2453],{"type":56,"value":2454},"CI\u002FCD Pipeline",{"type":51,"tag":1087,"props":2456,"children":2457},{"style":1116},[2458],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2460,"children":2461},{"style":1116},[2462],{"type":56,"value":2463}," }\n",{"type":51,"tag":1087,"props":2465,"children":2467},{"class":1089,"line":2466},34,[2468],{"type":51,"tag":1087,"props":2469,"children":2470},{"style":1116},[2471],{"type":56,"value":2472},"      },\n",{"type":51,"tag":1087,"props":2474,"children":2476},{"class":1089,"line":2475},35,[2477,2482,2486],{"type":51,"tag":1087,"props":2478,"children":2479},{"style":1228},[2480],{"type":56,"value":2481},"      body",{"type":51,"tag":1087,"props":2483,"children":2484},{"style":1116},[2485],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2487,"children":2488},{"style":1110},[2489],{"type":56,"value":2490}," [\n",{"type":51,"tag":1087,"props":2492,"children":2494},{"class":1089,"line":2493},36,[2495,2500,2505,2509,2513,2518,2522,2526,2530,2534,2538,2543,2547],{"type":51,"tag":1087,"props":2496,"children":2497},{"style":1116},[2498],{"type":56,"value":2499},"        {",{"type":51,"tag":1087,"props":2501,"children":2502},{"style":1228},[2503],{"type":56,"value":2504}," type",{"type":51,"tag":1087,"props":2506,"children":2507},{"style":1116},[2508],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2510,"children":2511},{"style":1116},[2512],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2514,"children":2515},{"style":1204},[2516],{"type":56,"value":2517},"message",{"type":51,"tag":1087,"props":2519,"children":2520},{"style":1116},[2521],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2523,"children":2524},{"style":1116},[2525],{"type":56,"value":1216},{"type":51,"tag":1087,"props":2527,"children":2528},{"style":1228},[2529],{"type":56,"value":2441},{"type":51,"tag":1087,"props":2531,"children":2532},{"style":1116},[2533],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2535,"children":2536},{"style":1116},[2537],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2539,"children":2540},{"style":1204},[2541],{"type":56,"value":2542},"Deployment successful!",{"type":51,"tag":1087,"props":2544,"children":2545},{"style":1116},[2546],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2548,"children":2549},{"style":1116},[2550],{"type":56,"value":2551}," },\n",{"type":51,"tag":1087,"props":2553,"children":2555},{"class":1089,"line":2554},37,[2556],{"type":51,"tag":1087,"props":2557,"children":2558},{"style":1116},[2559],{"type":56,"value":2560},"        {\n",{"type":51,"tag":1087,"props":2562,"children":2564},{"class":1089,"line":2563},38,[2565,2570,2574,2578,2583,2587],{"type":51,"tag":1087,"props":2566,"children":2567},{"style":1228},[2568],{"type":56,"value":2569},"          type",{"type":51,"tag":1087,"props":2571,"children":2572},{"style":1116},[2573],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2575,"children":2576},{"style":1116},[2577],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2579,"children":2580},{"style":1204},[2581],{"type":56,"value":2582},"fields",{"type":51,"tag":1087,"props":2584,"children":2585},{"style":1116},[2586],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2588,"children":2589},{"style":1116},[2590],{"type":56,"value":1255},{"type":51,"tag":1087,"props":2592,"children":2594},{"class":1089,"line":2593},39,[2595,2600,2604],{"type":51,"tag":1087,"props":2596,"children":2597},{"style":1228},[2598],{"type":56,"value":2599},"          items",{"type":51,"tag":1087,"props":2601,"children":2602},{"style":1116},[2603],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2605,"children":2606},{"style":1110},[2607],{"type":56,"value":2490},{"type":51,"tag":1087,"props":2609,"children":2611},{"class":1089,"line":2610},40,[2612,2617,2622,2626,2630,2635,2639,2643,2648,2652,2656,2661,2665],{"type":51,"tag":1087,"props":2613,"children":2614},{"style":1116},[2615],{"type":56,"value":2616},"            {",{"type":51,"tag":1087,"props":2618,"children":2619},{"style":1228},[2620],{"type":56,"value":2621}," key",{"type":51,"tag":1087,"props":2623,"children":2624},{"style":1116},[2625],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2627,"children":2628},{"style":1116},[2629],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2631,"children":2632},{"style":1204},[2633],{"type":56,"value":2634},"Branch",{"type":51,"tag":1087,"props":2636,"children":2637},{"style":1116},[2638],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2640,"children":2641},{"style":1116},[2642],{"type":56,"value":1216},{"type":51,"tag":1087,"props":2644,"children":2645},{"style":1228},[2646],{"type":56,"value":2647}," value",{"type":51,"tag":1087,"props":2649,"children":2650},{"style":1116},[2651],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2653,"children":2654},{"style":1116},[2655],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2657,"children":2658},{"style":1204},[2659],{"type":56,"value":2660},"main",{"type":51,"tag":1087,"props":2662,"children":2663},{"style":1116},[2664],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2666,"children":2667},{"style":1116},[2668],{"type":56,"value":2551},{"type":51,"tag":1087,"props":2670,"children":2672},{"class":1089,"line":2671},41,[2673,2677,2681,2685,2689,2694,2698,2702,2706,2710,2714,2719,2723],{"type":51,"tag":1087,"props":2674,"children":2675},{"style":1116},[2676],{"type":56,"value":2616},{"type":51,"tag":1087,"props":2678,"children":2679},{"style":1228},[2680],{"type":56,"value":2621},{"type":51,"tag":1087,"props":2682,"children":2683},{"style":1116},[2684],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2686,"children":2687},{"style":1116},[2688],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2690,"children":2691},{"style":1204},[2692],{"type":56,"value":2693},"Commit",{"type":51,"tag":1087,"props":2695,"children":2696},{"style":1116},[2697],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2699,"children":2700},{"style":1116},[2701],{"type":56,"value":1216},{"type":51,"tag":1087,"props":2703,"children":2704},{"style":1228},[2705],{"type":56,"value":2647},{"type":51,"tag":1087,"props":2707,"children":2708},{"style":1116},[2709],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2711,"children":2712},{"style":1116},[2713],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2715,"children":2716},{"style":1204},[2717],{"type":56,"value":2718},"abc123",{"type":51,"tag":1087,"props":2720,"children":2721},{"style":1116},[2722],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2724,"children":2725},{"style":1116},[2726],{"type":56,"value":2463},{"type":51,"tag":1087,"props":2728,"children":2730},{"class":1089,"line":2729},42,[2731],{"type":51,"tag":1087,"props":2732,"children":2733},{"style":1110},[2734],{"type":56,"value":2735},"          ]\n",{"type":51,"tag":1087,"props":2737,"children":2739},{"class":1089,"line":2738},43,[2740],{"type":51,"tag":1087,"props":2741,"children":2742},{"style":1116},[2743],{"type":56,"value":2744},"        },\n",{"type":51,"tag":1087,"props":2746,"children":2748},{"class":1089,"line":2747},44,[2749],{"type":51,"tag":1087,"props":2750,"children":2751},{"style":1116},[2752],{"type":56,"value":2560},{"type":51,"tag":1087,"props":2754,"children":2756},{"class":1089,"line":2755},45,[2757,2761,2765,2769,2774,2778],{"type":51,"tag":1087,"props":2758,"children":2759},{"style":1228},[2760],{"type":56,"value":2569},{"type":51,"tag":1087,"props":2762,"children":2763},{"style":1116},[2764],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2766,"children":2767},{"style":1116},[2768],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2770,"children":2771},{"style":1204},[2772],{"type":56,"value":2773},"actions",{"type":51,"tag":1087,"props":2775,"children":2776},{"style":1116},[2777],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2779,"children":2780},{"style":1116},[2781],{"type":56,"value":1255},{"type":51,"tag":1087,"props":2783,"children":2785},{"class":1089,"line":2784},46,[2786,2790,2794],{"type":51,"tag":1087,"props":2787,"children":2788},{"style":1228},[2789],{"type":56,"value":2599},{"type":51,"tag":1087,"props":2791,"children":2792},{"style":1116},[2793],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2795,"children":2796},{"style":1110},[2797],{"type":56,"value":2490},{"type":51,"tag":1087,"props":2799,"children":2801},{"class":1089,"line":2800},47,[2802,2806,2810,2814,2818,2823,2827,2831,2835,2839,2843,2848,2852,2856,2861,2865,2869,2874,2878],{"type":51,"tag":1087,"props":2803,"children":2804},{"style":1116},[2805],{"type":56,"value":2616},{"type":51,"tag":1087,"props":2807,"children":2808},{"style":1228},[2809],{"type":56,"value":2441},{"type":51,"tag":1087,"props":2811,"children":2812},{"style":1116},[2813],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2815,"children":2816},{"style":1116},[2817],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2819,"children":2820},{"style":1204},[2821],{"type":56,"value":2822},"View Logs",{"type":51,"tag":1087,"props":2824,"children":2825},{"style":1116},[2826],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2828,"children":2829},{"style":1116},[2830],{"type":56,"value":1216},{"type":51,"tag":1087,"props":2832,"children":2833},{"style":1228},[2834],{"type":56,"value":2647},{"type":51,"tag":1087,"props":2836,"children":2837},{"style":1116},[2838],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2840,"children":2841},{"style":1116},[2842],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2844,"children":2845},{"style":1204},[2846],{"type":56,"value":2847},"view_logs",{"type":51,"tag":1087,"props":2849,"children":2850},{"style":1116},[2851],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2853,"children":2854},{"style":1116},[2855],{"type":56,"value":1216},{"type":51,"tag":1087,"props":2857,"children":2858},{"style":1228},[2859],{"type":56,"value":2860}," style",{"type":51,"tag":1087,"props":2862,"children":2863},{"style":1116},[2864],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2866,"children":2867},{"style":1116},[2868],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2870,"children":2871},{"style":1204},[2872],{"type":56,"value":2873},"Primary",{"type":51,"tag":1087,"props":2875,"children":2876},{"style":1116},[2877],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2879,"children":2880},{"style":1116},[2881],{"type":56,"value":2551},{"type":51,"tag":1087,"props":2883,"children":2885},{"class":1089,"line":2884},48,[2886,2890,2894,2898,2902,2907,2911,2915,2919,2923,2927,2932,2936,2940,2944,2948,2952,2957,2961],{"type":51,"tag":1087,"props":2887,"children":2888},{"style":1116},[2889],{"type":56,"value":2616},{"type":51,"tag":1087,"props":2891,"children":2892},{"style":1228},[2893],{"type":56,"value":2441},{"type":51,"tag":1087,"props":2895,"children":2896},{"style":1116},[2897],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2899,"children":2900},{"style":1116},[2901],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2903,"children":2904},{"style":1204},[2905],{"type":56,"value":2906},"Dismiss",{"type":51,"tag":1087,"props":2908,"children":2909},{"style":1116},[2910],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2912,"children":2913},{"style":1116},[2914],{"type":56,"value":1216},{"type":51,"tag":1087,"props":2916,"children":2917},{"style":1228},[2918],{"type":56,"value":2647},{"type":51,"tag":1087,"props":2920,"children":2921},{"style":1116},[2922],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2924,"children":2925},{"style":1116},[2926],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2928,"children":2929},{"style":1204},[2930],{"type":56,"value":2931},"dismiss",{"type":51,"tag":1087,"props":2933,"children":2934},{"style":1116},[2935],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2937,"children":2938},{"style":1116},[2939],{"type":56,"value":1216},{"type":51,"tag":1087,"props":2941,"children":2942},{"style":1228},[2943],{"type":56,"value":2860},{"type":51,"tag":1087,"props":2945,"children":2946},{"style":1116},[2947],{"type":56,"value":1236},{"type":51,"tag":1087,"props":2949,"children":2950},{"style":1116},[2951],{"type":56,"value":1241},{"type":51,"tag":1087,"props":2953,"children":2954},{"style":1204},[2955],{"type":56,"value":2956},"Default",{"type":51,"tag":1087,"props":2958,"children":2959},{"style":1116},[2960],{"type":56,"value":1201},{"type":51,"tag":1087,"props":2962,"children":2963},{"style":1116},[2964],{"type":56,"value":2463},{"type":51,"tag":1087,"props":2966,"children":2968},{"class":1089,"line":2967},49,[2969],{"type":51,"tag":1087,"props":2970,"children":2971},{"style":1110},[2972],{"type":56,"value":2735},{"type":51,"tag":1087,"props":2974,"children":2976},{"class":1089,"line":2975},50,[2977],{"type":51,"tag":1087,"props":2978,"children":2979},{"style":1116},[2980],{"type":56,"value":2981},"        }\n",{"type":51,"tag":1087,"props":2983,"children":2985},{"class":1089,"line":2984},51,[2986],{"type":51,"tag":1087,"props":2987,"children":2988},{"style":1110},[2989],{"type":56,"value":2990},"      ]\n",{"type":51,"tag":1087,"props":2992,"children":2994},{"class":1089,"line":2993},52,[2995],{"type":51,"tag":1087,"props":2996,"children":2997},{"style":1116},[2998],{"type":56,"value":2999},"    }\n",{"type":51,"tag":1087,"props":3001,"children":3003},{"class":1089,"line":3002},53,[3004,3008],{"type":51,"tag":1087,"props":3005,"children":3006},{"style":1116},[3007],{"type":56,"value":1468},{"type":51,"tag":1087,"props":3009,"children":3010},{"style":1110},[3011],{"type":56,"value":1473},{"type":51,"tag":1087,"props":3013,"children":3015},{"class":1089,"line":3014},54,[3016,3020,3024],{"type":51,"tag":1087,"props":3017,"children":3018},{"style":1116},[3019],{"type":56,"value":1482},{"type":51,"tag":1087,"props":3021,"children":3022},{"style":1110},[3023],{"type":56,"value":119},{"type":51,"tag":1087,"props":3025,"children":3026},{"style":1116},[3027],{"type":56,"value":1491},{"type":51,"tag":59,"props":3029,"children":3030},{},[3031,3035,3036],{"type":51,"tag":85,"props":3032,"children":3033},{},[3034],{"type":56,"value":1559},{"type":56,"value":188},{"type":51,"tag":190,"props":3037,"children":3039},{"href":3038},"examples\u002Fchatbot-setup.md",[3040],{"type":56,"value":3041},"Chatbot Setup Guide",{"type":51,"tag":65,"props":3043,"children":3045},{"id":3044},"key-features",[3046],{"type":56,"value":3047},"Key Features",{"type":51,"tag":670,"props":3049,"children":3051},{"id":3050},"team-chat-api",[3052],{"type":56,"value":592},{"type":51,"tag":550,"props":3054,"children":3055},{},[3056,3072],{"type":51,"tag":554,"props":3057,"children":3058},{},[3059],{"type":51,"tag":558,"props":3060,"children":3061},{},[3062,3067],{"type":51,"tag":562,"props":3063,"children":3064},{},[3065],{"type":56,"value":3066},"Feature",{"type":51,"tag":562,"props":3068,"children":3069},{},[3070],{"type":56,"value":3071},"Description",{"type":51,"tag":573,"props":3073,"children":3074},{},[3075,3091,3107,3123,3139],{"type":51,"tag":558,"props":3076,"children":3077},{},[3078,3086],{"type":51,"tag":580,"props":3079,"children":3080},{},[3081],{"type":51,"tag":85,"props":3082,"children":3083},{},[3084],{"type":56,"value":3085},"Send Messages",{"type":51,"tag":580,"props":3087,"children":3088},{},[3089],{"type":56,"value":3090},"Post messages to channels or direct messages",{"type":51,"tag":558,"props":3092,"children":3093},{},[3094,3102],{"type":51,"tag":580,"props":3095,"children":3096},{},[3097],{"type":51,"tag":85,"props":3098,"children":3099},{},[3100],{"type":56,"value":3101},"List Channels",{"type":51,"tag":580,"props":3103,"children":3104},{},[3105],{"type":56,"value":3106},"Get user's channels with metadata",{"type":51,"tag":558,"props":3108,"children":3109},{},[3110,3118],{"type":51,"tag":580,"props":3111,"children":3112},{},[3113],{"type":51,"tag":85,"props":3114,"children":3115},{},[3116],{"type":56,"value":3117},"Create Channels",{"type":51,"tag":580,"props":3119,"children":3120},{},[3121],{"type":56,"value":3122},"Create public\u002Fprivate channels programmatically",{"type":51,"tag":558,"props":3124,"children":3125},{},[3126,3134],{"type":51,"tag":580,"props":3127,"children":3128},{},[3129],{"type":51,"tag":85,"props":3130,"children":3131},{},[3132],{"type":56,"value":3133},"Threaded Replies",{"type":51,"tag":580,"props":3135,"children":3136},{},[3137],{"type":56,"value":3138},"Reply to specific messages in threads",{"type":51,"tag":558,"props":3140,"children":3141},{},[3142,3150],{"type":51,"tag":580,"props":3143,"children":3144},{},[3145],{"type":51,"tag":85,"props":3146,"children":3147},{},[3148],{"type":56,"value":3149},"Edit\u002FDelete",{"type":51,"tag":580,"props":3151,"children":3152},{},[3153],{"type":56,"value":3154},"Modify or remove messages",{"type":51,"tag":670,"props":3156,"children":3158},{"id":3157},"chatbot-api",[3159],{"type":56,"value":623},{"type":51,"tag":550,"props":3161,"children":3162},{},[3163,3177],{"type":51,"tag":554,"props":3164,"children":3165},{},[3166],{"type":51,"tag":558,"props":3167,"children":3168},{},[3169,3173],{"type":51,"tag":562,"props":3170,"children":3171},{},[3172],{"type":56,"value":3066},{"type":51,"tag":562,"props":3174,"children":3175},{},[3176],{"type":56,"value":3071},{"type":51,"tag":573,"props":3178,"children":3179},{},[3180,3196,3219,3234,3249,3265],{"type":51,"tag":558,"props":3181,"children":3182},{},[3183,3191],{"type":51,"tag":580,"props":3184,"children":3185},{},[3186],{"type":51,"tag":85,"props":3187,"children":3188},{},[3189],{"type":56,"value":3190},"Rich Message Cards",{"type":51,"tag":580,"props":3192,"children":3193},{},[3194],{"type":56,"value":3195},"Headers, images, fields, buttons, forms",{"type":51,"tag":558,"props":3197,"children":3198},{},[3199,3206],{"type":51,"tag":580,"props":3200,"children":3201},{},[3202],{"type":51,"tag":85,"props":3203,"children":3204},{},[3205],{"type":56,"value":540},{"type":51,"tag":580,"props":3207,"children":3208},{},[3209,3211,3217],{"type":56,"value":3210},"Custom ",{"type":51,"tag":112,"props":3212,"children":3214},{"className":3213},[],[3215],{"type":56,"value":3216},"\u002Fcommands",{"type":56,"value":3218}," trigger webhooks",{"type":51,"tag":558,"props":3220,"children":3221},{},[3222,3229],{"type":51,"tag":580,"props":3223,"children":3224},{},[3225],{"type":51,"tag":85,"props":3226,"children":3227},{},[3228],{"type":56,"value":518},{"type":51,"tag":580,"props":3230,"children":3231},{},[3232],{"type":56,"value":3233},"Interactive buttons with webhook callbacks",{"type":51,"tag":558,"props":3235,"children":3236},{},[3237,3244],{"type":51,"tag":580,"props":3238,"children":3239},{},[3240],{"type":51,"tag":85,"props":3241,"children":3242},{},[3243],{"type":56,"value":529},{"type":51,"tag":580,"props":3245,"children":3246},{},[3247],{"type":56,"value":3248},"Collect user input with forms",{"type":51,"tag":558,"props":3250,"children":3251},{},[3252,3260],{"type":51,"tag":580,"props":3253,"children":3254},{},[3255],{"type":51,"tag":85,"props":3256,"children":3257},{},[3258],{"type":56,"value":3259},"Dropdown Selects",{"type":51,"tag":580,"props":3261,"children":3262},{},[3263],{"type":56,"value":3264},"Channel, member, date\u002Ftime pickers",{"type":51,"tag":558,"props":3266,"children":3267},{},[3268,3276],{"type":51,"tag":580,"props":3269,"children":3270},{},[3271],{"type":51,"tag":85,"props":3272,"children":3273},{},[3274],{"type":56,"value":3275},"LLM Integration",{"type":51,"tag":580,"props":3277,"children":3278},{},[3279],{"type":56,"value":3280},"Easy integration with Claude, GPT, etc.",{"type":51,"tag":65,"props":3282,"children":3284},{"id":3283},"webhook-events-chatbot-api",[3285],{"type":56,"value":3286},"Webhook Events (Chatbot API)",{"type":51,"tag":550,"props":3288,"children":3289},{},[3290,3310],{"type":51,"tag":554,"props":3291,"children":3292},{},[3293],{"type":51,"tag":558,"props":3294,"children":3295},{},[3296,3301,3306],{"type":51,"tag":562,"props":3297,"children":3298},{},[3299],{"type":56,"value":3300},"Event",{"type":51,"tag":562,"props":3302,"children":3303},{},[3304],{"type":56,"value":3305},"Trigger",{"type":51,"tag":562,"props":3307,"children":3308},{},[3309],{"type":56,"value":566},{"type":51,"tag":573,"props":3311,"children":3312},{},[3313,3335,3357,3379,3401],{"type":51,"tag":558,"props":3314,"children":3315},{},[3316,3325,3330],{"type":51,"tag":580,"props":3317,"children":3318},{},[3319],{"type":51,"tag":112,"props":3320,"children":3322},{"className":3321},[],[3323],{"type":56,"value":3324},"bot_notification",{"type":51,"tag":580,"props":3326,"children":3327},{},[3328],{"type":56,"value":3329},"User messages bot or uses slash command",{"type":51,"tag":580,"props":3331,"children":3332},{},[3333],{"type":56,"value":3334},"Process commands, integrate LLM",{"type":51,"tag":558,"props":3336,"children":3337},{},[3338,3347,3352],{"type":51,"tag":580,"props":3339,"children":3340},{},[3341],{"type":51,"tag":112,"props":3342,"children":3344},{"className":3343},[],[3345],{"type":56,"value":3346},"bot_installed",{"type":51,"tag":580,"props":3348,"children":3349},{},[3350],{"type":56,"value":3351},"Bot added to account",{"type":51,"tag":580,"props":3353,"children":3354},{},[3355],{"type":56,"value":3356},"Initialize bot state",{"type":51,"tag":558,"props":3358,"children":3359},{},[3360,3369,3374],{"type":51,"tag":580,"props":3361,"children":3362},{},[3363],{"type":51,"tag":112,"props":3364,"children":3366},{"className":3365},[],[3367],{"type":56,"value":3368},"interactive_message_actions",{"type":51,"tag":580,"props":3370,"children":3371},{},[3372],{"type":56,"value":3373},"Button clicked",{"type":51,"tag":580,"props":3375,"children":3376},{},[3377],{"type":56,"value":3378},"Handle button actions",{"type":51,"tag":558,"props":3380,"children":3381},{},[3382,3391,3396],{"type":51,"tag":580,"props":3383,"children":3384},{},[3385],{"type":51,"tag":112,"props":3386,"children":3388},{"className":3387},[],[3389],{"type":56,"value":3390},"chat_message.submit",{"type":51,"tag":580,"props":3392,"children":3393},{},[3394],{"type":56,"value":3395},"Form submitted",{"type":51,"tag":580,"props":3397,"children":3398},{},[3399],{"type":56,"value":3400},"Process form data",{"type":51,"tag":558,"props":3402,"children":3403},{},[3404,3413,3418],{"type":51,"tag":580,"props":3405,"children":3406},{},[3407],{"type":51,"tag":112,"props":3408,"children":3410},{"className":3409},[],[3411],{"type":56,"value":3412},"app_deauthorized",{"type":51,"tag":580,"props":3414,"children":3415},{},[3416],{"type":56,"value":3417},"Bot removed",{"type":51,"tag":580,"props":3419,"children":3420},{},[3421],{"type":56,"value":3422},"Cleanup",{"type":51,"tag":59,"props":3424,"children":3425},{},[3426,3430,3431],{"type":51,"tag":85,"props":3427,"children":3428},{},[3429],{"type":56,"value":1055},{"type":56,"value":188},{"type":51,"tag":190,"props":3432,"children":3433},{"href":348},[3434],{"type":56,"value":3435},"Webhook Events Reference",{"type":51,"tag":65,"props":3437,"children":3439},{"id":3438},"message-card-components",[3440],{"type":56,"value":3441},"Message Card Components",{"type":51,"tag":59,"props":3443,"children":3444},{},[3445],{"type":56,"value":3446},"Build rich interactive messages with these components:",{"type":51,"tag":550,"props":3448,"children":3449},{},[3450,3465],{"type":51,"tag":554,"props":3451,"children":3452},{},[3453],{"type":51,"tag":558,"props":3454,"children":3455},{},[3456,3461],{"type":51,"tag":562,"props":3457,"children":3458},{},[3459],{"type":56,"value":3460},"Component",{"type":51,"tag":562,"props":3462,"children":3463},{},[3464],{"type":56,"value":3071},{"type":51,"tag":573,"props":3466,"children":3467},{},[3468,3484,3499,3514,3529,3545,3561,3577,3593,3609],{"type":51,"tag":558,"props":3469,"children":3470},{},[3471,3479],{"type":51,"tag":580,"props":3472,"children":3473},{},[3474],{"type":51,"tag":85,"props":3475,"children":3476},{},[3477],{"type":56,"value":3478},"header",{"type":51,"tag":580,"props":3480,"children":3481},{},[3482],{"type":56,"value":3483},"Title and subtitle",{"type":51,"tag":558,"props":3485,"children":3486},{},[3487,3494],{"type":51,"tag":580,"props":3488,"children":3489},{},[3490],{"type":51,"tag":85,"props":3491,"children":3492},{},[3493],{"type":56,"value":2517},{"type":51,"tag":580,"props":3495,"children":3496},{},[3497],{"type":56,"value":3498},"Plain text",{"type":51,"tag":558,"props":3500,"children":3501},{},[3502,3509],{"type":51,"tag":580,"props":3503,"children":3504},{},[3505],{"type":51,"tag":85,"props":3506,"children":3507},{},[3508],{"type":56,"value":2582},{"type":51,"tag":580,"props":3510,"children":3511},{},[3512],{"type":56,"value":3513},"Key-value pairs",{"type":51,"tag":558,"props":3515,"children":3516},{},[3517,3524],{"type":51,"tag":580,"props":3518,"children":3519},{},[3520],{"type":51,"tag":85,"props":3521,"children":3522},{},[3523],{"type":56,"value":2773},{"type":51,"tag":580,"props":3525,"children":3526},{},[3527],{"type":56,"value":3528},"Buttons (Primary, Danger, Default styles)",{"type":51,"tag":558,"props":3530,"children":3531},{},[3532,3540],{"type":51,"tag":580,"props":3533,"children":3534},{},[3535],{"type":51,"tag":85,"props":3536,"children":3537},{},[3538],{"type":56,"value":3539},"section",{"type":51,"tag":580,"props":3541,"children":3542},{},[3543],{"type":56,"value":3544},"Colored sidebar grouping",{"type":51,"tag":558,"props":3546,"children":3547},{},[3548,3556],{"type":51,"tag":580,"props":3549,"children":3550},{},[3551],{"type":51,"tag":85,"props":3552,"children":3553},{},[3554],{"type":56,"value":3555},"attachments",{"type":51,"tag":580,"props":3557,"children":3558},{},[3559],{"type":56,"value":3560},"Images with links",{"type":51,"tag":558,"props":3562,"children":3563},{},[3564,3572],{"type":51,"tag":580,"props":3565,"children":3566},{},[3567],{"type":51,"tag":85,"props":3568,"children":3569},{},[3570],{"type":56,"value":3571},"divider",{"type":51,"tag":580,"props":3573,"children":3574},{},[3575],{"type":56,"value":3576},"Horizontal line",{"type":51,"tag":558,"props":3578,"children":3579},{},[3580,3588],{"type":51,"tag":580,"props":3581,"children":3582},{},[3583],{"type":51,"tag":85,"props":3584,"children":3585},{},[3586],{"type":56,"value":3587},"form_field",{"type":51,"tag":580,"props":3589,"children":3590},{},[3591],{"type":56,"value":3592},"Text input",{"type":51,"tag":558,"props":3594,"children":3595},{},[3596,3604],{"type":51,"tag":580,"props":3597,"children":3598},{},[3599],{"type":51,"tag":85,"props":3600,"children":3601},{},[3602],{"type":56,"value":3603},"dropdown",{"type":51,"tag":580,"props":3605,"children":3606},{},[3607],{"type":56,"value":3608},"Select menu",{"type":51,"tag":558,"props":3610,"children":3611},{},[3612,3620],{"type":51,"tag":580,"props":3613,"children":3614},{},[3615],{"type":51,"tag":85,"props":3616,"children":3617},{},[3618],{"type":56,"value":3619},"date_picker",{"type":51,"tag":580,"props":3621,"children":3622},{},[3623],{"type":56,"value":3624},"Date selection",{"type":51,"tag":59,"props":3626,"children":3627},{},[3628,3632,3633,3638],{"type":51,"tag":85,"props":3629,"children":3630},{},[3631],{"type":56,"value":1055},{"type":56,"value":188},{"type":51,"tag":190,"props":3634,"children":3635},{"href":334},[3636],{"type":56,"value":3637},"Message Cards Reference",{"type":56,"value":3639}," for complete component catalog",{"type":51,"tag":65,"props":3641,"children":3643},{"id":3642},"architecture-patterns",[3644],{"type":56,"value":3645},"Architecture Patterns",{"type":51,"tag":670,"props":3647,"children":3649},{"id":3648},"chatbot-lifecycle",[3650],{"type":56,"value":3651},"Chatbot Lifecycle",{"type":51,"tag":1076,"props":3653,"children":3657},{"className":3654,"code":3656,"language":56},[3655],"language-text","User types \u002Fcommand → Webhook receives bot_notification\n                            ↓\n                     payload.cmd = \"user's input\"\n                            ↓\n                     Process command\n                            ↓\n                     Send response via sendChatbotMessage()\n",[3658],{"type":51,"tag":112,"props":3659,"children":3660},{"__ignoreMap":1081},[3661],{"type":56,"value":3656},{"type":51,"tag":670,"props":3663,"children":3665},{"id":3664},"llm-integration-pattern",[3666],{"type":56,"value":3667},"LLM Integration Pattern",{"type":51,"tag":1076,"props":3669,"children":3671},{"className":1078,"code":3670,"language":1080,"meta":1081,"style":1081},"case 'bot_notification': {\n  const { toJid, cmd, accountId } = payload;\n  \n  \u002F\u002F 1. Call your LLM\n  const llmResponse = await callClaude(cmd);\n  \n  \u002F\u002F 2. Send response back\n  await sendChatbotMessage(toJid, accountId, {\n    body: [{ type: 'message', text: llmResponse }]\n  });\n}\n",[3672],{"type":51,"tag":112,"props":3673,"children":3674},{"__ignoreMap":1081},[3675,3703,3749,3756,3764,3790,3797,3805,3843,3901,3913],{"type":51,"tag":1087,"props":3676,"children":3677},{"class":1089,"line":1090},[3678,3683,3687,3691,3695,3699],{"type":51,"tag":1087,"props":3679,"children":3680},{"style":1122},[3681],{"type":56,"value":3682},"case",{"type":51,"tag":1087,"props":3684,"children":3685},{"style":1116},[3686],{"type":56,"value":1241},{"type":51,"tag":1087,"props":3688,"children":3689},{"style":1204},[3690],{"type":56,"value":3324},{"type":51,"tag":1087,"props":3692,"children":3693},{"style":1116},[3694],{"type":56,"value":1201},{"type":51,"tag":1087,"props":3696,"children":3697},{"style":1110},[3698],{"type":56,"value":188},{"type":51,"tag":1087,"props":3700,"children":3701},{"style":1116},[3702],{"type":56,"value":1403},{"type":51,"tag":1087,"props":3704,"children":3705},{"class":1089,"line":1100},[3706,3711,3716,3721,3725,3730,3734,3739,3744],{"type":51,"tag":1087,"props":3707,"children":3708},{"style":1110},[3709],{"type":56,"value":3710},"  const ",{"type":51,"tag":1087,"props":3712,"children":3713},{"style":1116},[3714],{"type":56,"value":3715},"{",{"type":51,"tag":1087,"props":3717,"children":3718},{"style":1110},[3719],{"type":56,"value":3720}," toJid",{"type":51,"tag":1087,"props":3722,"children":3723},{"style":1116},[3724],{"type":56,"value":1216},{"type":51,"tag":1087,"props":3726,"children":3727},{"style":1110},[3728],{"type":56,"value":3729}," cmd",{"type":51,"tag":1087,"props":3731,"children":3732},{"style":1116},[3733],{"type":56,"value":1216},{"type":51,"tag":1087,"props":3735,"children":3736},{"style":1110},[3737],{"type":56,"value":3738}," accountId",{"type":51,"tag":1087,"props":3740,"children":3741},{"style":1116},[3742],{"type":56,"value":3743}," }",{"type":51,"tag":1087,"props":3745,"children":3746},{"style":1110},[3747],{"type":56,"value":3748}," = payload;\n",{"type":51,"tag":1087,"props":3750,"children":3751},{"class":1089,"line":1149},[3752],{"type":51,"tag":1087,"props":3753,"children":3754},{"style":1110},[3755],{"type":56,"value":1739},{"type":51,"tag":1087,"props":3757,"children":3758},{"class":1089,"line":1159},[3759],{"type":51,"tag":1087,"props":3760,"children":3761},{"style":1094},[3762],{"type":56,"value":3763},"  \u002F\u002F 1. Call your LLM\n",{"type":51,"tag":1087,"props":3765,"children":3766},{"class":1089,"line":1168},[3767,3772,3776,3780,3785],{"type":51,"tag":1087,"props":3768,"children":3769},{"style":1110},[3770],{"type":56,"value":3771},"  const llmResponse ",{"type":51,"tag":1087,"props":3773,"children":3774},{"style":1116},[3775],{"type":56,"value":1119},{"type":51,"tag":1087,"props":3777,"children":3778},{"style":1122},[3779],{"type":56,"value":1125},{"type":51,"tag":1087,"props":3781,"children":3782},{"style":1128},[3783],{"type":56,"value":3784}," callClaude",{"type":51,"tag":1087,"props":3786,"children":3787},{"style":1110},[3788],{"type":56,"value":3789},"(cmd);\n",{"type":51,"tag":1087,"props":3791,"children":3792},{"class":1089,"line":1224},[3793],{"type":51,"tag":1087,"props":3794,"children":3795},{"style":1110},[3796],{"type":56,"value":1739},{"type":51,"tag":1087,"props":3798,"children":3799},{"class":1089,"line":1258},[3800],{"type":51,"tag":1087,"props":3801,"children":3802},{"style":1094},[3803],{"type":56,"value":3804},"  \u002F\u002F 2. Send response back\n",{"type":51,"tag":1087,"props":3806,"children":3807},{"class":1089,"line":1275},[3808,3813,3818,3822,3827,3831,3835,3839],{"type":51,"tag":1087,"props":3809,"children":3810},{"style":1110},[3811],{"type":56,"value":3812},"  await ",{"type":51,"tag":1087,"props":3814,"children":3815},{"style":1228},[3816],{"type":56,"value":3817},"sendChatbotMessage",{"type":51,"tag":1087,"props":3819,"children":3820},{"style":1116},[3821],{"type":56,"value":1196},{"type":51,"tag":1087,"props":3823,"children":3825},{"style":3824},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[3826],{"type":56,"value":2310},{"type":51,"tag":1087,"props":3828,"children":3829},{"style":1116},[3830],{"type":56,"value":1216},{"type":51,"tag":1087,"props":3832,"children":3833},{"style":3824},[3834],{"type":56,"value":3738},{"type":51,"tag":1087,"props":3836,"children":3837},{"style":1116},[3838],{"type":56,"value":1216},{"type":51,"tag":1087,"props":3840,"children":3841},{"style":1116},[3842],{"type":56,"value":1221},{"type":51,"tag":1087,"props":3844,"children":3845},{"class":1089,"line":1326},[3846,3850,3854,3859,3863,3867,3871,3875,3879,3883,3887,3891,3896],{"type":51,"tag":1087,"props":3847,"children":3848},{"style":1228},[3849],{"type":56,"value":1924},{"type":51,"tag":1087,"props":3851,"children":3852},{"style":1116},[3853],{"type":56,"value":1236},{"type":51,"tag":1087,"props":3855,"children":3856},{"style":1116},[3857],{"type":56,"value":3858}," [{",{"type":51,"tag":1087,"props":3860,"children":3861},{"style":1228},[3862],{"type":56,"value":2504},{"type":51,"tag":1087,"props":3864,"children":3865},{"style":1116},[3866],{"type":56,"value":1236},{"type":51,"tag":1087,"props":3868,"children":3869},{"style":1116},[3870],{"type":56,"value":1241},{"type":51,"tag":1087,"props":3872,"children":3873},{"style":1204},[3874],{"type":56,"value":2517},{"type":51,"tag":1087,"props":3876,"children":3877},{"style":1116},[3878],{"type":56,"value":1201},{"type":51,"tag":1087,"props":3880,"children":3881},{"style":1116},[3882],{"type":56,"value":1216},{"type":51,"tag":1087,"props":3884,"children":3885},{"style":1228},[3886],{"type":56,"value":2441},{"type":51,"tag":1087,"props":3888,"children":3889},{"style":1116},[3890],{"type":56,"value":1236},{"type":51,"tag":1087,"props":3892,"children":3893},{"style":3824},[3894],{"type":56,"value":3895}," llmResponse",{"type":51,"tag":1087,"props":3897,"children":3898},{"style":1116},[3899],{"type":56,"value":3900}," }]\n",{"type":51,"tag":1087,"props":3902,"children":3903},{"class":1089,"line":1361},[3904,3909],{"type":51,"tag":1087,"props":3905,"children":3906},{"style":1116},[3907],{"type":56,"value":3908},"  })",{"type":51,"tag":1087,"props":3910,"children":3911},{"style":1110},[3912],{"type":56,"value":1491},{"type":51,"tag":1087,"props":3914,"children":3915},{"class":1089,"line":1370},[3916],{"type":51,"tag":1087,"props":3917,"children":3918},{"style":1116},[3919],{"type":56,"value":2018},{"type":51,"tag":59,"props":3921,"children":3922},{},[3923,3927,3928],{"type":51,"tag":85,"props":3924,"children":3925},{},[3926],{"type":56,"value":1055},{"type":56,"value":188},{"type":51,"tag":190,"props":3929,"children":3931},{"href":3930},"examples\u002Fllm-integration.md",[3932],{"type":56,"value":3933},"LLM Integration Guide",{"type":51,"tag":65,"props":3935,"children":3937},{"id":3936},"sample-applications",[3938],{"type":56,"value":378},{"type":51,"tag":550,"props":3940,"children":3941},{},[3942,3962],{"type":51,"tag":554,"props":3943,"children":3944},{},[3945],{"type":51,"tag":558,"props":3946,"children":3947},{},[3948,3953,3957],{"type":51,"tag":562,"props":3949,"children":3950},{},[3951],{"type":56,"value":3952},"Sample",{"type":51,"tag":562,"props":3954,"children":3955},{},[3956],{"type":56,"value":3071},{"type":51,"tag":562,"props":3958,"children":3959},{},[3960],{"type":56,"value":3961},"Link",{"type":51,"tag":573,"props":3963,"children":3964},{},[3965,3991,4016,4041,4066],{"type":51,"tag":558,"props":3966,"children":3967},{},[3968,3976,3981],{"type":51,"tag":580,"props":3969,"children":3970},{},[3971],{"type":51,"tag":85,"props":3972,"children":3973},{},[3974],{"type":56,"value":3975},"Chatbot Quickstart",{"type":51,"tag":580,"props":3977,"children":3978},{},[3979],{"type":56,"value":3980},"Official tutorial (recommended start)",{"type":51,"tag":580,"props":3982,"children":3983},{},[3984],{"type":51,"tag":190,"props":3985,"children":3988},{"href":3986,"rel":3987},"https:\u002F\u002Fgithub.com\u002Fzoom\u002Fchatbot-nodejs-quickstart",[194],[3989],{"type":56,"value":3990},"GitHub",{"type":51,"tag":558,"props":3992,"children":3993},{},[3994,4002,4007],{"type":51,"tag":580,"props":3995,"children":3996},{},[3997],{"type":51,"tag":85,"props":3998,"children":3999},{},[4000],{"type":56,"value":4001},"Claude Chatbot",{"type":51,"tag":580,"props":4003,"children":4004},{},[4005],{"type":56,"value":4006},"AI chatbot with Anthropic Claude",{"type":51,"tag":580,"props":4008,"children":4009},{},[4010],{"type":51,"tag":190,"props":4011,"children":4014},{"href":4012,"rel":4013},"https:\u002F\u002Fgithub.com\u002Fzoom\u002Fzoom-chatbot-claude-sample",[194],[4015],{"type":56,"value":3990},{"type":51,"tag":558,"props":4017,"children":4018},{},[4019,4027,4032],{"type":51,"tag":580,"props":4020,"children":4021},{},[4022],{"type":51,"tag":85,"props":4023,"children":4024},{},[4025],{"type":56,"value":4026},"Unsplash Chatbot",{"type":51,"tag":580,"props":4028,"children":4029},{},[4030],{"type":56,"value":4031},"Image search with database",{"type":51,"tag":580,"props":4033,"children":4034},{},[4035],{"type":51,"tag":190,"props":4036,"children":4039},{"href":4037,"rel":4038},"https:\u002F\u002Fgithub.com\u002Fzoom\u002Funsplash-chatbot",[194],[4040],{"type":56,"value":3990},{"type":51,"tag":558,"props":4042,"children":4043},{},[4044,4052,4057],{"type":51,"tag":580,"props":4045,"children":4046},{},[4047],{"type":51,"tag":85,"props":4048,"children":4049},{},[4050],{"type":56,"value":4051},"ERP Chatbot",{"type":51,"tag":580,"props":4053,"children":4054},{},[4055],{"type":56,"value":4056},"Oracle ERP with scheduled alerts",{"type":51,"tag":580,"props":4058,"children":4059},{},[4060],{"type":51,"tag":190,"props":4061,"children":4064},{"href":4062,"rel":4063},"https:\u002F\u002Fgithub.com\u002Fzoom\u002Fzoom-erp-chatbot-sample",[194],[4065],{"type":56,"value":3990},{"type":51,"tag":558,"props":4067,"children":4068},{},[4069,4077,4082],{"type":51,"tag":580,"props":4070,"children":4071},{},[4072],{"type":51,"tag":85,"props":4073,"children":4074},{},[4075],{"type":56,"value":4076},"Task Manager",{"type":51,"tag":580,"props":4078,"children":4079},{},[4080],{"type":56,"value":4081},"Full CRUD app",{"type":51,"tag":580,"props":4083,"children":4084},{},[4085],{"type":51,"tag":190,"props":4086,"children":4089},{"href":4087,"rel":4088},"https:\u002F\u002Fgithub.com\u002Fzoom\u002Ftask-manager-sample",[194],[4090],{"type":56,"value":3990},{"type":51,"tag":59,"props":4092,"children":4093},{},[4094,4098,4099,4104],{"type":51,"tag":85,"props":4095,"children":4096},{},[4097],{"type":56,"value":1055},{"type":56,"value":188},{"type":51,"tag":190,"props":4100,"children":4101},{"href":375},[4102],{"type":56,"value":4103},"Sample Applications Guide",{"type":56,"value":4105}," for analysis of all 10 samples",{"type":51,"tag":65,"props":4107,"children":4109},{"id":4108},"common-operations",[4110],{"type":56,"value":4111},"Common Operations",{"type":51,"tag":670,"props":4113,"children":4115},{"id":4114},"send-message-to-channel",[4116],{"type":56,"value":4117},"Send Message to Channel",{"type":51,"tag":1076,"props":4119,"children":4121},{"className":1078,"code":4120,"language":1080,"meta":1081,"style":1081},"\u002F\u002F Team Chat API\nawait fetch('https:\u002F\u002Fapi.zoom.us\u002Fv2\u002Fchat\u002Fusers\u002Fme\u002Fmessages', {\n  method: 'POST',\n  headers: { 'Authorization': `Bearer ${token}` },\n  body: JSON.stringify({\n    message: 'Hello!',\n    to_channel: 'CHANNEL_ID'\n  })\n});\n",[4122],{"type":51,"tag":112,"props":4123,"children":4124},{"__ignoreMap":1081},[4125,4133,4168,4195,4251,4282,4310,4333,4344],{"type":51,"tag":1087,"props":4126,"children":4127},{"class":1089,"line":1090},[4128],{"type":51,"tag":1087,"props":4129,"children":4130},{"style":1094},[4131],{"type":56,"value":4132},"\u002F\u002F Team Chat API\n",{"type":51,"tag":1087,"props":4134,"children":4135},{"class":1089,"line":1100},[4136,4140,4144,4148,4152,4156,4160,4164],{"type":51,"tag":1087,"props":4137,"children":4138},{"style":1122},[4139],{"type":56,"value":1980},{"type":51,"tag":1087,"props":4141,"children":4142},{"style":1128},[4143],{"type":56,"value":1191},{"type":51,"tag":1087,"props":4145,"children":4146},{"style":1110},[4147],{"type":56,"value":1196},{"type":51,"tag":1087,"props":4149,"children":4150},{"style":1116},[4151],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4153,"children":4154},{"style":1204},[4155],{"type":56,"value":1207},{"type":51,"tag":1087,"props":4157,"children":4158},{"style":1116},[4159],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4161,"children":4162},{"style":1116},[4163],{"type":56,"value":1216},{"type":51,"tag":1087,"props":4165,"children":4166},{"style":1116},[4167],{"type":56,"value":1221},{"type":51,"tag":1087,"props":4169,"children":4170},{"class":1089,"line":1149},[4171,4175,4179,4183,4187,4191],{"type":51,"tag":1087,"props":4172,"children":4173},{"style":1228},[4174],{"type":56,"value":1231},{"type":51,"tag":1087,"props":4176,"children":4177},{"style":1116},[4178],{"type":56,"value":1236},{"type":51,"tag":1087,"props":4180,"children":4181},{"style":1116},[4182],{"type":56,"value":1241},{"type":51,"tag":1087,"props":4184,"children":4185},{"style":1204},[4186],{"type":56,"value":1246},{"type":51,"tag":1087,"props":4188,"children":4189},{"style":1116},[4190],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4192,"children":4193},{"style":1116},[4194],{"type":56,"value":1255},{"type":51,"tag":1087,"props":4196,"children":4197},{"class":1089,"line":1159},[4198,4202,4206,4210,4214,4218,4222,4226,4230,4234,4238,4243,4247],{"type":51,"tag":1087,"props":4199,"children":4200},{"style":1228},[4201],{"type":56,"value":1264},{"type":51,"tag":1087,"props":4203,"children":4204},{"style":1116},[4205],{"type":56,"value":1236},{"type":51,"tag":1087,"props":4207,"children":4208},{"style":1116},[4209],{"type":56,"value":2436},{"type":51,"tag":1087,"props":4211,"children":4212},{"style":1116},[4213],{"type":56,"value":1241},{"type":51,"tag":1087,"props":4215,"children":4216},{"style":1228},[4217],{"type":56,"value":1286},{"type":51,"tag":1087,"props":4219,"children":4220},{"style":1116},[4221],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4223,"children":4224},{"style":1116},[4225],{"type":56,"value":1236},{"type":51,"tag":1087,"props":4227,"children":4228},{"style":1116},[4229],{"type":56,"value":1299},{"type":51,"tag":1087,"props":4231,"children":4232},{"style":1204},[4233],{"type":56,"value":1304},{"type":51,"tag":1087,"props":4235,"children":4236},{"style":1116},[4237],{"type":56,"value":1309},{"type":51,"tag":1087,"props":4239,"children":4240},{"style":1110},[4241],{"type":56,"value":4242},"token",{"type":51,"tag":1087,"props":4244,"children":4245},{"style":1116},[4246],{"type":56,"value":1319},{"type":51,"tag":1087,"props":4248,"children":4249},{"style":1116},[4250],{"type":56,"value":2551},{"type":51,"tag":1087,"props":4252,"children":4253},{"class":1089,"line":1168},[4254,4258,4262,4266,4270,4274,4278],{"type":51,"tag":1087,"props":4255,"children":4256},{"style":1228},[4257],{"type":56,"value":1376},{"type":51,"tag":1087,"props":4259,"children":4260},{"style":1116},[4261],{"type":56,"value":1236},{"type":51,"tag":1087,"props":4263,"children":4264},{"style":1110},[4265],{"type":56,"value":1385},{"type":51,"tag":1087,"props":4267,"children":4268},{"style":1116},[4269],{"type":56,"value":498},{"type":51,"tag":1087,"props":4271,"children":4272},{"style":1128},[4273],{"type":56,"value":1394},{"type":51,"tag":1087,"props":4275,"children":4276},{"style":1110},[4277],{"type":56,"value":1196},{"type":51,"tag":1087,"props":4279,"children":4280},{"style":1116},[4281],{"type":56,"value":1403},{"type":51,"tag":1087,"props":4283,"children":4284},{"class":1089,"line":1224},[4285,4289,4293,4297,4302,4306],{"type":51,"tag":1087,"props":4286,"children":4287},{"style":1228},[4288],{"type":56,"value":1412},{"type":51,"tag":1087,"props":4290,"children":4291},{"style":1116},[4292],{"type":56,"value":1236},{"type":51,"tag":1087,"props":4294,"children":4295},{"style":1116},[4296],{"type":56,"value":1241},{"type":51,"tag":1087,"props":4298,"children":4299},{"style":1204},[4300],{"type":56,"value":4301},"Hello!",{"type":51,"tag":1087,"props":4303,"children":4304},{"style":1116},[4305],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4307,"children":4308},{"style":1116},[4309],{"type":56,"value":1255},{"type":51,"tag":1087,"props":4311,"children":4312},{"class":1089,"line":1258},[4313,4317,4321,4325,4329],{"type":51,"tag":1087,"props":4314,"children":4315},{"style":1228},[4316],{"type":56,"value":1442},{"type":51,"tag":1087,"props":4318,"children":4319},{"style":1116},[4320],{"type":56,"value":1236},{"type":51,"tag":1087,"props":4322,"children":4323},{"style":1116},[4324],{"type":56,"value":1241},{"type":51,"tag":1087,"props":4326,"children":4327},{"style":1204},[4328],{"type":56,"value":1455},{"type":51,"tag":1087,"props":4330,"children":4331},{"style":1116},[4332],{"type":56,"value":1358},{"type":51,"tag":1087,"props":4334,"children":4335},{"class":1089,"line":1275},[4336,4340],{"type":51,"tag":1087,"props":4337,"children":4338},{"style":1116},[4339],{"type":56,"value":1468},{"type":51,"tag":1087,"props":4341,"children":4342},{"style":1110},[4343],{"type":56,"value":1473},{"type":51,"tag":1087,"props":4345,"children":4346},{"class":1089,"line":1326},[4347,4351,4355],{"type":51,"tag":1087,"props":4348,"children":4349},{"style":1116},[4350],{"type":56,"value":1482},{"type":51,"tag":1087,"props":4352,"children":4353},{"style":1110},[4354],{"type":56,"value":119},{"type":51,"tag":1087,"props":4356,"children":4357},{"style":1116},[4358],{"type":56,"value":1491},{"type":51,"tag":670,"props":4360,"children":4362},{"id":4361},"handle-button-click",[4363],{"type":56,"value":4364},"Handle Button Click",{"type":51,"tag":1076,"props":4366,"children":4368},{"className":1078,"code":4367,"language":1080,"meta":1081,"style":1081},"\u002F\u002F Webhook handler\ncase 'interactive_message_actions': {\n  const { actionItem, toJid, accountId } = payload;\n  \n  if (actionItem.value === 'approve') {\n    await sendChatbotMessage(toJid, accountId, {\n      body: [{ type: 'message', text: '✅ Approved!' }]\n    });\n  }\n}\n",[4369],{"type":51,"tag":112,"props":4370,"children":4371},{"__ignoreMap":1081},[4372,4380,4407,4447,4454,4492,4529,4603,4619,4627],{"type":51,"tag":1087,"props":4373,"children":4374},{"class":1089,"line":1090},[4375],{"type":51,"tag":1087,"props":4376,"children":4377},{"style":1094},[4378],{"type":56,"value":4379},"\u002F\u002F Webhook handler\n",{"type":51,"tag":1087,"props":4381,"children":4382},{"class":1089,"line":1100},[4383,4387,4391,4395,4399,4403],{"type":51,"tag":1087,"props":4384,"children":4385},{"style":1122},[4386],{"type":56,"value":3682},{"type":51,"tag":1087,"props":4388,"children":4389},{"style":1116},[4390],{"type":56,"value":1241},{"type":51,"tag":1087,"props":4392,"children":4393},{"style":1204},[4394],{"type":56,"value":3368},{"type":51,"tag":1087,"props":4396,"children":4397},{"style":1116},[4398],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4400,"children":4401},{"style":1110},[4402],{"type":56,"value":188},{"type":51,"tag":1087,"props":4404,"children":4405},{"style":1116},[4406],{"type":56,"value":1403},{"type":51,"tag":1087,"props":4408,"children":4409},{"class":1089,"line":1149},[4410,4414,4418,4423,4427,4431,4435,4439,4443],{"type":51,"tag":1087,"props":4411,"children":4412},{"style":1110},[4413],{"type":56,"value":3710},{"type":51,"tag":1087,"props":4415,"children":4416},{"style":1116},[4417],{"type":56,"value":3715},{"type":51,"tag":1087,"props":4419,"children":4420},{"style":1110},[4421],{"type":56,"value":4422}," actionItem",{"type":51,"tag":1087,"props":4424,"children":4425},{"style":1116},[4426],{"type":56,"value":1216},{"type":51,"tag":1087,"props":4428,"children":4429},{"style":1110},[4430],{"type":56,"value":3720},{"type":51,"tag":1087,"props":4432,"children":4433},{"style":1116},[4434],{"type":56,"value":1216},{"type":51,"tag":1087,"props":4436,"children":4437},{"style":1110},[4438],{"type":56,"value":3738},{"type":51,"tag":1087,"props":4440,"children":4441},{"style":1116},[4442],{"type":56,"value":3743},{"type":51,"tag":1087,"props":4444,"children":4445},{"style":1110},[4446],{"type":56,"value":3748},{"type":51,"tag":1087,"props":4448,"children":4449},{"class":1089,"line":1159},[4450],{"type":51,"tag":1087,"props":4451,"children":4452},{"style":1110},[4453],{"type":56,"value":1739},{"type":51,"tag":1087,"props":4455,"children":4456},{"class":1089,"line":1168},[4457,4462,4466,4471,4475,4480,4484,4488],{"type":51,"tag":1087,"props":4458,"children":4459},{"style":1228},[4460],{"type":56,"value":4461},"  if",{"type":51,"tag":1087,"props":4463,"children":4464},{"style":1116},[4465],{"type":56,"value":110},{"type":51,"tag":1087,"props":4467,"children":4468},{"style":1110},[4469],{"type":56,"value":4470},"actionItem.value === ",{"type":51,"tag":1087,"props":4472,"children":4473},{"style":1116},[4474],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4476,"children":4477},{"style":1204},[4478],{"type":56,"value":4479},"approve",{"type":51,"tag":1087,"props":4481,"children":4482},{"style":1116},[4483],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4485,"children":4486},{"style":1116},[4487],{"type":56,"value":119},{"type":51,"tag":1087,"props":4489,"children":4490},{"style":1116},[4491],{"type":56,"value":1221},{"type":51,"tag":1087,"props":4493,"children":4494},{"class":1089,"line":1224},[4495,4500,4505,4509,4513,4517,4521,4525],{"type":51,"tag":1087,"props":4496,"children":4497},{"style":1122},[4498],{"type":56,"value":4499},"    await",{"type":51,"tag":1087,"props":4501,"children":4502},{"style":1128},[4503],{"type":56,"value":4504}," sendChatbotMessage",{"type":51,"tag":1087,"props":4506,"children":4507},{"style":1228},[4508],{"type":56,"value":1196},{"type":51,"tag":1087,"props":4510,"children":4511},{"style":1110},[4512],{"type":56,"value":2310},{"type":51,"tag":1087,"props":4514,"children":4515},{"style":1116},[4516],{"type":56,"value":1216},{"type":51,"tag":1087,"props":4518,"children":4519},{"style":1110},[4520],{"type":56,"value":3738},{"type":51,"tag":1087,"props":4522,"children":4523},{"style":1116},[4524],{"type":56,"value":1216},{"type":51,"tag":1087,"props":4526,"children":4527},{"style":1116},[4528],{"type":56,"value":1221},{"type":51,"tag":1087,"props":4530,"children":4531},{"class":1089,"line":1258},[4532,4536,4540,4545,4549,4553,4557,4561,4565,4569,4573,4577,4581,4585,4590,4594,4598],{"type":51,"tag":1087,"props":4533,"children":4534},{"style":1228},[4535],{"type":56,"value":2481},{"type":51,"tag":1087,"props":4537,"children":4538},{"style":1116},[4539],{"type":56,"value":1236},{"type":51,"tag":1087,"props":4541,"children":4542},{"style":1228},[4543],{"type":56,"value":4544}," [",{"type":51,"tag":1087,"props":4546,"children":4547},{"style":1116},[4548],{"type":56,"value":3715},{"type":51,"tag":1087,"props":4550,"children":4551},{"style":1228},[4552],{"type":56,"value":2504},{"type":51,"tag":1087,"props":4554,"children":4555},{"style":1116},[4556],{"type":56,"value":1236},{"type":51,"tag":1087,"props":4558,"children":4559},{"style":1116},[4560],{"type":56,"value":1241},{"type":51,"tag":1087,"props":4562,"children":4563},{"style":1204},[4564],{"type":56,"value":2517},{"type":51,"tag":1087,"props":4566,"children":4567},{"style":1116},[4568],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4570,"children":4571},{"style":1116},[4572],{"type":56,"value":1216},{"type":51,"tag":1087,"props":4574,"children":4575},{"style":1228},[4576],{"type":56,"value":2441},{"type":51,"tag":1087,"props":4578,"children":4579},{"style":1116},[4580],{"type":56,"value":1236},{"type":51,"tag":1087,"props":4582,"children":4583},{"style":1116},[4584],{"type":56,"value":1241},{"type":51,"tag":1087,"props":4586,"children":4587},{"style":1204},[4588],{"type":56,"value":4589},"✅ Approved!",{"type":51,"tag":1087,"props":4591,"children":4592},{"style":1116},[4593],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4595,"children":4596},{"style":1116},[4597],{"type":56,"value":3743},{"type":51,"tag":1087,"props":4599,"children":4600},{"style":1228},[4601],{"type":56,"value":4602},"]\n",{"type":51,"tag":1087,"props":4604,"children":4605},{"class":1089,"line":1275},[4606,4611,4615],{"type":51,"tag":1087,"props":4607,"children":4608},{"style":1116},[4609],{"type":56,"value":4610},"    }",{"type":51,"tag":1087,"props":4612,"children":4613},{"style":1228},[4614],{"type":56,"value":119},{"type":51,"tag":1087,"props":4616,"children":4617},{"style":1116},[4618],{"type":56,"value":1491},{"type":51,"tag":1087,"props":4620,"children":4621},{"class":1089,"line":1326},[4622],{"type":51,"tag":1087,"props":4623,"children":4624},{"style":1116},[4625],{"type":56,"value":4626},"  }\n",{"type":51,"tag":1087,"props":4628,"children":4629},{"class":1089,"line":1361},[4630],{"type":51,"tag":1087,"props":4631,"children":4632},{"style":1116},[4633],{"type":56,"value":2018},{"type":51,"tag":670,"props":4635,"children":4637},{"id":4636},"verify-webhook-signature",[4638],{"type":56,"value":4639},"Verify Webhook Signature",{"type":51,"tag":1076,"props":4641,"children":4643},{"className":1078,"code":4642,"language":1080,"meta":1081,"style":1081},"function verifyWebhook(req) {\n  const message = `v0:${req.headers['x-zm-request-timestamp']}:${JSON.stringify(req.body)}`;\n  const hash = crypto.createHmac('sha256', process.env.ZOOM_VERIFICATION_TOKEN)\n    .update(message)\n    .digest('hex');\n  return req.headers['x-zm-signature'] === `v0=${hash}`;\n}\n",[4644],{"type":51,"tag":112,"props":4645,"children":4646},{"__ignoreMap":1081},[4647,4677,4784,4860,4885,4922,4997],{"type":51,"tag":1087,"props":4648,"children":4649},{"class":1089,"line":1090},[4650,4655,4660,4664,4669,4673],{"type":51,"tag":1087,"props":4651,"children":4652},{"style":1104},[4653],{"type":56,"value":4654},"function",{"type":51,"tag":1087,"props":4656,"children":4657},{"style":1128},[4658],{"type":56,"value":4659}," verifyWebhook",{"type":51,"tag":1087,"props":4661,"children":4662},{"style":1116},[4663],{"type":56,"value":1196},{"type":51,"tag":1087,"props":4665,"children":4666},{"style":3824},[4667],{"type":56,"value":4668},"req",{"type":51,"tag":1087,"props":4670,"children":4671},{"style":1116},[4672],{"type":56,"value":119},{"type":51,"tag":1087,"props":4674,"children":4675},{"style":1116},[4676],{"type":56,"value":1221},{"type":51,"tag":1087,"props":4678,"children":4679},{"class":1089,"line":1100},[4680,4684,4689,4693,4697,4702,4706,4710,4714,4719,4723,4728,4732,4737,4741,4745,4749,4754,4758,4762,4767,4771,4776,4780],{"type":51,"tag":1087,"props":4681,"children":4682},{"style":1104},[4683],{"type":56,"value":1625},{"type":51,"tag":1087,"props":4685,"children":4686},{"style":1110},[4687],{"type":56,"value":4688}," message",{"type":51,"tag":1087,"props":4690,"children":4691},{"style":1116},[4692],{"type":56,"value":1635},{"type":51,"tag":1087,"props":4694,"children":4695},{"style":1116},[4696],{"type":56,"value":1299},{"type":51,"tag":1087,"props":4698,"children":4699},{"style":1204},[4700],{"type":56,"value":4701},"v0:",{"type":51,"tag":1087,"props":4703,"children":4704},{"style":1116},[4705],{"type":56,"value":1309},{"type":51,"tag":1087,"props":4707,"children":4708},{"style":1110},[4709],{"type":56,"value":4668},{"type":51,"tag":1087,"props":4711,"children":4712},{"style":1116},[4713],{"type":56,"value":498},{"type":51,"tag":1087,"props":4715,"children":4716},{"style":1110},[4717],{"type":56,"value":4718},"headers[",{"type":51,"tag":1087,"props":4720,"children":4721},{"style":1116},[4722],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4724,"children":4725},{"style":1204},[4726],{"type":56,"value":4727},"x-zm-request-timestamp",{"type":51,"tag":1087,"props":4729,"children":4730},{"style":1116},[4731],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4733,"children":4734},{"style":1110},[4735],{"type":56,"value":4736},"]",{"type":51,"tag":1087,"props":4738,"children":4739},{"style":1116},[4740],{"type":56,"value":1482},{"type":51,"tag":1087,"props":4742,"children":4743},{"style":1204},[4744],{"type":56,"value":1236},{"type":51,"tag":1087,"props":4746,"children":4747},{"style":1116},[4748],{"type":56,"value":1309},{"type":51,"tag":1087,"props":4750,"children":4751},{"style":1110},[4752],{"type":56,"value":4753},"JSON",{"type":51,"tag":1087,"props":4755,"children":4756},{"style":1116},[4757],{"type":56,"value":498},{"type":51,"tag":1087,"props":4759,"children":4760},{"style":1128},[4761],{"type":56,"value":1394},{"type":51,"tag":1087,"props":4763,"children":4764},{"style":1110},[4765],{"type":56,"value":4766},"(req",{"type":51,"tag":1087,"props":4768,"children":4769},{"style":1116},[4770],{"type":56,"value":498},{"type":51,"tag":1087,"props":4772,"children":4773},{"style":1110},[4774],{"type":56,"value":4775},"body)",{"type":51,"tag":1087,"props":4777,"children":4778},{"style":1116},[4779],{"type":56,"value":1319},{"type":51,"tag":1087,"props":4781,"children":4782},{"style":1116},[4783],{"type":56,"value":1491},{"type":51,"tag":1087,"props":4785,"children":4786},{"class":1089,"line":1149},[4787,4791,4796,4800,4805,4809,4814,4818,4822,4827,4831,4835,4839,4843,4847,4851,4856],{"type":51,"tag":1087,"props":4788,"children":4789},{"style":1104},[4790],{"type":56,"value":1625},{"type":51,"tag":1087,"props":4792,"children":4793},{"style":1110},[4794],{"type":56,"value":4795}," hash",{"type":51,"tag":1087,"props":4797,"children":4798},{"style":1116},[4799],{"type":56,"value":1635},{"type":51,"tag":1087,"props":4801,"children":4802},{"style":1110},[4803],{"type":56,"value":4804}," crypto",{"type":51,"tag":1087,"props":4806,"children":4807},{"style":1116},[4808],{"type":56,"value":498},{"type":51,"tag":1087,"props":4810,"children":4811},{"style":1128},[4812],{"type":56,"value":4813},"createHmac",{"type":51,"tag":1087,"props":4815,"children":4816},{"style":1228},[4817],{"type":56,"value":1196},{"type":51,"tag":1087,"props":4819,"children":4820},{"style":1116},[4821],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4823,"children":4824},{"style":1204},[4825],{"type":56,"value":4826},"sha256",{"type":51,"tag":1087,"props":4828,"children":4829},{"style":1116},[4830],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4832,"children":4833},{"style":1116},[4834],{"type":56,"value":1216},{"type":51,"tag":1087,"props":4836,"children":4837},{"style":1110},[4838],{"type":56,"value":2261},{"type":51,"tag":1087,"props":4840,"children":4841},{"style":1116},[4842],{"type":56,"value":498},{"type":51,"tag":1087,"props":4844,"children":4845},{"style":1110},[4846],{"type":56,"value":2270},{"type":51,"tag":1087,"props":4848,"children":4849},{"style":1116},[4850],{"type":56,"value":498},{"type":51,"tag":1087,"props":4852,"children":4853},{"style":1110},[4854],{"type":56,"value":4855},"ZOOM_VERIFICATION_TOKEN",{"type":51,"tag":1087,"props":4857,"children":4858},{"style":1228},[4859],{"type":56,"value":1473},{"type":51,"tag":1087,"props":4861,"children":4862},{"class":1089,"line":1159},[4863,4868,4873,4877,4881],{"type":51,"tag":1087,"props":4864,"children":4865},{"style":1116},[4866],{"type":56,"value":4867},"    .",{"type":51,"tag":1087,"props":4869,"children":4870},{"style":1128},[4871],{"type":56,"value":4872},"update",{"type":51,"tag":1087,"props":4874,"children":4875},{"style":1228},[4876],{"type":56,"value":1196},{"type":51,"tag":1087,"props":4878,"children":4879},{"style":1110},[4880],{"type":56,"value":2517},{"type":51,"tag":1087,"props":4882,"children":4883},{"style":1228},[4884],{"type":56,"value":1473},{"type":51,"tag":1087,"props":4886,"children":4887},{"class":1089,"line":1168},[4888,4892,4897,4901,4905,4910,4914,4918],{"type":51,"tag":1087,"props":4889,"children":4890},{"style":1116},[4891],{"type":56,"value":4867},{"type":51,"tag":1087,"props":4893,"children":4894},{"style":1128},[4895],{"type":56,"value":4896},"digest",{"type":51,"tag":1087,"props":4898,"children":4899},{"style":1228},[4900],{"type":56,"value":1196},{"type":51,"tag":1087,"props":4902,"children":4903},{"style":1116},[4904],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4906,"children":4907},{"style":1204},[4908],{"type":56,"value":4909},"hex",{"type":51,"tag":1087,"props":4911,"children":4912},{"style":1116},[4913],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4915,"children":4916},{"style":1228},[4917],{"type":56,"value":119},{"type":51,"tag":1087,"props":4919,"children":4920},{"style":1116},[4921],{"type":56,"value":1491},{"type":51,"tag":1087,"props":4923,"children":4924},{"class":1089,"line":1224},[4925,4929,4934,4938,4943,4948,4952,4957,4961,4966,4971,4975,4980,4984,4989,4993],{"type":51,"tag":1087,"props":4926,"children":4927},{"style":1122},[4928],{"type":56,"value":1971},{"type":51,"tag":1087,"props":4930,"children":4931},{"style":1110},[4932],{"type":56,"value":4933}," req",{"type":51,"tag":1087,"props":4935,"children":4936},{"style":1116},[4937],{"type":56,"value":498},{"type":51,"tag":1087,"props":4939,"children":4940},{"style":1110},[4941],{"type":56,"value":4942},"headers",{"type":51,"tag":1087,"props":4944,"children":4945},{"style":1228},[4946],{"type":56,"value":4947},"[",{"type":51,"tag":1087,"props":4949,"children":4950},{"style":1116},[4951],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4953,"children":4954},{"style":1204},[4955],{"type":56,"value":4956},"x-zm-signature",{"type":51,"tag":1087,"props":4958,"children":4959},{"style":1116},[4960],{"type":56,"value":1201},{"type":51,"tag":1087,"props":4962,"children":4963},{"style":1228},[4964],{"type":56,"value":4965},"] ",{"type":51,"tag":1087,"props":4967,"children":4968},{"style":1116},[4969],{"type":56,"value":4970},"===",{"type":51,"tag":1087,"props":4972,"children":4973},{"style":1116},[4974],{"type":56,"value":1299},{"type":51,"tag":1087,"props":4976,"children":4977},{"style":1204},[4978],{"type":56,"value":4979},"v0=",{"type":51,"tag":1087,"props":4981,"children":4982},{"style":1116},[4983],{"type":56,"value":1309},{"type":51,"tag":1087,"props":4985,"children":4986},{"style":1110},[4987],{"type":56,"value":4988},"hash",{"type":51,"tag":1087,"props":4990,"children":4991},{"style":1116},[4992],{"type":56,"value":1319},{"type":51,"tag":1087,"props":4994,"children":4995},{"style":1116},[4996],{"type":56,"value":1491},{"type":51,"tag":1087,"props":4998,"children":4999},{"class":1089,"line":1258},[5000],{"type":51,"tag":1087,"props":5001,"children":5002},{"style":1116},[5003],{"type":56,"value":2018},{"type":51,"tag":65,"props":5005,"children":5007},{"id":5006},"deployment",[5008],{"type":56,"value":5009},"Deployment",{"type":51,"tag":670,"props":5011,"children":5013},{"id":5012},"ngrok-for-local-development",[5014],{"type":56,"value":5015},"ngrok for Local Development",{"type":51,"tag":1076,"props":5017,"children":5021},{"className":5018,"code":5019,"language":5020,"meta":1081,"style":1081},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Install ngrok\nnpm install -g ngrok\n\n# Expose local server\nngrok http 4000\n\n# Use HTTPS URL as Bot Endpoint URL in Zoom Marketplace\n# Example: https:\u002F\u002Fabc123.ngrok.io\u002Fwebhook\n","bash",[5022],{"type":51,"tag":112,"props":5023,"children":5024},{"__ignoreMap":1081},[5025,5033,5057,5064,5072,5091,5098,5106],{"type":51,"tag":1087,"props":5026,"children":5027},{"class":1089,"line":1090},[5028],{"type":51,"tag":1087,"props":5029,"children":5030},{"style":1094},[5031],{"type":56,"value":5032},"# Install ngrok\n",{"type":51,"tag":1087,"props":5034,"children":5035},{"class":1089,"line":1100},[5036,5042,5047,5052],{"type":51,"tag":1087,"props":5037,"children":5039},{"style":5038},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[5040],{"type":56,"value":5041},"npm",{"type":51,"tag":1087,"props":5043,"children":5044},{"style":1204},[5045],{"type":56,"value":5046}," install",{"type":51,"tag":1087,"props":5048,"children":5049},{"style":1204},[5050],{"type":56,"value":5051}," -g",{"type":51,"tag":1087,"props":5053,"children":5054},{"style":1204},[5055],{"type":56,"value":5056}," ngrok\n",{"type":51,"tag":1087,"props":5058,"children":5059},{"class":1089,"line":1149},[5060],{"type":51,"tag":1087,"props":5061,"children":5062},{"emptyLinePlaceholder":1153},[5063],{"type":56,"value":1156},{"type":51,"tag":1087,"props":5065,"children":5066},{"class":1089,"line":1159},[5067],{"type":51,"tag":1087,"props":5068,"children":5069},{"style":1094},[5070],{"type":56,"value":5071},"# Expose local server\n",{"type":51,"tag":1087,"props":5073,"children":5074},{"class":1089,"line":1168},[5075,5080,5085],{"type":51,"tag":1087,"props":5076,"children":5077},{"style":5038},[5078],{"type":56,"value":5079},"ngrok",{"type":51,"tag":1087,"props":5081,"children":5082},{"style":1204},[5083],{"type":56,"value":5084}," http",{"type":51,"tag":1087,"props":5086,"children":5088},{"style":5087},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[5089],{"type":56,"value":5090}," 4000\n",{"type":51,"tag":1087,"props":5092,"children":5093},{"class":1089,"line":1224},[5094],{"type":51,"tag":1087,"props":5095,"children":5096},{"emptyLinePlaceholder":1153},[5097],{"type":56,"value":1156},{"type":51,"tag":1087,"props":5099,"children":5100},{"class":1089,"line":1258},[5101],{"type":51,"tag":1087,"props":5102,"children":5103},{"style":1094},[5104],{"type":56,"value":5105},"# Use HTTPS URL as Bot Endpoint URL in Zoom Marketplace\n",{"type":51,"tag":1087,"props":5107,"children":5108},{"class":1089,"line":1275},[5109],{"type":51,"tag":1087,"props":5110,"children":5111},{"style":1094},[5112],{"type":56,"value":5113},"# Example: https:\u002F\u002Fabc123.ngrok.io\u002Fwebhook\n",{"type":51,"tag":670,"props":5115,"children":5117},{"id":5116},"production-deployment",[5118],{"type":56,"value":5119},"Production Deployment",{"type":51,"tag":59,"props":5121,"children":5122},{},[5123,5127,5128,5134],{"type":51,"tag":85,"props":5124,"children":5125},{},[5126],{"type":56,"value":1055},{"type":56,"value":188},{"type":51,"tag":190,"props":5129,"children":5131},{"href":5130},"concepts\u002Fdeployment.md",[5132],{"type":56,"value":5133},"Deployment Guide",{"type":56,"value":5135}," for:",{"type":51,"tag":91,"props":5137,"children":5138},{},[5139,5144,5149],{"type":51,"tag":81,"props":5140,"children":5141},{},[5142],{"type":56,"value":5143},"Nginx reverse proxy setup",{"type":51,"tag":81,"props":5145,"children":5146},{},[5147],{"type":56,"value":5148},"Base path configuration",{"type":51,"tag":81,"props":5150,"children":5151},{},[5152],{"type":56,"value":5153},"OAuth redirect URI setup",{"type":51,"tag":65,"props":5155,"children":5157},{"id":5156},"limitations",[5158],{"type":56,"value":5159},"Limitations",{"type":51,"tag":550,"props":5161,"children":5162},{},[5163,5179],{"type":51,"tag":554,"props":5164,"children":5165},{},[5166],{"type":51,"tag":558,"props":5167,"children":5168},{},[5169,5174],{"type":51,"tag":562,"props":5170,"children":5171},{},[5172],{"type":56,"value":5173},"Limit",{"type":51,"tag":562,"props":5175,"children":5176},{},[5177],{"type":56,"value":5178},"Value",{"type":51,"tag":573,"props":5180,"children":5181},{},[5182,5195,5208,5221],{"type":51,"tag":558,"props":5183,"children":5184},{},[5185,5190],{"type":51,"tag":580,"props":5186,"children":5187},{},[5188],{"type":56,"value":5189},"Message length",{"type":51,"tag":580,"props":5191,"children":5192},{},[5193],{"type":56,"value":5194},"4,096 characters",{"type":51,"tag":558,"props":5196,"children":5197},{},[5198,5203],{"type":51,"tag":580,"props":5199,"children":5200},{},[5201],{"type":56,"value":5202},"File size",{"type":51,"tag":580,"props":5204,"children":5205},{},[5206],{"type":56,"value":5207},"512 MB",{"type":51,"tag":558,"props":5209,"children":5210},{},[5211,5216],{"type":51,"tag":580,"props":5212,"children":5213},{},[5214],{"type":56,"value":5215},"Members per channel",{"type":51,"tag":580,"props":5217,"children":5218},{},[5219],{"type":56,"value":5220},"10,000",{"type":51,"tag":558,"props":5222,"children":5223},{},[5224,5229],{"type":51,"tag":580,"props":5225,"children":5226},{},[5227],{"type":56,"value":5228},"Channels per user",{"type":51,"tag":580,"props":5230,"children":5231},{},[5232],{"type":56,"value":5233},"500",{"type":51,"tag":65,"props":5235,"children":5237},{"id":5236},"security-best-practices",[5238],{"type":56,"value":5239},"Security Best Practices",{"type":51,"tag":77,"props":5241,"children":5242},{},[5243,5260,5270,5294,5304],{"type":51,"tag":81,"props":5244,"children":5245},{},[5246,5251,5253,5258],{"type":51,"tag":85,"props":5247,"children":5248},{},[5249],{"type":56,"value":5250},"Verify webhook signatures",{"type":56,"value":5252}," - Always validate using ",{"type":51,"tag":112,"props":5254,"children":5256},{"className":5255},[],[5257],{"type":56,"value":4956},{"type":56,"value":5259}," header",{"type":51,"tag":81,"props":5261,"children":5262},{},[5263,5268],{"type":51,"tag":85,"props":5264,"children":5265},{},[5266],{"type":56,"value":5267},"Sanitize messages",{"type":56,"value":5269}," - Limit to 4096 chars, remove control characters",{"type":51,"tag":81,"props":5271,"children":5272},{},[5273,5278,5280,5286,5288],{"type":51,"tag":85,"props":5274,"children":5275},{},[5276],{"type":56,"value":5277},"Validate JIDs",{"type":56,"value":5279}," - Check format: ",{"type":51,"tag":112,"props":5281,"children":5283},{"className":5282},[],[5284],{"type":56,"value":5285},"user@domain",{"type":56,"value":5287}," or ",{"type":51,"tag":112,"props":5289,"children":5291},{"className":5290},[],[5292],{"type":56,"value":5293},"channel@domain",{"type":51,"tag":81,"props":5295,"children":5296},{},[5297,5302],{"type":51,"tag":85,"props":5298,"children":5299},{},[5300],{"type":56,"value":5301},"Environment variables",{"type":56,"value":5303}," - Never hardcode credentials",{"type":51,"tag":81,"props":5305,"children":5306},{},[5307,5312],{"type":51,"tag":85,"props":5308,"children":5309},{},[5310],{"type":56,"value":5311},"Use HTTPS",{"type":56,"value":5313}," - Required for production webhooks",{"type":51,"tag":59,"props":5315,"children":5316},{},[5317,5321,5322],{"type":51,"tag":85,"props":5318,"children":5319},{},[5320],{"type":56,"value":1055},{"type":56,"value":188},{"type":51,"tag":190,"props":5323,"children":5325},{"href":5324},"concepts\u002Fsecurity.md",[5326],{"type":56,"value":5239},{"type":51,"tag":65,"props":5328,"children":5330},{"id":5329},"complete-documentation-library",[5331],{"type":56,"value":5332},"Complete Documentation Library",{"type":51,"tag":670,"props":5334,"children":5336},{"id":5335},"core-concepts-start-here",[5337],{"type":56,"value":5338},"Core Concepts (Start Here!)",{"type":51,"tag":91,"props":5340,"children":5341},{},[5342,5355,5367,5381,5395],{"type":51,"tag":81,"props":5343,"children":5344},{},[5345,5353],{"type":51,"tag":85,"props":5346,"children":5347},{},[5348],{"type":51,"tag":190,"props":5349,"children":5350},{"href":267},[5351],{"type":56,"value":5352},"API Selection Guide",{"type":56,"value":5354}," - Choose Team Chat API vs Chatbot API",{"type":51,"tag":81,"props":5356,"children":5357},{},[5358,5365],{"type":51,"tag":85,"props":5359,"children":5360},{},[5361],{"type":51,"tag":190,"props":5362,"children":5363},{"href":281},[5364],{"type":56,"value":284},{"type":56,"value":5366}," - Complete credentials guide",{"type":51,"tag":81,"props":5368,"children":5369},{},[5370,5379],{"type":51,"tag":85,"props":5371,"children":5372},{},[5373],{"type":51,"tag":190,"props":5374,"children":5376},{"href":5375},"concepts\u002Fauthentication.md",[5377],{"type":56,"value":5378},"Authentication Flows",{"type":56,"value":5380}," - OAuth vs Client Credentials",{"type":51,"tag":81,"props":5382,"children":5383},{},[5384,5393],{"type":51,"tag":85,"props":5385,"children":5386},{},[5387],{"type":51,"tag":190,"props":5388,"children":5390},{"href":5389},"concepts\u002Fwebhooks.md",[5391],{"type":56,"value":5392},"Webhook Architecture",{"type":56,"value":5394}," - How webhooks work",{"type":51,"tag":81,"props":5396,"children":5397},{},[5398,5407],{"type":51,"tag":85,"props":5399,"children":5400},{},[5401],{"type":51,"tag":190,"props":5402,"children":5404},{"href":5403},"concepts\u002Fmessage-structure.md",[5405],{"type":56,"value":5406},"Message Card Structure",{"type":56,"value":5408}," - Card component hierarchy",{"type":51,"tag":670,"props":5410,"children":5412},{"id":5411},"complete-examples",[5413],{"type":56,"value":5414},"Complete Examples",{"type":51,"tag":91,"props":5416,"children":5417},{},[5418,5430,5443,5456,5468,5479,5490,5502,5516],{"type":51,"tag":81,"props":5419,"children":5420},{},[5421,5428],{"type":51,"tag":85,"props":5422,"children":5423},{},[5424],{"type":51,"tag":190,"props":5425,"children":5426},{"href":295},[5427],{"type":56,"value":298},{"type":56,"value":5429}," - Full OAuth implementation",{"type":51,"tag":81,"props":5431,"children":5432},{},[5433,5441],{"type":51,"tag":85,"props":5434,"children":5435},{},[5436],{"type":51,"tag":190,"props":5437,"children":5438},{"href":309},[5439],{"type":56,"value":5440},"Send Message",{"type":56,"value":5442}," - Team Chat API message sending",{"type":51,"tag":81,"props":5444,"children":5445},{},[5446,5454],{"type":51,"tag":85,"props":5447,"children":5448},{},[5449],{"type":51,"tag":190,"props":5450,"children":5451},{"href":3038},[5452],{"type":56,"value":5453},"Chatbot Setup",{"type":56,"value":5455}," - Complete chatbot with webhooks",{"type":51,"tag":81,"props":5457,"children":5458},{},[5459,5466],{"type":51,"tag":85,"props":5460,"children":5461},{},[5462],{"type":51,"tag":190,"props":5463,"children":5464},{"href":515},[5465],{"type":56,"value":518},{"type":56,"value":5467}," - Handle interactive buttons",{"type":51,"tag":81,"props":5469,"children":5470},{},[5471,5478],{"type":51,"tag":85,"props":5472,"children":5473},{},[5474],{"type":51,"tag":190,"props":5475,"children":5476},{"href":526},[5477],{"type":56,"value":529},{"type":56,"value":531},{"type":51,"tag":81,"props":5480,"children":5481},{},[5482,5489],{"type":51,"tag":85,"props":5483,"children":5484},{},[5485],{"type":51,"tag":190,"props":5486,"children":5487},{"href":537},[5488],{"type":56,"value":540},{"type":56,"value":542},{"type":51,"tag":81,"props":5491,"children":5492},{},[5493,5500],{"type":51,"tag":85,"props":5494,"children":5495},{},[5496],{"type":51,"tag":190,"props":5497,"children":5498},{"href":3930},[5499],{"type":56,"value":3275},{"type":56,"value":5501}," - Claude\u002FGPT integration",{"type":51,"tag":81,"props":5503,"children":5504},{},[5505,5514],{"type":51,"tag":85,"props":5506,"children":5507},{},[5508],{"type":51,"tag":190,"props":5509,"children":5511},{"href":5510},"examples\u002Fscheduled-alerts.md",[5512],{"type":56,"value":5513},"Scheduled Alerts",{"type":56,"value":5515}," - Cron + incoming webhooks",{"type":51,"tag":81,"props":5517,"children":5518},{},[5519,5528],{"type":51,"tag":85,"props":5520,"children":5521},{},[5522],{"type":51,"tag":190,"props":5523,"children":5525},{"href":5524},"examples\u002Fchannel-management.md",[5526],{"type":56,"value":5527},"Channel Management",{"type":56,"value":5529}," - Create\u002Fmanage channels",{"type":51,"tag":670,"props":5531,"children":5533},{"id":5532},"references",[5534],{"type":56,"value":5535},"References",{"type":51,"tag":91,"props":5537,"children":5538},{},[5539,5551,5563,5576,5588],{"type":51,"tag":81,"props":5540,"children":5541},{},[5542,5549],{"type":51,"tag":85,"props":5543,"children":5544},{},[5545],{"type":51,"tag":190,"props":5546,"children":5547},{"href":362},[5548],{"type":56,"value":220},{"type":56,"value":5550}," - All endpoints and methods",{"type":51,"tag":81,"props":5552,"children":5553},{},[5554,5561],{"type":51,"tag":85,"props":5555,"children":5556},{},[5557],{"type":51,"tag":190,"props":5558,"children":5559},{"href":348},[5560],{"type":56,"value":351},{"type":56,"value":5562}," - Complete event reference",{"type":51,"tag":81,"props":5564,"children":5565},{},[5566,5574],{"type":51,"tag":85,"props":5567,"children":5568},{},[5569],{"type":51,"tag":190,"props":5570,"children":5571},{"href":334},[5572],{"type":56,"value":5573},"Message Cards",{"type":56,"value":5575}," - All card components",{"type":51,"tag":81,"props":5577,"children":5578},{},[5579,5586],{"type":51,"tag":85,"props":5580,"children":5581},{},[5582],{"type":51,"tag":190,"props":5583,"children":5584},{"href":375},[5585],{"type":56,"value":378},{"type":56,"value":5587}," - Analysis of 10 official samples",{"type":51,"tag":81,"props":5589,"children":5590},{},[5591,5600],{"type":51,"tag":85,"props":5592,"children":5593},{},[5594],{"type":51,"tag":190,"props":5595,"children":5597},{"href":5596},"references\u002Ferror-codes.md",[5598],{"type":56,"value":5599},"Error Codes",{"type":56,"value":5601}," - Error handling guide",{"type":51,"tag":670,"props":5603,"children":5605},{"id":5604},"troubleshooting",[5606],{"type":56,"value":5607},"Troubleshooting",{"type":51,"tag":91,"props":5609,"children":5610},{},[5611,5624,5637],{"type":51,"tag":81,"props":5612,"children":5613},{},[5614,5622],{"type":51,"tag":85,"props":5615,"children":5616},{},[5617],{"type":51,"tag":190,"props":5618,"children":5619},{"href":409},[5620],{"type":56,"value":5621},"OAuth Issues",{"type":56,"value":5623}," - Authentication failures",{"type":51,"tag":81,"props":5625,"children":5626},{},[5627,5635],{"type":51,"tag":85,"props":5628,"children":5629},{},[5630],{"type":51,"tag":190,"props":5631,"children":5632},{"href":420},[5633],{"type":56,"value":5634},"Webhook Issues",{"type":56,"value":5636}," - Webhook debugging",{"type":51,"tag":81,"props":5638,"children":5639},{},[5640,5647],{"type":51,"tag":85,"props":5641,"children":5642},{},[5643],{"type":51,"tag":190,"props":5644,"children":5645},{"href":431},[5646],{"type":56,"value":434},{"type":56,"value":5648}," - Quick diagnostics",{"type":51,"tag":65,"props":5650,"children":5652},{"id":5651},"resources",[5653],{"type":56,"value":5654},"Resources",{"type":51,"tag":91,"props":5656,"children":5657},{},[5658,5672,5685,5700],{"type":51,"tag":81,"props":5659,"children":5660},{},[5661,5666,5667],{"type":51,"tag":85,"props":5662,"children":5663},{},[5664],{"type":56,"value":5665},"Official Docs",{"type":56,"value":188},{"type":51,"tag":190,"props":5668,"children":5670},{"href":192,"rel":5669},[194],[5671],{"type":56,"value":192},{"type":51,"tag":81,"props":5673,"children":5674},{},[5675,5679,5680],{"type":51,"tag":85,"props":5676,"children":5677},{},[5678],{"type":56,"value":220},{"type":56,"value":188},{"type":51,"tag":190,"props":5681,"children":5683},{"href":224,"rel":5682},[194],[5684],{"type":56,"value":224},{"type":51,"tag":81,"props":5686,"children":5687},{},[5688,5693,5694],{"type":51,"tag":85,"props":5689,"children":5690},{},[5691],{"type":56,"value":5692},"Dev Forum",{"type":56,"value":188},{"type":51,"tag":190,"props":5695,"children":5698},{"href":5696,"rel":5697},"https:\u002F\u002Fdevforum.zoom.us\u002F",[194],[5699],{"type":56,"value":5696},{"type":51,"tag":81,"props":5701,"children":5702},{},[5703,5708,5709],{"type":51,"tag":85,"props":5704,"children":5705},{},[5706],{"type":56,"value":5707},"App Marketplace",{"type":56,"value":188},{"type":51,"tag":190,"props":5710,"children":5712},{"href":877,"rel":5711},[194],[5713],{"type":56,"value":877},{"type":51,"tag":5715,"props":5716,"children":5717},"hr",{},[],{"type":51,"tag":59,"props":5719,"children":5720},{},[5721,5726],{"type":51,"tag":85,"props":5722,"children":5723},{},[5724],{"type":56,"value":5725},"Need help?",{"type":56,"value":5727}," Start with Integrated Index section below for complete navigation.",{"type":51,"tag":5715,"props":5729,"children":5730},{},[],{"type":51,"tag":65,"props":5732,"children":5734},{"id":5733},"integrated-index",[5735],{"type":56,"value":388},{"type":51,"tag":59,"props":5737,"children":5738},{},[5739],{"type":51,"tag":5740,"props":5741,"children":5742},"em",{},[5743,5745,5751],{"type":56,"value":5744},"This section was migrated from ",{"type":51,"tag":112,"props":5746,"children":5748},{"className":5747},[],[5749],{"type":56,"value":5750},"SKILL.md",{"type":56,"value":498},{"type":51,"tag":59,"props":5753,"children":5754},{},[5755],{"type":56,"value":5756},"Complete navigation guide for the Zoom Team Chat skill.",{"type":51,"tag":65,"props":5758,"children":5760},{"id":5759},"quick-start-paths",[5761],{"type":56,"value":5762},"Quick Start Paths",{"type":51,"tag":91,"props":5764,"children":5765},{},[5766,5775],{"type":51,"tag":81,"props":5767,"children":5768},{},[5769,5771],{"type":56,"value":5770},"Start here: ",{"type":51,"tag":190,"props":5772,"children":5773},{"href":253},[5774],{"type":56,"value":256},{"type":51,"tag":81,"props":5776,"children":5777},{},[5778,5780],{"type":56,"value":5779},"Fast troubleshooting first: ",{"type":51,"tag":190,"props":5781,"children":5782},{"href":442},[5783],{"type":56,"value":445},{"type":51,"tag":670,"props":5785,"children":5787},{"id":5786},"path-1-team-chat-api-user-level-messaging",[5788],{"type":56,"value":5789},"Path 1: Team Chat API (User-Level Messaging)",{"type":51,"tag":59,"props":5791,"children":5792},{},[5793],{"type":56,"value":5794},"For sending messages as a user account.",{"type":51,"tag":77,"props":5796,"children":5797},{},[5798,5807,5816,5826],{"type":51,"tag":81,"props":5799,"children":5800},{},[5801,5805],{"type":51,"tag":190,"props":5802,"children":5803},{"href":267},[5804],{"type":56,"value":5352},{"type":56,"value":5806}," - Confirm Team Chat API is right",{"type":51,"tag":81,"props":5808,"children":5809},{},[5810,5814],{"type":51,"tag":190,"props":5811,"children":5812},{"href":281},[5813],{"type":56,"value":284},{"type":56,"value":5815}," - Get credentials",{"type":51,"tag":81,"props":5817,"children":5818},{},[5819,5824],{"type":51,"tag":190,"props":5820,"children":5821},{"href":295},[5822],{"type":56,"value":5823},"OAuth Setup Example",{"type":56,"value":5825}," - Implement authentication",{"type":51,"tag":81,"props":5827,"children":5828},{},[5829,5834],{"type":51,"tag":190,"props":5830,"children":5831},{"href":309},[5832],{"type":56,"value":5833},"Send Message Example",{"type":56,"value":5835}," - Send your first message",{"type":51,"tag":670,"props":5837,"children":5839},{"id":5838},"path-2-chatbot-api-interactive-bots",[5840],{"type":56,"value":5841},"Path 2: Chatbot API (Interactive Bots)",{"type":51,"tag":59,"props":5843,"children":5844},{},[5845],{"type":56,"value":5846},"For building interactive chatbots with rich messages.",{"type":51,"tag":77,"props":5848,"children":5849},{},[5850,5859,5868,5877,5887],{"type":51,"tag":81,"props":5851,"children":5852},{},[5853,5857],{"type":51,"tag":190,"props":5854,"children":5855},{"href":267},[5856],{"type":56,"value":5352},{"type":56,"value":5858}," - Confirm Chatbot API is right",{"type":51,"tag":81,"props":5860,"children":5861},{},[5862,5866],{"type":51,"tag":190,"props":5863,"children":5864},{"href":281},[5865],{"type":56,"value":284},{"type":56,"value":5867}," - Get credentials (including Bot JID)",{"type":51,"tag":81,"props":5869,"children":5870},{},[5871,5875],{"type":51,"tag":190,"props":5872,"children":5873},{"href":5389},[5874],{"type":56,"value":5392},{"type":56,"value":5876}," - Understand webhook events",{"type":51,"tag":81,"props":5878,"children":5879},{},[5880,5885],{"type":51,"tag":190,"props":5881,"children":5882},{"href":3038},[5883],{"type":56,"value":5884},"Chatbot Setup Example",{"type":56,"value":5886}," - Build your first bot",{"type":51,"tag":81,"props":5888,"children":5889},{},[5890,5894],{"type":51,"tag":190,"props":5891,"children":5892},{"href":334},[5893],{"type":56,"value":3637},{"type":56,"value":5895}," - Create rich messages",{"type":51,"tag":65,"props":5897,"children":5899},{"id":5898},"core-concepts",[5900],{"type":56,"value":5901},"Core Concepts",{"type":51,"tag":59,"props":5903,"children":5904},{},[5905],{"type":56,"value":5906},"Essential understanding for both APIs.",{"type":51,"tag":550,"props":5908,"children":5909},{},[5910,5925],{"type":51,"tag":554,"props":5911,"children":5912},{},[5913],{"type":51,"tag":558,"props":5914,"children":5915},{},[5916,5921],{"type":51,"tag":562,"props":5917,"children":5918},{},[5919],{"type":56,"value":5920},"Document",{"type":51,"tag":562,"props":5922,"children":5923},{},[5924],{"type":56,"value":3071},{"type":51,"tag":573,"props":5926,"children":5927},{},[5928,5943,5958,5973,5988,6003,6018],{"type":51,"tag":558,"props":5929,"children":5930},{},[5931,5938],{"type":51,"tag":580,"props":5932,"children":5933},{},[5934],{"type":51,"tag":190,"props":5935,"children":5936},{"href":267},[5937],{"type":56,"value":5352},{"type":51,"tag":580,"props":5939,"children":5940},{},[5941],{"type":56,"value":5942},"Choose Team Chat API vs Chatbot API",{"type":51,"tag":558,"props":5944,"children":5945},{},[5946,5953],{"type":51,"tag":580,"props":5947,"children":5948},{},[5949],{"type":51,"tag":190,"props":5950,"children":5951},{"href":281},[5952],{"type":56,"value":284},{"type":51,"tag":580,"props":5954,"children":5955},{},[5956],{"type":56,"value":5957},"Complete credentials and app configuration",{"type":51,"tag":558,"props":5959,"children":5960},{},[5961,5968],{"type":51,"tag":580,"props":5962,"children":5963},{},[5964],{"type":51,"tag":190,"props":5965,"children":5966},{"href":5375},[5967],{"type":56,"value":5378},{"type":51,"tag":580,"props":5969,"children":5970},{},[5971],{"type":56,"value":5972},"OAuth vs Client Credentials",{"type":51,"tag":558,"props":5974,"children":5975},{},[5976,5983],{"type":51,"tag":580,"props":5977,"children":5978},{},[5979],{"type":51,"tag":190,"props":5980,"children":5981},{"href":5389},[5982],{"type":56,"value":5392},{"type":51,"tag":580,"props":5984,"children":5985},{},[5986],{"type":56,"value":5987},"How webhooks work (Chatbot API)",{"type":51,"tag":558,"props":5989,"children":5990},{},[5991,5998],{"type":51,"tag":580,"props":5992,"children":5993},{},[5994],{"type":51,"tag":190,"props":5995,"children":5996},{"href":5403},[5997],{"type":56,"value":5406},{"type":51,"tag":580,"props":5999,"children":6000},{},[6001],{"type":56,"value":6002},"Card component hierarchy",{"type":51,"tag":558,"props":6004,"children":6005},{},[6006,6013],{"type":51,"tag":580,"props":6007,"children":6008},{},[6009],{"type":51,"tag":190,"props":6010,"children":6011},{"href":5130},[6012],{"type":56,"value":5133},{"type":51,"tag":580,"props":6014,"children":6015},{},[6016],{"type":56,"value":6017},"Production deployment strategies",{"type":51,"tag":558,"props":6019,"children":6020},{},[6021,6028],{"type":51,"tag":580,"props":6022,"children":6023},{},[6024],{"type":51,"tag":190,"props":6025,"children":6026},{"href":5324},[6027],{"type":56,"value":5239},{"type":51,"tag":580,"props":6029,"children":6030},{},[6031],{"type":56,"value":6032},"Secure your integration",{"type":51,"tag":65,"props":6034,"children":6036},{"id":6035},"complete-examples-1",[6037],{"type":56,"value":5414},{"type":51,"tag":59,"props":6039,"children":6040},{},[6041],{"type":56,"value":6042},"Working code for common scenarios.",{"type":51,"tag":670,"props":6044,"children":6046},{"id":6045},"authentication",[6047],{"type":56,"value":6048},"Authentication",{"type":51,"tag":550,"props":6050,"children":6051},{},[6052,6067],{"type":51,"tag":554,"props":6053,"children":6054},{},[6055],{"type":51,"tag":558,"props":6056,"children":6057},{},[6058,6063],{"type":51,"tag":562,"props":6059,"children":6060},{},[6061],{"type":56,"value":6062},"Example",{"type":51,"tag":562,"props":6064,"children":6065},{},[6066],{"type":56,"value":3071},{"type":51,"tag":573,"props":6068,"children":6069},{},[6070,6085],{"type":51,"tag":558,"props":6071,"children":6072},{},[6073,6080],{"type":51,"tag":580,"props":6074,"children":6075},{},[6076],{"type":51,"tag":190,"props":6077,"children":6078},{"href":295},[6079],{"type":56,"value":298},{"type":51,"tag":580,"props":6081,"children":6082},{},[6083],{"type":56,"value":6084},"User OAuth flow implementation",{"type":51,"tag":558,"props":6086,"children":6087},{},[6088,6097],{"type":51,"tag":580,"props":6089,"children":6090},{},[6091],{"type":51,"tag":190,"props":6092,"children":6094},{"href":6093},"examples\u002Ftoken-management.md",[6095],{"type":56,"value":6096},"Token Management",{"type":51,"tag":580,"props":6098,"children":6099},{},[6100],{"type":56,"value":6101},"Refresh tokens, expiration handling",{"type":51,"tag":670,"props":6103,"children":6105},{"id":6104},"basic-operations",[6106],{"type":56,"value":6107},"Basic Operations",{"type":51,"tag":550,"props":6109,"children":6110},{},[6111,6125],{"type":51,"tag":554,"props":6112,"children":6113},{},[6114],{"type":51,"tag":558,"props":6115,"children":6116},{},[6117,6121],{"type":51,"tag":562,"props":6118,"children":6119},{},[6120],{"type":56,"value":6062},{"type":51,"tag":562,"props":6122,"children":6123},{},[6124],{"type":56,"value":3071},{"type":51,"tag":573,"props":6126,"children":6127},{},[6128,6143,6158,6173],{"type":51,"tag":558,"props":6129,"children":6130},{},[6131,6138],{"type":51,"tag":580,"props":6132,"children":6133},{},[6134],{"type":51,"tag":190,"props":6135,"children":6136},{"href":309},[6137],{"type":56,"value":5440},{"type":51,"tag":580,"props":6139,"children":6140},{},[6141],{"type":56,"value":6142},"Team Chat API message sending",{"type":51,"tag":558,"props":6144,"children":6145},{},[6146,6153],{"type":51,"tag":580,"props":6147,"children":6148},{},[6149],{"type":51,"tag":190,"props":6150,"children":6151},{"href":3038},[6152],{"type":56,"value":5453},{"type":51,"tag":580,"props":6154,"children":6155},{},[6156],{"type":56,"value":6157},"Complete chatbot with webhooks",{"type":51,"tag":558,"props":6159,"children":6160},{},[6161,6168],{"type":51,"tag":580,"props":6162,"children":6163},{},[6164],{"type":51,"tag":190,"props":6165,"children":6166},{"href":5524},[6167],{"type":56,"value":3101},{"type":51,"tag":580,"props":6169,"children":6170},{},[6171],{"type":56,"value":6172},"Get user's channels",{"type":51,"tag":558,"props":6174,"children":6175},{},[6176,6184],{"type":51,"tag":580,"props":6177,"children":6178},{},[6179],{"type":51,"tag":190,"props":6180,"children":6181},{"href":5524},[6182],{"type":56,"value":6183},"Create Channel",{"type":51,"tag":580,"props":6185,"children":6186},{},[6187],{"type":56,"value":6188},"Create public\u002Fprivate channels",{"type":51,"tag":670,"props":6190,"children":6192},{"id":6191},"interactive-features-chatbot-api",[6193],{"type":56,"value":6194},"Interactive Features (Chatbot API)",{"type":51,"tag":550,"props":6196,"children":6197},{},[6198,6212],{"type":51,"tag":554,"props":6199,"children":6200},{},[6201],{"type":51,"tag":558,"props":6202,"children":6203},{},[6204,6208],{"type":51,"tag":562,"props":6205,"children":6206},{},[6207],{"type":56,"value":6062},{"type":51,"tag":562,"props":6209,"children":6210},{},[6211],{"type":56,"value":3071},{"type":51,"tag":573,"props":6213,"children":6214},{},[6215,6230,6244,6259],{"type":51,"tag":558,"props":6216,"children":6217},{},[6218,6225],{"type":51,"tag":580,"props":6219,"children":6220},{},[6221],{"type":51,"tag":190,"props":6222,"children":6223},{"href":515},[6224],{"type":56,"value":518},{"type":51,"tag":580,"props":6226,"children":6227},{},[6228],{"type":56,"value":6229},"Handle button clicks",{"type":51,"tag":558,"props":6231,"children":6232},{},[6233,6240],{"type":51,"tag":580,"props":6234,"children":6235},{},[6236],{"type":51,"tag":190,"props":6237,"children":6238},{"href":526},[6239],{"type":56,"value":529},{"type":51,"tag":580,"props":6241,"children":6242},{},[6243],{"type":56,"value":3400},{"type":51,"tag":558,"props":6245,"children":6246},{},[6247,6254],{"type":51,"tag":580,"props":6248,"children":6249},{},[6250],{"type":51,"tag":190,"props":6251,"children":6252},{"href":537},[6253],{"type":56,"value":540},{"type":51,"tag":580,"props":6255,"children":6256},{},[6257],{"type":56,"value":6258},"Create custom commands",{"type":51,"tag":558,"props":6260,"children":6261},{},[6262,6270],{"type":51,"tag":580,"props":6263,"children":6264},{},[6265],{"type":51,"tag":190,"props":6266,"children":6268},{"href":6267},"examples\u002Fdropdown-selects.md",[6269],{"type":56,"value":3259},{"type":51,"tag":580,"props":6271,"children":6272},{},[6273],{"type":56,"value":6274},"Channel\u002Fmember pickers",{"type":51,"tag":670,"props":6276,"children":6278},{"id":6277},"advanced-integration",[6279],{"type":56,"value":6280},"Advanced Integration",{"type":51,"tag":550,"props":6282,"children":6283},{},[6284,6298],{"type":51,"tag":554,"props":6285,"children":6286},{},[6287],{"type":51,"tag":558,"props":6288,"children":6289},{},[6290,6294],{"type":51,"tag":562,"props":6291,"children":6292},{},[6293],{"type":56,"value":6062},{"type":51,"tag":562,"props":6295,"children":6296},{},[6297],{"type":56,"value":3071},{"type":51,"tag":573,"props":6299,"children":6300},{},[6301,6316,6331,6348],{"type":51,"tag":558,"props":6302,"children":6303},{},[6304,6311],{"type":51,"tag":580,"props":6305,"children":6306},{},[6307],{"type":51,"tag":190,"props":6308,"children":6309},{"href":3930},[6310],{"type":56,"value":3275},{"type":51,"tag":580,"props":6312,"children":6313},{},[6314],{"type":56,"value":6315},"Integrate Claude\u002FGPT",{"type":51,"tag":558,"props":6317,"children":6318},{},[6319,6326],{"type":51,"tag":580,"props":6320,"children":6321},{},[6322],{"type":51,"tag":190,"props":6323,"children":6324},{"href":5510},[6325],{"type":56,"value":5513},{"type":51,"tag":580,"props":6327,"children":6328},{},[6329],{"type":56,"value":6330},"Cron + incoming webhooks",{"type":51,"tag":558,"props":6332,"children":6333},{},[6334,6343],{"type":51,"tag":580,"props":6335,"children":6336},{},[6337],{"type":51,"tag":190,"props":6338,"children":6340},{"href":6339},"examples\u002Fdatabase-integration.md",[6341],{"type":56,"value":6342},"Database Integration",{"type":51,"tag":580,"props":6344,"children":6345},{},[6346],{"type":56,"value":6347},"Store conversation state",{"type":51,"tag":558,"props":6349,"children":6350},{},[6351,6360],{"type":51,"tag":580,"props":6352,"children":6353},{},[6354],{"type":51,"tag":190,"props":6355,"children":6357},{"href":6356},"examples\u002Fmulti-step-workflows.md",[6358],{"type":56,"value":6359},"Multi-Step Workflows",{"type":51,"tag":580,"props":6361,"children":6362},{},[6363],{"type":56,"value":6364},"Complex user interactions",{"type":51,"tag":65,"props":6366,"children":6368},{"id":6367},"references-1",[6369],{"type":56,"value":5535},{"type":51,"tag":670,"props":6371,"children":6373},{"id":6372},"api-documentation",[6374],{"type":56,"value":6375},"API Documentation",{"type":51,"tag":550,"props":6377,"children":6378},{},[6379,6394],{"type":51,"tag":554,"props":6380,"children":6381},{},[6382],{"type":51,"tag":558,"props":6383,"children":6384},{},[6385,6390],{"type":51,"tag":562,"props":6386,"children":6387},{},[6388],{"type":56,"value":6389},"Reference",{"type":51,"tag":562,"props":6391,"children":6392},{},[6393],{"type":56,"value":3071},{"type":51,"tag":573,"props":6395,"children":6396},{},[6397,6412,6427,6442],{"type":51,"tag":558,"props":6398,"children":6399},{},[6400,6407],{"type":51,"tag":580,"props":6401,"children":6402},{},[6403],{"type":51,"tag":190,"props":6404,"children":6405},{"href":362},[6406],{"type":56,"value":220},{"type":51,"tag":580,"props":6408,"children":6409},{},[6410],{"type":56,"value":6411},"Pointers and common endpoints",{"type":51,"tag":558,"props":6413,"children":6414},{},[6415,6422],{"type":51,"tag":580,"props":6416,"children":6417},{},[6418],{"type":51,"tag":190,"props":6419,"children":6420},{"href":348},[6421],{"type":56,"value":351},{"type":51,"tag":580,"props":6423,"children":6424},{},[6425],{"type":56,"value":6426},"Event types and handling checklist",{"type":51,"tag":558,"props":6428,"children":6429},{},[6430,6437],{"type":51,"tag":580,"props":6431,"children":6432},{},[6433],{"type":51,"tag":190,"props":6434,"children":6435},{"href":334},[6436],{"type":56,"value":5573},{"type":51,"tag":580,"props":6438,"children":6439},{},[6440],{"type":56,"value":6441},"All card components",{"type":51,"tag":558,"props":6443,"children":6444},{},[6445,6452],{"type":51,"tag":580,"props":6446,"children":6447},{},[6448],{"type":51,"tag":190,"props":6449,"children":6450},{"href":5596},[6451],{"type":56,"value":5599},{"type":51,"tag":580,"props":6453,"children":6454},{},[6455],{"type":56,"value":6456},"Error handling guide",{"type":51,"tag":670,"props":6458,"children":6460},{"id":6459},"sample-applications-1",[6461],{"type":56,"value":378},{"type":51,"tag":550,"props":6463,"children":6464},{},[6465,6479],{"type":51,"tag":554,"props":6466,"children":6467},{},[6468],{"type":51,"tag":558,"props":6469,"children":6470},{},[6471,6475],{"type":51,"tag":562,"props":6472,"children":6473},{},[6474],{"type":56,"value":6389},{"type":51,"tag":562,"props":6476,"children":6477},{},[6478],{"type":56,"value":3071},{"type":51,"tag":573,"props":6480,"children":6481},{},[6482],{"type":51,"tag":558,"props":6483,"children":6484},{},[6485,6492],{"type":51,"tag":580,"props":6486,"children":6487},{},[6488],{"type":51,"tag":190,"props":6489,"children":6490},{"href":375},[6491],{"type":56,"value":378},{"type":51,"tag":580,"props":6493,"children":6494},{},[6495],{"type":56,"value":6496},"Sample app index\u002Fnotes",{"type":51,"tag":670,"props":6498,"children":6500},{"id":6499},"field-guides",[6501],{"type":56,"value":6502},"Field Guides",{"type":51,"tag":550,"props":6504,"children":6505},{},[6506,6520],{"type":51,"tag":554,"props":6507,"children":6508},{},[6509],{"type":51,"tag":558,"props":6510,"children":6511},{},[6512,6516],{"type":51,"tag":562,"props":6513,"children":6514},{},[6515],{"type":56,"value":6389},{"type":51,"tag":562,"props":6517,"children":6518},{},[6519],{"type":56,"value":3071},{"type":51,"tag":573,"props":6521,"children":6522},{},[6523,6540,6557],{"type":51,"tag":558,"props":6524,"children":6525},{},[6526,6535],{"type":51,"tag":580,"props":6527,"children":6528},{},[6529],{"type":51,"tag":190,"props":6530,"children":6532},{"href":6531},"references\u002Fjid-formats.md",[6533],{"type":56,"value":6534},"JID Formats",{"type":51,"tag":580,"props":6536,"children":6537},{},[6538],{"type":56,"value":6539},"Understanding JID identifiers",{"type":51,"tag":558,"props":6541,"children":6542},{},[6543,6552],{"type":51,"tag":580,"props":6544,"children":6545},{},[6546],{"type":51,"tag":190,"props":6547,"children":6549},{"href":6548},"references\u002Fscopes.md",[6550],{"type":56,"value":6551},"Scopes Reference",{"type":51,"tag":580,"props":6553,"children":6554},{},[6555],{"type":56,"value":6556},"Common scopes",{"type":51,"tag":558,"props":6558,"children":6559},{},[6560,6569],{"type":51,"tag":580,"props":6561,"children":6562},{},[6563],{"type":51,"tag":190,"props":6564,"children":6566},{"href":6565},"references\u002Frate-limits.md",[6567],{"type":56,"value":6568},"Rate Limits",{"type":51,"tag":580,"props":6570,"children":6571},{},[6572],{"type":56,"value":6573},"Throttling guidance",{"type":51,"tag":65,"props":6575,"children":6577},{"id":6576},"troubleshooting-1",[6578],{"type":56,"value":5607},{"type":51,"tag":550,"props":6580,"children":6581},{},[6582,6597],{"type":51,"tag":554,"props":6583,"children":6584},{},[6585],{"type":51,"tag":558,"props":6586,"children":6587},{},[6588,6593],{"type":51,"tag":562,"props":6589,"children":6590},{},[6591],{"type":56,"value":6592},"Guide",{"type":51,"tag":562,"props":6594,"children":6595},{},[6596],{"type":56,"value":3071},{"type":51,"tag":573,"props":6598,"children":6599},{},[6600,6615,6630,6645,6662],{"type":51,"tag":558,"props":6601,"children":6602},{},[6603,6610],{"type":51,"tag":580,"props":6604,"children":6605},{},[6606],{"type":51,"tag":190,"props":6607,"children":6608},{"href":431},[6609],{"type":56,"value":434},{"type":51,"tag":580,"props":6611,"children":6612},{},[6613],{"type":56,"value":6614},"Quick diagnostics and solutions",{"type":51,"tag":558,"props":6616,"children":6617},{},[6618,6625],{"type":51,"tag":580,"props":6619,"children":6620},{},[6621],{"type":51,"tag":190,"props":6622,"children":6623},{"href":409},[6624],{"type":56,"value":5621},{"type":51,"tag":580,"props":6626,"children":6627},{},[6628],{"type":56,"value":6629},"Authentication failures",{"type":51,"tag":558,"props":6631,"children":6632},{},[6633,6640],{"type":51,"tag":580,"props":6634,"children":6635},{},[6636],{"type":51,"tag":190,"props":6637,"children":6638},{"href":420},[6639],{"type":56,"value":5634},{"type":51,"tag":580,"props":6641,"children":6642},{},[6643],{"type":56,"value":6644},"Webhook debugging",{"type":51,"tag":558,"props":6646,"children":6647},{},[6648,6657],{"type":51,"tag":580,"props":6649,"children":6650},{},[6651],{"type":51,"tag":190,"props":6652,"children":6654},{"href":6653},"troubleshooting\u002Fmessage-issues.md",[6655],{"type":56,"value":6656},"Message Issues",{"type":51,"tag":580,"props":6658,"children":6659},{},[6660],{"type":56,"value":6661},"Message sending problems",{"type":51,"tag":558,"props":6663,"children":6664},{},[6665,6674],{"type":51,"tag":580,"props":6666,"children":6667},{},[6668],{"type":51,"tag":190,"props":6669,"children":6671},{"href":6670},"troubleshooting\u002Fdeployment-issues.md",[6672],{"type":56,"value":6673},"Deployment Issues",{"type":51,"tag":580,"props":6675,"children":6676},{},[6677],{"type":56,"value":6678},"Production problems",{"type":51,"tag":65,"props":6680,"children":6682},{"id":6681},"architecture-patterns-1",[6683],{"type":56,"value":3645},{"type":51,"tag":670,"props":6685,"children":6687},{"id":6686},"chatbot-lifecycle-1",[6688],{"type":56,"value":3651},{"type":51,"tag":1076,"props":6690,"children":6693},{"className":6691,"code":6692,"language":56},[3655],"User Action → Webhook → Process → Response\n",[6694],{"type":51,"tag":112,"props":6695,"children":6696},{"__ignoreMap":1081},[6697],{"type":56,"value":6692},{"type":51,"tag":670,"props":6699,"children":6701},{"id":6700},"llm-integration-pattern-1",[6702],{"type":56,"value":3667},{"type":51,"tag":1076,"props":6704,"children":6707},{"className":6705,"code":6706,"language":56},[3655],"User Input → Chatbot receives → Call LLM → Send response\n",[6708],{"type":51,"tag":112,"props":6709,"children":6710},{"__ignoreMap":1081},[6711],{"type":56,"value":6706},{"type":51,"tag":670,"props":6713,"children":6715},{"id":6714},"approval-workflow-pattern",[6716],{"type":56,"value":6717},"Approval Workflow Pattern",{"type":51,"tag":1076,"props":6719,"children":6722},{"className":6720,"code":6721,"language":56},[3655],"Request → Send card with buttons → User clicks → Update status → Notify\n",[6723],{"type":51,"tag":112,"props":6724,"children":6725},{"__ignoreMap":1081},[6726],{"type":56,"value":6721},{"type":51,"tag":65,"props":6728,"children":6730},{"id":6729},"common-use-cases",[6731],{"type":56,"value":6732},"Common Use Cases",{"type":51,"tag":670,"props":6734,"children":6736},{"id":6735},"notifications",[6737],{"type":56,"value":6738},"Notifications",{"type":51,"tag":91,"props":6740,"children":6741},{},[6742,6747,6752,6757],{"type":51,"tag":81,"props":6743,"children":6744},{},[6745],{"type":56,"value":6746},"CI\u002FCD build notifications",{"type":51,"tag":81,"props":6748,"children":6749},{},[6750],{"type":56,"value":6751},"Server monitoring alerts",{"type":51,"tag":81,"props":6753,"children":6754},{},[6755],{"type":56,"value":6756},"Scheduled reports",{"type":51,"tag":81,"props":6758,"children":6759},{},[6760],{"type":56,"value":6761},"System health checks",{"type":51,"tag":670,"props":6763,"children":6765},{"id":6764},"workflows",[6766],{"type":56,"value":6767},"Workflows",{"type":51,"tag":91,"props":6769,"children":6770},{},[6771,6776,6781,6786],{"type":51,"tag":81,"props":6772,"children":6773},{},[6774],{"type":56,"value":6775},"Approval requests",{"type":51,"tag":81,"props":6777,"children":6778},{},[6779],{"type":56,"value":6780},"Task assignment",{"type":51,"tag":81,"props":6782,"children":6783},{},[6784],{"type":56,"value":6785},"Status updates",{"type":51,"tag":81,"props":6787,"children":6788},{},[6789],{"type":56,"value":6790},"Form submissions",{"type":51,"tag":670,"props":6792,"children":6794},{"id":6793},"integrations",[6795],{"type":56,"value":6796},"Integrations",{"type":51,"tag":91,"props":6798,"children":6799},{},[6800,6805,6810,6815],{"type":51,"tag":81,"props":6801,"children":6802},{},[6803],{"type":56,"value":6804},"LLM-powered assistants",{"type":51,"tag":81,"props":6806,"children":6807},{},[6808],{"type":56,"value":6809},"Database queries",{"type":51,"tag":81,"props":6811,"children":6812},{},[6813],{"type":56,"value":6814},"External API integration",{"type":51,"tag":81,"props":6816,"children":6817},{},[6818],{"type":56,"value":6819},"File\u002Fimage sharing",{"type":51,"tag":670,"props":6821,"children":6823},{"id":6822},"automation",[6824],{"type":56,"value":6825},"Automation",{"type":51,"tag":91,"props":6827,"children":6828},{},[6829,6834,6839,6844],{"type":51,"tag":81,"props":6830,"children":6831},{},[6832],{"type":56,"value":6833},"Scheduled messages",{"type":51,"tag":81,"props":6835,"children":6836},{},[6837],{"type":56,"value":6838},"Auto-responses",{"type":51,"tag":81,"props":6840,"children":6841},{},[6842],{"type":56,"value":6843},"Data collection",{"type":51,"tag":81,"props":6845,"children":6846},{},[6847],{"type":56,"value":6848},"Report generation",{"type":51,"tag":65,"props":6850,"children":6852},{"id":6851},"resource-links",[6853],{"type":56,"value":6854},"Resource Links",{"type":51,"tag":670,"props":6856,"children":6858},{"id":6857},"official-documentation",[6859],{"type":56,"value":186},{"type":51,"tag":91,"props":6861,"children":6862},{},[6863,6877,6891,6904],{"type":51,"tag":81,"props":6864,"children":6865},{},[6866,6875],{"type":51,"tag":85,"props":6867,"children":6868},{},[6869],{"type":51,"tag":190,"props":6870,"children":6872},{"href":192,"rel":6871},[194],[6873],{"type":56,"value":6874},"Team Chat Docs",{"type":56,"value":6876}," - Official overview",{"type":51,"tag":81,"props":6878,"children":6879},{},[6880,6889],{"type":51,"tag":85,"props":6881,"children":6882},{},[6883],{"type":51,"tag":190,"props":6884,"children":6886},{"href":209,"rel":6885},[194],[6887],{"type":56,"value":6888},"Chatbot Docs",{"type":56,"value":6890}," - Chatbot guide",{"type":51,"tag":81,"props":6892,"children":6893},{},[6894,6902],{"type":51,"tag":85,"props":6895,"children":6896},{},[6897],{"type":51,"tag":190,"props":6898,"children":6900},{"href":224,"rel":6899},[194],[6901],{"type":56,"value":220},{"type":56,"value":6903}," - REST API docs",{"type":51,"tag":81,"props":6905,"children":6906},{},[6907,6915],{"type":51,"tag":85,"props":6908,"children":6909},{},[6910],{"type":51,"tag":190,"props":6911,"children":6913},{"href":877,"rel":6912},[194],[6914],{"type":56,"value":5707},{"type":56,"value":6916}," - Create and manage apps",{"type":51,"tag":670,"props":6918,"children":6920},{"id":6919},"sample-code",[6921],{"type":56,"value":6922},"Sample Code",{"type":51,"tag":91,"props":6924,"children":6925},{},[6926,6939,6952,6965,6978],{"type":51,"tag":81,"props":6927,"children":6928},{},[6929,6937],{"type":51,"tag":85,"props":6930,"children":6931},{},[6932],{"type":51,"tag":190,"props":6933,"children":6935},{"href":3986,"rel":6934},[194],[6936],{"type":56,"value":3975},{"type":56,"value":6938}," - Official tutorial",{"type":51,"tag":81,"props":6940,"children":6941},{},[6942,6950],{"type":51,"tag":85,"props":6943,"children":6944},{},[6945],{"type":51,"tag":190,"props":6946,"children":6948},{"href":4012,"rel":6947},[194],[6949],{"type":56,"value":4001},{"type":56,"value":6951}," - AI integration",{"type":51,"tag":81,"props":6953,"children":6954},{},[6955,6963],{"type":51,"tag":85,"props":6956,"children":6957},{},[6958],{"type":51,"tag":190,"props":6959,"children":6961},{"href":4037,"rel":6960},[194],[6962],{"type":56,"value":4026},{"type":56,"value":6964}," - Image search bot",{"type":51,"tag":81,"props":6966,"children":6967},{},[6968,6976],{"type":51,"tag":85,"props":6969,"children":6970},{},[6971],{"type":51,"tag":190,"props":6972,"children":6974},{"href":4062,"rel":6973},[194],[6975],{"type":56,"value":4051},{"type":56,"value":6977}," - Enterprise integration",{"type":51,"tag":81,"props":6979,"children":6980},{},[6981,6989],{"type":51,"tag":85,"props":6982,"children":6983},{},[6984],{"type":51,"tag":190,"props":6985,"children":6987},{"href":4087,"rel":6986},[194],[6988],{"type":56,"value":4076},{"type":56,"value":6990}," - Full CRUD app",{"type":51,"tag":670,"props":6992,"children":6994},{"id":6993},"tools",[6995],{"type":56,"value":6996},"Tools",{"type":51,"tag":91,"props":6998,"children":6999},{},[7000,7015,7029],{"type":51,"tag":81,"props":7001,"children":7002},{},[7003,7013],{"type":51,"tag":85,"props":7004,"children":7005},{},[7006],{"type":51,"tag":190,"props":7007,"children":7010},{"href":7008,"rel":7009},"https:\u002F\u002Fappssdk.zoom.us\u002Fcardbuilder\u002F",[194],[7011],{"type":56,"value":7012},"App Card Builder",{"type":56,"value":7014}," - Visual card designer",{"type":51,"tag":81,"props":7016,"children":7017},{},[7018,7027],{"type":51,"tag":85,"props":7019,"children":7020},{},[7021],{"type":51,"tag":190,"props":7022,"children":7025},{"href":7023,"rel":7024},"https:\u002F\u002Fngrok.com\u002F",[194],[7026],{"type":56,"value":5079},{"type":56,"value":7028}," - Local webhook testing",{"type":51,"tag":81,"props":7030,"children":7031},{},[7032,7042],{"type":51,"tag":85,"props":7033,"children":7034},{},[7035],{"type":51,"tag":190,"props":7036,"children":7039},{"href":7037,"rel":7038},"https:\u002F\u002Fwww.postman.com\u002F",[194],[7040],{"type":56,"value":7041},"Postman",{"type":56,"value":7043}," - API testing",{"type":51,"tag":670,"props":7045,"children":7047},{"id":7046},"community",[7048],{"type":56,"value":7049},"Community",{"type":51,"tag":91,"props":7051,"children":7052},{},[7053,7067,7082],{"type":51,"tag":81,"props":7054,"children":7055},{},[7056,7065],{"type":51,"tag":85,"props":7057,"children":7058},{},[7059],{"type":51,"tag":190,"props":7060,"children":7062},{"href":5696,"rel":7061},[194],[7063],{"type":56,"value":7064},"Developer Forum",{"type":56,"value":7066}," - Ask questions",{"type":51,"tag":81,"props":7068,"children":7069},{},[7070,7080],{"type":51,"tag":85,"props":7071,"children":7072},{},[7073],{"type":51,"tag":190,"props":7074,"children":7077},{"href":7075,"rel":7076},"https:\u002F\u002Fgithub.com\u002Fzoom",[194],[7078],{"type":56,"value":7079},"GitHub Discussions",{"type":56,"value":7081}," - Community support",{"type":51,"tag":81,"props":7083,"children":7084},{},[7085,7095],{"type":51,"tag":85,"props":7086,"children":7087},{},[7088],{"type":51,"tag":190,"props":7089,"children":7092},{"href":7090,"rel":7091},"https:\u002F\u002Fdevsupport.zoom.us",[194],[7093],{"type":56,"value":7094},"Developer Support",{"type":56,"value":7096}," - Official support",{"type":51,"tag":65,"props":7098,"children":7100},{"id":7099},"documentation-status",[7101],{"type":56,"value":7102},"Documentation Status",{"type":51,"tag":670,"props":7104,"children":7106},{"id":7105},"complete",[7107],{"type":56,"value":7108},"✅ Complete",{"type":51,"tag":91,"props":7110,"children":7111},{},[7112,7117,7121,7125,7129,7134,7138],{"type":51,"tag":81,"props":7113,"children":7114},{},[7115],{"type":56,"value":7116},"Main skill.md entry point",{"type":51,"tag":81,"props":7118,"children":7119},{},[7120],{"type":56,"value":5352},{"type":51,"tag":81,"props":7122,"children":7123},{},[7124],{"type":56,"value":284},{"type":51,"tag":81,"props":7126,"children":7127},{},[7128],{"type":56,"value":5392},{"type":51,"tag":81,"props":7130,"children":7131},{},[7132],{"type":56,"value":7133},"Chatbot Setup Example (complete working code)",{"type":51,"tag":81,"props":7135,"children":7136},{},[7137],{"type":56,"value":3637},{"type":51,"tag":81,"props":7139,"children":7140},{},[7141],{"type":56,"value":7142},"Common Issues Troubleshooting",{"type":51,"tag":670,"props":7144,"children":7146},{"id":7145},"pending-high-priority",[7147],{"type":56,"value":7148},"📝 Pending (High Priority)",{"type":51,"tag":91,"props":7150,"children":7151},{},[7152,7156,7160,7165,7170,7174,7178],{"type":51,"tag":81,"props":7153,"children":7154},{},[7155],{"type":56,"value":5823},{"type":51,"tag":81,"props":7157,"children":7158},{},[7159],{"type":56,"value":5833},{"type":51,"tag":81,"props":7161,"children":7162},{},[7163],{"type":56,"value":7164},"Button Actions Example",{"type":51,"tag":81,"props":7166,"children":7167},{},[7168],{"type":56,"value":7169},"LLM Integration Example",{"type":51,"tag":81,"props":7171,"children":7172},{},[7173],{"type":56,"value":3435},{"type":51,"tag":81,"props":7175,"children":7176},{},[7177],{"type":56,"value":220},{"type":51,"tag":81,"props":7179,"children":7180},{},[7181],{"type":56,"value":7182},"Sample Applications Analysis",{"type":51,"tag":670,"props":7184,"children":7186},{"id":7185},"planned-lower-priority",[7187],{"type":56,"value":7188},"📋 Planned (Lower Priority)",{"type":51,"tag":91,"props":7190,"children":7191},{},[7192,7197,7202,7207,7212,7217],{"type":51,"tag":81,"props":7193,"children":7194},{},[7195],{"type":56,"value":7196},"Form Submissions Example",{"type":51,"tag":81,"props":7198,"children":7199},{},[7200],{"type":56,"value":7201},"Channel Management Examples",{"type":51,"tag":81,"props":7203,"children":7204},{},[7205],{"type":56,"value":7206},"Database Integration Example",{"type":51,"tag":81,"props":7208,"children":7209},{},[7210],{"type":56,"value":7211},"Error Codes Reference",{"type":51,"tag":81,"props":7213,"children":7214},{},[7215],{"type":56,"value":7216},"Rate Limits Guide",{"type":51,"tag":81,"props":7218,"children":7219},{},[7220],{"type":56,"value":7221},"Deployment troubleshooting",{"type":51,"tag":65,"props":7223,"children":7225},{"id":7224},"getting-started-checklist",[7226],{"type":56,"value":7227},"Getting Started Checklist",{"type":51,"tag":670,"props":7229,"children":7231},{"id":7230},"for-team-chat-api",[7232],{"type":56,"value":7233},"For Team Chat API",{"type":51,"tag":91,"props":7235,"children":7238},{"className":7236},[7237],"contains-task-list",[7239,7255,7268,7277,7286,7295],{"type":51,"tag":81,"props":7240,"children":7243},{"className":7241},[7242],"task-list-item",[7244,7249,7251],{"type":51,"tag":7245,"props":7246,"children":7248},"input",{"disabled":1153,"type":7247},"checkbox",[],{"type":56,"value":7250}," Read ",{"type":51,"tag":190,"props":7252,"children":7253},{"href":267},[7254],{"type":56,"value":5352},{"type":51,"tag":81,"props":7256,"children":7258},{"className":7257},[7242],[7259,7262,7264],{"type":51,"tag":7245,"props":7260,"children":7261},{"disabled":1153,"type":7247},[],{"type":56,"value":7263}," Complete ",{"type":51,"tag":190,"props":7265,"children":7266},{"href":281},[7267],{"type":56,"value":284},{"type":51,"tag":81,"props":7269,"children":7271},{"className":7270},[7242],[7272,7275],{"type":51,"tag":7245,"props":7273,"children":7274},{"disabled":1153,"type":7247},[],{"type":56,"value":7276}," Obtain Client ID, Client Secret",{"type":51,"tag":81,"props":7278,"children":7280},{"className":7279},[7242],[7281,7284],{"type":51,"tag":7245,"props":7282,"children":7283},{"disabled":1153,"type":7247},[],{"type":56,"value":7285}," Add required scopes",{"type":51,"tag":81,"props":7287,"children":7289},{"className":7288},[7242],[7290,7293],{"type":51,"tag":7245,"props":7291,"children":7292},{"disabled":1153,"type":7247},[],{"type":56,"value":7294}," Implement OAuth flow",{"type":51,"tag":81,"props":7296,"children":7298},{"className":7297},[7242],[7299,7302],{"type":51,"tag":7245,"props":7300,"children":7301},{"disabled":1153,"type":7247},[],{"type":56,"value":7303}," Send first message",{"type":51,"tag":670,"props":7305,"children":7307},{"id":7306},"for-chatbot-api",[7308],{"type":56,"value":7309},"For Chatbot API",{"type":51,"tag":91,"props":7311,"children":7313},{"className":7312},[7237],[7314,7326,7338,7347,7356,7365,7374,7383],{"type":51,"tag":81,"props":7315,"children":7317},{"className":7316},[7242],[7318,7321,7322],{"type":51,"tag":7245,"props":7319,"children":7320},{"disabled":1153,"type":7247},[],{"type":56,"value":7250},{"type":51,"tag":190,"props":7323,"children":7324},{"href":267},[7325],{"type":56,"value":5352},{"type":51,"tag":81,"props":7327,"children":7329},{"className":7328},[7242],[7330,7333,7334],{"type":51,"tag":7245,"props":7331,"children":7332},{"disabled":1153,"type":7247},[],{"type":56,"value":7263},{"type":51,"tag":190,"props":7335,"children":7336},{"href":281},[7337],{"type":56,"value":284},{"type":51,"tag":81,"props":7339,"children":7341},{"className":7340},[7242],[7342,7345],{"type":51,"tag":7245,"props":7343,"children":7344},{"disabled":1153,"type":7247},[],{"type":56,"value":7346}," Obtain Client ID, Client Secret, Bot JID, Secret Token, Account ID",{"type":51,"tag":81,"props":7348,"children":7350},{"className":7349},[7242],[7351,7354],{"type":51,"tag":7245,"props":7352,"children":7353},{"disabled":1153,"type":7247},[],{"type":56,"value":7355}," Enable Team Chat in Features",{"type":51,"tag":81,"props":7357,"children":7359},{"className":7358},[7242],[7360,7363],{"type":51,"tag":7245,"props":7361,"children":7362},{"disabled":1153,"type":7247},[],{"type":56,"value":7364}," Configure Bot Endpoint URL and Slash Command",{"type":51,"tag":81,"props":7366,"children":7368},{"className":7367},[7242],[7369,7372],{"type":51,"tag":7245,"props":7370,"children":7371},{"disabled":1153,"type":7247},[],{"type":56,"value":7373}," Set up ngrok for local testing",{"type":51,"tag":81,"props":7375,"children":7377},{"className":7376},[7242],[7378,7381],{"type":51,"tag":7245,"props":7379,"children":7380},{"disabled":1153,"type":7247},[],{"type":56,"value":7382}," Implement webhook handler",{"type":51,"tag":81,"props":7384,"children":7386},{"className":7385},[7242],[7387,7390],{"type":51,"tag":7245,"props":7388,"children":7389},{"disabled":1153,"type":7247},[],{"type":56,"value":7391}," Send first chatbot message",{"type":51,"tag":65,"props":7393,"children":7395},{"id":7394},"version-history",[7396],{"type":56,"value":7397},"Version History",{"type":51,"tag":91,"props":7399,"children":7400},{},[7401],{"type":51,"tag":81,"props":7402,"children":7403},{},[7404,7409,7411],{"type":51,"tag":85,"props":7405,"children":7406},{},[7407],{"type":56,"value":7408},"v1.0",{"type":56,"value":7410}," (2026-02-09) - Initial comprehensive documentation\n",{"type":51,"tag":91,"props":7412,"children":7413},{},[7414,7419,7424,7429],{"type":51,"tag":81,"props":7415,"children":7416},{},[7417],{"type":56,"value":7418},"Core concepts (API selection, environment setup, webhooks)",{"type":51,"tag":81,"props":7420,"children":7421},{},[7422],{"type":56,"value":7423},"Complete chatbot setup example",{"type":51,"tag":81,"props":7425,"children":7426},{},[7427],{"type":56,"value":7428},"Message cards reference",{"type":51,"tag":81,"props":7430,"children":7431},{},[7432],{"type":56,"value":7433},"Common issues troubleshooting",{"type":51,"tag":65,"props":7435,"children":7437},{"id":7436},"support",[7438],{"type":56,"value":7439},"Support",{"type":51,"tag":59,"props":7441,"children":7442},{},[7443],{"type":56,"value":7444},"Use this SKILL.md as the navigation hub for Team Chat API selection, setup, examples, and troubleshooting.",{"type":51,"tag":65,"props":7446,"children":7448},{"id":7447},"environment-variables",[7449],{"type":56,"value":7450},"Environment Variables",{"type":51,"tag":91,"props":7452,"children":7453},{},[7454],{"type":51,"tag":81,"props":7455,"children":7456},{},[7457,7459,7464,7466,7472],{"type":56,"value":7458},"See ",{"type":51,"tag":190,"props":7460,"children":7462},{"href":7461},"references\u002Fenvironment-variables.md",[7463],{"type":56,"value":7461},{"type":56,"value":7465}," for standardized ",{"type":51,"tag":112,"props":7467,"children":7469},{"className":7468},[],[7470],{"type":56,"value":7471},".env",{"type":56,"value":7473}," keys and where to find each value.",{"type":51,"tag":7475,"props":7476,"children":7477},"style",{},[7478],{"type":56,"value":7479},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":7481,"total":7598},[7482,7498,7514,7530,7548,7567,7583],{"slug":7483,"name":7483,"fn":7484,"description":7485,"org":7486,"tags":7487,"stars":26,"repoUrl":27,"updatedAt":7497},"accessibility-review","run WCAG accessibility audits","Run a WCAG 2.1 AA accessibility audit on a design or page. Trigger with \"audit accessibility\", \"check a11y\", \"is this accessible?\", or when reviewing a design for color contrast, keyboard navigation, touch target size, or screen reader behavior before handoff.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7488,7491,7494],{"name":7489,"slug":7490,"type":16},"Accessibility","accessibility",{"name":7492,"slug":7493,"type":16},"Design","design",{"name":7495,"slug":7496,"type":16},"WCAG","wcag","2026-04-06T17:58:05.682394",{"slug":7499,"name":7499,"fn":7500,"description":7501,"org":7502,"tags":7503,"stars":26,"repoUrl":27,"updatedAt":7513},"account-research","research accounts for sales intel","Research a company or person and get actionable sales intel. Works standalone with web search, supercharged when you connect enrichment tools or your CRM. Trigger with \"research [company]\", \"look up [person]\", \"intel on [prospect]\", \"who is [name] at [company]\", or \"tell me about [company]\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7504,7507,7510],{"name":7505,"slug":7506,"type":16},"CRM","crm",{"name":7508,"slug":7509,"type":16},"Research","research",{"name":7511,"slug":7512,"type":16},"Sales","sales","2026-04-06T17:56:41.410418",{"slug":7515,"name":7515,"fn":7516,"description":7517,"org":7518,"tags":7519,"stars":26,"repoUrl":27,"updatedAt":7529},"analyze","answer data questions and run analyses","Answer data questions -- from quick lookups to full analyses. Use when looking up a single metric, investigating what's driving a trend or drop, comparing segments over time, or preparing a formal data report for stakeholders.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7520,7523,7526],{"name":7521,"slug":7522,"type":16},"Analytics","analytics",{"name":7524,"slug":7525,"type":16},"Data Analysis","data-analysis",{"name":7527,"slug":7528,"type":16},"SQL","sql","2026-04-06T17:57:21.593647",{"slug":7531,"name":7531,"fn":7532,"description":7533,"org":7534,"tags":7535,"stars":26,"repoUrl":27,"updatedAt":7547},"architecture","create and evaluate architecture decision records","Create or evaluate an architecture decision record (ADR). Use when choosing between technologies (e.g., Kafka vs SQS), documenting a design decision with trade-offs and consequences, reviewing a system design proposal, or designing a new component from requirements and constraints.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7536,7539,7541,7544],{"name":7537,"slug":7538,"type":16},"ADR","adr",{"name":7540,"slug":7531,"type":16},"Architecture",{"name":7542,"slug":7543,"type":16},"Documentation","documentation",{"name":7545,"slug":7546,"type":16},"Engineering","engineering","2026-04-06T17:57:49.26444",{"slug":7549,"name":7549,"fn":7550,"description":7551,"org":7552,"tags":7553,"stars":26,"repoUrl":27,"updatedAt":7566},"audit-support","support SOX 404 control testing","Support SOX 404 compliance with control testing methodology, sample selection, and documentation standards. Use when generating testing workpapers, selecting audit samples, classifying control deficiencies, or preparing for internal or external audits.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7554,7557,7560,7563],{"name":7555,"slug":7556,"type":16},"Audit","audit",{"name":7558,"slug":7559,"type":16},"Finance","finance",{"name":7561,"slug":7562,"type":16},"Regulatory Compliance","regulatory-compliance",{"name":7564,"slug":7565,"type":16},"SOX","sox","2026-04-06T17:57:36.714815",{"slug":7568,"name":7568,"fn":7569,"description":7570,"org":7571,"tags":7572,"stars":26,"repoUrl":27,"updatedAt":7582},"brand-review","review content against brand voice","Review content against your brand voice, style guide, and messaging pillars, flagging deviations by severity with specific before\u002Fafter fixes. Use when checking a draft before it ships, when auditing copy for voice consistency and terminology, or when screening for unsubstantiated claims, missing disclaimers, and other legal flags.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7573,7576,7579],{"name":7574,"slug":7575,"type":16},"Branding","branding",{"name":7577,"slug":7578,"type":16},"Marketing","marketing",{"name":7580,"slug":7581,"type":16},"Writing","writing","2026-04-06T17:58:19.548331",{"slug":7584,"name":7584,"fn":7585,"description":7586,"org":7587,"tags":7588,"stars":26,"repoUrl":27,"updatedAt":7597},"brand-voice-enforcement","enforce brand voice in content","This skill applies brand guidelines to content creation. It should be used when the user asks to \"write an email\", \"draft a proposal\", \"create a pitch deck\", \"write a LinkedIn post\", \"draft a presentation\", \"write a Slack message\", \"draft sales content\", or any content creation request where brand voice should be applied. Also triggers on \"on-brand\", \"brand voice\", \"enforce voice\", \"apply brand guidelines\", \"brand-aligned content\", \"write in our voice\", \"use our brand tone\", \"make this sound like us\", \"rewrite this in our tone\", or \"this doesn't sound on-brand\". Not for generating guidelines from scratch (use guideline-generation) or discovering brand materials (use discover-brand).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7589,7590,7593,7596],{"name":7574,"slug":7575,"type":16},{"name":7591,"slug":7592,"type":16},"Communications","communications",{"name":7594,"slug":7595,"type":16},"Content Creation","content-creation",{"name":7580,"slug":7581,"type":16},"2026-04-06T18:00:23.528956",200,{"items":7600,"total":7774},[7601,7619,7631,7643,7662,7673,7694,7714,7724,7737,7745,7758],{"slug":7602,"name":7602,"fn":7603,"description":7604,"org":7605,"tags":7606,"stars":7616,"repoUrl":7617,"updatedAt":7618},"algorithmic-art","create algorithmic art with p5.js","Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7607,7610,7611,7614],{"name":7608,"slug":7609,"type":16},"Creative","creative",{"name":7492,"slug":7493,"type":16},{"name":7612,"slug":7613,"type":16},"Generative Art","generative-art",{"name":7615,"slug":1080,"type":16},"JavaScript",161831,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills","2026-04-06T17:56:15.455818",{"slug":7620,"name":7620,"fn":7621,"description":7622,"org":7623,"tags":7624,"stars":7616,"repoUrl":7617,"updatedAt":7630},"brand-guidelines","apply Anthropic brand colors and typography","Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7625,7626,7627],{"name":7574,"slug":7575,"type":16},{"name":7492,"slug":7493,"type":16},{"name":7628,"slug":7629,"type":16},"Typography","typography","2026-04-06T17:56:05.042852",{"slug":7632,"name":7632,"fn":7633,"description":7634,"org":7635,"tags":7636,"stars":7616,"repoUrl":7617,"updatedAt":7642},"canvas-design","create posters and visual art as PNG or PDF","Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7637,7638,7639],{"name":7608,"slug":7609,"type":16},{"name":7492,"slug":7493,"type":16},{"name":7640,"slug":7641,"type":16},"PDF","pdf","2026-04-06T17:56:03.794732",{"slug":7644,"name":7644,"fn":7645,"description":7646,"org":7647,"tags":7648,"stars":7616,"repoUrl":7617,"updatedAt":7661},"claude-api","build apps with the Claude API","Reference for the Claude API \u002F Anthropic SDK — model ids, pricing, params, streaming, tool use, MCP, agents, caching, token counting, model migration.\nTRIGGER — read BEFORE opening the target file; don't skip because it \"looks like a one-liner\" — whenever: the prompt names Claude\u002FAnthropic in any form (Claude, Anthropic, Fable, Opus, Sonnet, Haiku, `anthropic`, `@anthropic-ai`, `claude-*`, `us.anthropic.*`, `[1m]`); the user asks about an LLM (pricing\u002Fmodel choice\u002Flimits\u002Fcaching) — never answer from memory; OR the task is LLM-shaped with provider unstated (agent\u002FMCP\u002Ftool-definition\u002Fmulti-agent\u002FRAG\u002FLLM-judge\u002Fcomputer-use; generate\u002Fsummarize\u002Fextract\u002Fclassify\u002Frewrite\u002Fconverse over NL; debugging refusals\u002Fcutoffs\u002Fstreaming\u002Ftool-calls\u002Ftokens).\nSKIP only when another provider is being worked on (overrides all triggers): OpenAI\u002FGPT\u002FGemini\u002FLlama\u002FMistral\u002FCohere\u002FOllama named in the query; OR `grep -rE 'openai|langchain_openai|google.generativeai|genai|mistralai|cohere|ollama'` over the project hits (run this grep FIRST if no provider named — don't Read the file).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7649,7652,7653,7656,7658],{"name":7650,"slug":7651,"type":16},"Agents","agents",{"name":9,"slug":8,"type":16},{"name":7654,"slug":7655,"type":16},"Anthropic SDK","anthropic-sdk",{"name":7657,"slug":7644,"type":16},"Claude API",{"name":7659,"slug":7660,"type":16},"LLM","llm","2026-07-28T05:36:08.213335",{"slug":7663,"name":7663,"fn":7664,"description":7665,"org":7666,"tags":7667,"stars":7616,"repoUrl":7617,"updatedAt":7672},"doc-coauthoring","co-author documentation and technical specs","Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7668,7669],{"name":7542,"slug":7543,"type":16},{"name":7670,"slug":7671,"type":16},"Technical Writing","technical-writing","2026-04-06T17:56:14.18897",{"slug":7674,"name":7674,"fn":7675,"description":7676,"org":7677,"tags":7678,"stars":7616,"repoUrl":7617,"updatedAt":7693},"docx","create and edit Word documents","Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7679,7682,7684,7687,7690],{"name":7680,"slug":7681,"type":16},"Documents","documents",{"name":7683,"slug":7674,"type":16},"DOCX",{"name":7685,"slug":7686,"type":16},"Office","office",{"name":7688,"slug":7689,"type":16},"Templates","templates",{"name":7691,"slug":7692,"type":16},"Word","word","2026-07-18T05:16:23.136271",{"slug":7695,"name":7695,"fn":7696,"description":7697,"org":7698,"tags":7699,"stars":7616,"repoUrl":7617,"updatedAt":7713},"frontend-design","design production-grade frontend interfaces","Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7700,7701,7704,7707,7710],{"name":7492,"slug":7493,"type":16},{"name":7702,"slug":7703,"type":16},"Frontend","frontend",{"name":7705,"slug":7706,"type":16},"React","react",{"name":7708,"slug":7709,"type":16},"Tailwind CSS","tailwind-css",{"name":7711,"slug":7712,"type":16},"UI Components","ui-components","2026-04-06T17:56:16.723469",{"slug":7715,"name":7715,"fn":7716,"description":7717,"org":7718,"tags":7719,"stars":7616,"repoUrl":7617,"updatedAt":7723},"internal-comms","write internal company communications","A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7720,7721,7722],{"name":7591,"slug":7592,"type":16},{"name":7688,"slug":7689,"type":16},{"name":7580,"slug":7581,"type":16},"2026-04-06T17:56:20.695522",{"slug":7725,"name":7725,"fn":7726,"description":7727,"org":7728,"tags":7729,"stars":7616,"repoUrl":7617,"updatedAt":7736},"mcp-builder","build MCP servers","Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node\u002FTypeScript (MCP SDK).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7730,7731,7732,7733],{"name":7650,"slug":7651,"type":16},{"name":18,"slug":19,"type":16},{"name":7659,"slug":7660,"type":16},{"name":7734,"slug":7735,"type":16},"MCP","mcp","2026-04-06T17:56:10.357665",{"slug":7641,"name":7641,"fn":7738,"description":7739,"org":7740,"tags":7741,"stars":7616,"repoUrl":7617,"updatedAt":7744},"read edit and manipulate PDF files","Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text\u002Ftables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting\u002Fdecrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7742,7743],{"name":7680,"slug":7681,"type":16},{"name":7640,"slug":7641,"type":16},"2026-04-06T17:56:02.483316",{"slug":7746,"name":7746,"fn":7747,"description":7748,"org":7749,"tags":7750,"stars":7616,"repoUrl":7617,"updatedAt":7757},"pptx","create and edit PowerPoint presentations","Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx or .potx filename, regardless of what they plan to do with the content afterward. If a .pptx or .potx file needs to be opened, created, or touched, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7751,7754],{"name":7752,"slug":7753,"type":16},"PowerPoint","powerpoint",{"name":7755,"slug":7756,"type":16},"Presentations","presentations","2026-07-18T05:16:24.1471",{"slug":7759,"name":7759,"fn":7760,"description":7761,"org":7762,"tags":7763,"stars":7616,"repoUrl":7617,"updatedAt":7773},"skill-creator","create and optimize agent skills","Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7764,7765,7766,7769,7772],{"name":7650,"slug":7651,"type":16},{"name":7542,"slug":7543,"type":16},{"name":7767,"slug":7768,"type":16},"Evals","evals",{"name":7770,"slug":7771,"type":16},"Performance","performance",{"name":7670,"slug":7671,"type":16},"2026-04-19T06:45:40.804",490]