communicationoauth2

Zoom Team Chat

Zoom Team Chat is Zoom's persistent messaging product: channels, direct messages, threads, reactions, file sharing, reminders and shared spaces, all accessible through the Zoom REST API as the connected user

Verdict

Zoom Team Chat MCP brings your workspace's Zoom conversations into Switchy Projects. @mention it to read channel history, post messages, manage channels and shared spaces, set reminders, and bookmark threads — all without leaving the AI chat. Teams already using Zoom for internal comms get the most value: support leads can triage flagged messages, project managers can surface blockers from standups, and ops folks can audit who's in which space. OAuth setup requires broad Team Chat scopes; the MCP can read and write across all channels the connected user accesses, so treat the integration like you would a bot account.

Common use cases

  • Triage flagged messages from support channels
  • Summarize yesterday's #standup discussion
  • Post sprint retro notes to team channel
  • Audit shared space membership before offboarding
  • Set reminders on action items in chat

Integration

Vendor
Zoom Team Chat
Category
communication
Auth
OAUTH2
Tools
44
Composio slug
zoom_chat

Tools

  • Add Shared Space Members

    Add members to a Zoom Team Chat shared space by email address or Zoom user ID. Zoom processes each member independently and returns HTTP 200/201 even when every add fails, so success must be judged from successful_operations_count / unsucce

  • Archive or Unarchive Channels

    Archive or unarchive up to 10 Zoom Team Chat channels in one call. Returns per-channel failures; success requires failed_channels to be empty.

  • Bookmark or Unbookmark Message

    Add or remove a bookmark on a Zoom Team Chat message. Identify the message by message_id plus the conversation it lives in: provide exactly one of to_channel (a channel message) or to_contact (a 1:1 message). Set action to 'add_bookmark' (d

  • Create Channel

    Create a new Zoom Team Chat channel for the authenticated user, optionally inviting initial members by email.

  • Create Message Reminder

    Set a reminder on a Zoom Team Chat message, either after a delay (delay_seconds) or at an absolute time (remind_time). Exactly one of to_channel or to_contact must identify where the message lives, and exactly one of delay_seconds or remind

  • Create Shared Space

    Create a Zoom Team Chat shared space (a container that groups related channels). A 'general' channel is auto-created with it.

  • Delete Channel
    destructive

    Delete a Zoom Team Chat channel the user owns or is a member of. Returns {success: true} on success; the underlying API responds with HTTP 204 and an empty body.

  • Delete Message
    destructive

    Delete a Zoom Team Chat message the connected user sent, identified by message_id plus the conversation it lives in. Provide exactly one of to_channel (a channel message) or to_contact (a 1:1 message). Returns {success: true} on success; th

  • Delete Message Reminder
    destructive

    Delete the reminder set on a Zoom Team Chat message. Reminders have no id of their own — they are identified by the message_id they belong to. Provide exactly one of to_channel (a channel message) or to_contact (a 1:1 message) to locate the

  • Delete Scheduled Message
    destructive

    Delete a scheduled (draft) Zoom Team Chat message before it is sent, identified by draft_id plus the conversation it is addressed to. Provide exactly one of to_channel (a channel draft) or to_contact (a 1:1 draft). Returns {success: true} o

  • Delete Shared Space
    destructive

    Delete a Zoom Team Chat shared space. Returns {success: true} on success; the underlying API responds with HTTP 204 and an empty body. NOTE: the space's auto-created 'general' channel SURVIVES as a regular channel and must be deleted separa

  • Get Channel

    Get full information about a Zoom Team Chat channel, including its settings.

  • Get Chat Contact

    Get a single Zoom Team Chat contact by email or user ID, optionally with live presence status.

  • Get Message

    Get a single Zoom Team Chat message by ID, including its deep-link URL.

  • Get Message Thread

    Retrieve a Zoom Team Chat message's thread: the parent message plus its replies since a given time.

  • Get Shared Space

    Get details of a Zoom Team Chat shared space, including its owner and settings.

  • Invite Channel Members

    Invite members to a Zoom Team Chat channel by email address. Returns only an invitation timestamp - Zoom does not echo per-member results, and external invitees stay invisible in the member list until they accept.

  • Join Channel

    Join a public Zoom Team Chat channel as the authenticated user. Only public (type 3 or 5) channels can be joined this way; private and invite-only channels require an invitation.

  • Leave Channel

    Leave a Zoom Team Chat channel. WARNING: if the channel OWNER leaves an invite-only channel they cannot rejoin or delete it afterwards — the channel is orphaned. Owners should delete the channel instead. Returns {success: true} on success;

  • List Bookmarks

    List the authenticated user's bookmarked Zoom Team Chat messages, optionally filtered to one channel (to_channel) or one 1:1 contact (to_contact). Omit both filters to list bookmarks across all conversations.

  • List Channel Members

    List the members of a Zoom Team Chat channel.

  • List Channels

    List the Zoom Team Chat channels the authenticated user is a member of.

  • List Chat Contacts

    List the authenticated user's Zoom Team Chat contacts. Zoom returns company contacts by default; pass type='external' for external contacts. The user themself appears as a contact, and each contact's id can be used as a to_contact value for

  • List Chat Sessions

    List the user's recent Zoom Team Chat sessions (channels and 1:1 conversations) within a time window. Defaults to today; groupchat sessions are channels and 1:1 sessions carry peer contact info.

  • List Messages

    List Zoom Team Chat messages exchanged in a channel or a 1:1 conversation, newest first (defaults to today). Provide exactly one of to_channel or to_contact.

  • List Pinned Messages

    List the pinned messages of a Zoom Team Chat channel. Set include_history to also return previously-pinned (now unpinned) history messages.

  • List Reminders

    List the authenticated user's Zoom Team Chat message reminders. Optionally filter by a channel (to_channel) or a 1:1 contact (to_contact); omit both to list all reminders.

  • List Scheduled Messages

    List the user's scheduled (draft) Zoom Team Chat messages queued to send to a channel or a 1:1 contact. Provide exactly one of to_channel or to_contact.

  • List Shared Space Channels

    List the channels grouped inside a Zoom Team Chat shared space.

  • List Shared Space Members

    List the members and administrators of a Zoom Team Chat shared space.

  • List Shared Spaces

    List the Zoom Team Chat shared spaces the authenticated user belongs to.

  • Mark Message Read or Unread

    Mark a Zoom Team Chat message as read or unread. Identify the message by message_id plus the conversation it lives in: provide exactly one of to_channel (a channel message) or to_contact (a 1:1 message). Set action to 'read' (default) or 'u

  • Move Channels Into/Out of Shared Space

    Move existing Zoom Team Chat channels into or out of a shared space. Returns per-channel results; success requires every channel to report is_moved=true.

  • Pin or Unpin Message

    Pin or unpin a message in a Zoom Team Chat channel. Set action to 'pin' or 'unpin', and identify the message by message_id plus the channel_id it belongs to. Returns {success: true} on success; the underlying API responds with HTTP 204 and

  • React to Message

    Add or remove an emoji reaction on a Zoom Team Chat message. Identify the message by message_id plus the conversation it lives in: provide exactly one of to_channel (a channel message) or to_contact (a 1:1 message). The emoji is a Unicode c

  • Remove Channel Member
    destructive

    Remove a single member from a Zoom Team Chat channel. Returns {success: true} on success; the underlying API responds with HTTP 204 and an empty body. Removing someone who is not a member of the channel fails with a 404 (code 1001).

  • Remove Shared Space Members
    destructive

    Remove members or administrators from a Zoom Team Chat shared space by user ID or member ID (the shared space owner cannot be removed). Zoom processes each identifier independently and returns HTTP 200 even when every removal fails, so succ

  • Search Channels

    Search Zoom Team Chat channels by name — fuzzy keywords or an exact channel name — across the channels the user has joined or the org's public channels. Returns one page of matches (max 20) plus a next_page_token cursor.

  • Search Company Contacts

    Search the connected user's organization directory for contacts by keyword (first name, last name, or email address). Optionally include each contact's presence status.

  • Send Message

    Send a Zoom Team Chat message to a channel or a 1:1 contact, optionally as a thread reply (reply_main_message_id) or scheduled for later (scheduled_time). Exactly one of to_channel or to_contact must be provided.

  • Star or Unstar Conversation

    Star or unstar a Zoom Team Chat channel or contact for the authenticated user. Set target_type to 'channel' or 'contact' and target_id to the channel ID, contact user ID, or contact member ID. Returns {success: true} on success; the underly

  • Update Channel

    Rename a Zoom Team Chat channel or update its type/settings.

  • Update Message

    Edit the text of an existing Zoom Team Chat message.

  • Update Shared Space

    Update a Zoom Team Chat shared space's name, description, or settings.

Setup

Setup guide

  1. 11. In Switchy, open your workspace settings and navigate to the Integrations tab. 2. Find Zoom Team Chat in the MCP catalog and click Connect. 3. You'll be redirected to Zoom's OAuth consent screen; sign in with a Zoom account that has access to the channels and shared spaces you want the AI to reach. 4. Grant the requested scopes — these typically include chat_message:read, chat_message:write, chat_channel:read, chat_channel:write, and chat_contact:read. 5. After authorizing, Zoom redirects you back to Switchy and the integration appears as connected. 6. Open any Project, type '@Zoom Team Chat list my channels' and send; if the MCP returns a list of your channels, the connection works. 7. To invoke a tool, @mention Zoom Team Chat in a message and describe what you want — for example '@Zoom Team Chat post "Sprint demo at 3pm" to the #engineering channel' or '@Zoom Team Chat show me the last 20 messages in #support'.

What teammates see: by default, memories from Zoom Team Chat are scoped to the Project (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

Compatibility data appears once enough Projects have used this MCP together with a given model.

How Switchy teams use it

Not enough Projects yet to publish anonymised usage stats (we require ≥ 50 Projects per week).

Starter prompts

Summarize Support Backlog

@Zoom Team Chat fetch the last 50 messages from #customer-support and summarize the top three issues customers are reporting.

Post Standup Summary

@Zoom Team Chat post this summary to #engineering: 'Shipped user auth flow, blocked on API rate limits, demo at 2pm today.'

Audit Shared Space Access

@Zoom Team Chat show me all members of the 'Product Launch' shared space and highlight any external guests.

Bookmark Action Items

@Zoom Team Chat search #project-alpha for messages containing 'TODO' or 'action item' from the past week and bookmark each one.

Set Follow-Up Reminder

@Zoom Team Chat set a reminder on the message about Q2 budget in #finance to ping me in 48 hours.

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@zoom list all unread messages in my team channels and summarize the top three urgent threads by mention count

Output

Searched 14 active channels and found 47 unread messages. The three most-mentioned threads are: (1) '#product-launch' – 12 @-mentions discussing the Q2 roadmap delay, last activity 8 minutes ago; (2) '#engineering' – 9 mentions about the staging environment outage, resolved 1 hour ago; (3) '#sales' – 7 mentions requesting updated pricing sheets for the EMEA deck. All threads include links to the original messages so you can jump directly into the conversation.

Notes

This example shows the MCP's read capabilities across multiple channels. The OAuth scope must include chat_message:read and chat_channel:read. Response times depend on the number of channels and message volume; accounts with hundreds of channels may see slower retrieval.

Prompt

@zoom create a new channel called 'incident-2025-01' in the Engineering shared space and invite alice@company.com, bob@company.com, and charlie@company.com

Output

Created channel '#incident-2025-01' in the Engineering shared space (ID: sp_abc123). Invited three members by email: alice@company.com (added successfully), bob@company.com (added successfully), charlie@company.com (failed – user not found in your Zoom account). The channel is now active and visible to all shared-space members. You can post the first message or adjust settings via the Zoom client.

Notes

Demonstrates channel creation and member invitation in one action. Zoom processes invites independently, so partial failures are common when email addresses don't match active Zoom users. The MCP returns per-member status; always check the failed list before assuming everyone was added. Requires chat_channel:write scope.

Prompt

@zoom send a message to the #general channel: 'Deployment to production completed at 14:32 UTC. All services green. Monitoring for 30 minutes before closing the incident.'

Output

Message posted to #general (message ID: msg_xyz789). Delivered to 23 channel members at 14:33 UTC. The message is now visible in the channel history and will trigger desktop/mobile notifications for users who have not muted #general. You can bookmark, edit, or delete this message using its ID if needed within the next 24 hours (Zoom's edit window).

Notes

Shows the write path for posting messages to channels. The MCP confirms delivery but does not guarantee every recipient saw the notification (mute settings, offline status, and Do Not Disturb modes affect visibility). Requires chat_message:write scope. Zoom rate-limits message sends to ~1 per second per channel.

Use-case deep-dives

Customer support handoff tracking

When Zoom Team Chat beats Slack for support ticket threads

A 6-person support team fields 40-60 tickets a day through Zendesk, but the real work happens in Zoom Team Chat channels—one per customer account. The bookmark and reminder tools let agents flag unresolved threads and set follow-up nudges without leaving the conversation. The shared-space structure keeps each account's channels grouped, so new hires can navigate the history without hunting through 200 flat channels. This MCP wins when your team already lives in Zoom for calls and you need chat context to survive longer than a week. If you're stitching together Slack, Zoom Meetings, and a separate ticketing tool, the cognitive overhead of three auth flows probably outweighs the 44-tool surface area here. Buy this integration if Zoom is your single pane of glass and you want AI to read ticket threads, not just send messages.

Async standup in distributed teams

Automating daily check-ins across 12 time zones

A 15-person engineering team spans San Francisco to Sydney. Standups happen in a dedicated Zoom Team Chat channel, but no one's awake at the same time. The create-message and reminder tools let an AI post a daily prompt at 9am local time for each region, then resurface unanswered blockers 4 hours later. The archive tool rotates old standup channels every sprint so the active feed stays under 500 messages. This setup works when your team already uses Zoom for video and you want one fewer tool in the stack. It falls apart if you need rich formatting—Zoom's message schema is plain text with limited markdown, so code snippets and tables render poorly. If your standups include screenshots or PR links, you'll hit the formatting ceiling fast. Choose this MCP when simplicity and Zoom consolidation trump message polish.

Board meeting prep and follow-up

Why a 4-person exec team uses this for quarterly reviews

A startup's C-suite runs quarterly board reviews in a private Zoom Team Chat shared space with three channels: pre-read, live notes, and action items. The shared-space and channel-creation tools let the CFO spin up a new workspace every quarter without IT tickets. During the meeting, the AI bookmarks key decisions and sets 30-day reminders on follow-up asks using the message-reminder tool. Post-meeting, the archive tool locks the previous quarter's space so it's searchable but immutable. This pattern works for small, high-trust teams where everyone has Zoom already and OAuth2 setup takes under 5 minutes. It breaks down if you need granular permissions—Zoom's member-add tool is all-or-nothing, so you can't hide sensitive channels from specific execs. If your board deck lives in Notion or Google Drive, the lack of file-preview integration means you're still context-switching. Use this MCP when your exec layer wants one tool for video, chat, and decision tracking.

Frequently asked

What can the Zoom Team Chat MCP do in Switchy?

It gives your AI agents full control over Zoom Team Chat: send messages to channels or 1:1 conversations, create and archive channels, manage shared spaces, bookmark messages, set reminders, and add members. The MCP exposes 44 tools covering everything from channel creation to message deletion. Your agents can orchestrate team communication workflows without anyone opening the Zoom app.

Do I need admin permissions to connect Zoom Team Chat?

No. The MCP uses OAuth2 and operates under the permissions of whichever Zoom user connects it. That user must be able to perform the actions you want—like creating channels or managing shared spaces—but Zoom admin rights aren't required. The OAuth flow requests only the scopes needed for the 44 tools; Zoom shows you the exact list during authorization.

Can the MCP read message history or search old conversations?

No. The 44 tools focus on writing and managing: sending messages, creating channels, bookmarking, setting reminders, archiving. There's no tool to retrieve past messages or search conversation history. If you need to pull historical data, use Zoom's REST API directly or a separate integration that exposes read endpoints.

How is this different from just using Zoom's API?

The MCP wraps Zoom's Team Chat API into tools your AI agents can call directly—no code, no token refresh logic, no parsing webhook payloads. You describe what you want in plain English; Switchy picks the right tool and handles OAuth. Using the raw API means writing and maintaining integration code yourself.

Who on my team should connect this MCP?

Connect it with a user account that has access to the channels and shared spaces your agents will manage. Avoid connecting a personal account if you want agents to post as a neutral team identity; some teams create a dedicated Zoom user for bot activity. The connected user's permissions define what agents can do.

More communication MCPs

See all communication MCPs →

Data last verified 61 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.