VX Agents

API directory · Messaging & SMS

Zoom Team Chat Channels & Messages

v1.0.0 · 14 endpoints · 0 connections · shared by vx.ai

Catch up on Zoom Team Chat and post where your team already talks: find a channel, read recent messages or a full thread, send or edit a message with @mentions, add an emoji reaction, and spin up a new channel with the right members. Search by keyword across a channel or a 1:1 chat.

Connect this API to an AI agent Browse all specs

What you can do with Zoom Team Chat Channels & Messages via MCP

Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.

MethodPathOperationDescription
GET /chat/users/{userId}/channels listMyChannels List the channels a user belongs to
POST /chat/users/{userId}/channels createChannel Create a channel and add its first members
POST /chat/channels/search searchChannels Find channels by name
GET /chat/channels/{channelId} getChannel Get a channel's name, type and settings
GET /chat/channels/{channelId}/members listChannelMembers List who is in a channel
POST /chat/channels/{channelId}/members inviteChannelMembers Invite people to a channel by email
GET /chat/users/{userId}/sessions listChatSessions List recent 1:1 chats and channels with activity
GET /chat/users/{userId}/messages listMessages Read or keyword-search messages in a channel or 1:1 chat
POST /chat/users/{userId}/messages sendMessage Send a message or thread reply to a channel or contact
GET /chat/users/{userId}/messages/{messageId} getMessage Get one message with its files and reactions
PUT /chat/users/{userId}/messages/{messageId} editMessage Edit the text of a message you sent
GET /chat/users/{userId}/messages/{messageId}/thread getThread Read the replies in a message thread
PATCH /chat/users/{userId}/messages/{messageId}/emoji_reactions reactToMessage Add or remove an emoji reaction on a message
GET /chat/users/me/contacts listContacts List the user's company and external contacts

Authentication

zoom_oauth

OAuth 2.0

Scopes: team_chat:read:list_user_channels team_chat:write:search_channels team_chat:read:channel team_chat:read:list_members team_chat:write:user_channel team_chat:write:members team_chat:read:list_user_sessions team_chat:read:list_user_messages team_chat:read:user_message team_chat:read:thread_message team_chat:write:user_message team_chat:update:user_message team_chat:update:message_emoji team_chat:read:list_contacts

Zoom OAuth 2.0 (authorization code) for a user-managed Zoom app.

How to get a credential

  1. Sign in to the Zoom App Marketplace (https://marketplace.zoom.us) and choose Develop > Build App > General App.
  2. Set it to User-managed, and add the VX Agents OAuth redirect URL shown on the credential form.
  3. Under Scopes, add the Team Chat scopes in the table below.
  4. Copy the Client ID and Client Secret into a VX Agents OAuth2 credential and sign in with the Zoom user whose chats the agent should use. Messages are sent as that user.

Permissions used

Scope Operations
team_chat:read:list_user_channels, team_chat:write:search_channels, team_chat:read:channel, team_chat:read:list_members listMyChannels, searchChannels, getChannel, listChannelMembers
team_chat:write:user_channel, team_chat:write:members createChannel, inviteChannelMembers
team_chat:read:list_user_sessions, team_chat:read:list_user_messages, team_chat:read:user_message, team_chat:read:thread_message listChatSessions, listMessages, getMessage, getThread
team_chat:write:user_message, team_chat:update:user_message, team_chat:update:message_emoji sendMessage, editMessage, reactToMessage
team_chat:read:list_contacts listContacts

Common errors

Status Meaning Fix
401 Token expired or revoked Reconnect the credential; access tokens last one hour and are refreshed automatically.
403 Scope missing, or Team Chat disabled for the account Add the scope above to the app and reconnect; ask the Zoom admin to enable Team Chat.
404 Channel, contact or message not found Use ids from listMyChannels / listContacts / listMessages; the user must be a channel member.
400 Bad field Pass exactly one of to_channel or to_contact; dates are yyyy-MM-dd.
429 Rate limit Wait and retry; sending messages is a Medium-limit API.

Store it as a VX Agents OAuth2 credential.

Usage guide

Setup

  1. Connect a VX Agents OAuth2 credential for a user-managed Zoom General App with the Team Chat scopes listed on the credential. Messages are sent as the Zoom user who signs in.
  2. Pin userId to me on every operation that takes it (the signed-in user).
  3. Optional: pin to_channel on listMessages and sendMessage to the id of the channel the agent posts to (from listMyChannels).

Catch up and reply in a channel

  1. Find the channel: listMyChannels, or searchChannels with needle (part of the name) and haystack user_joined (or public, all). getChannel and listChannelMembers show details and who will see a post.
  2. For direct chats, listChatSessions lists recent 1:1 chats and channels; listContacts gives contact emails and ids.
  3. Read messages with listMessages: pass exactly one of to_channel or to_contact, plus from/to (ISO 8601) or date (yyyy-MM-dd). For a keyword search set search_type=message and search_key. Page with next_page_token.
  4. getThread (with the same to_channel/to_contact and a required from time) returns the replies to a message; getMessage returns one message with files and reactions.
  5. Draft the reply and show it to the user. After they confirm, sendMessage with message and to_channel or to_contact; add reply_main_message_id to reply in a thread, at_items for @mentions, or scheduled_time (more than 30 minutes ahead) to send later.
  6. editMessage fixes a message the user sent (pass the same to_channel/to_contact); reactToMessage with action add or remove and emoji (the emoji's Unicode value in UTF-32 format).
  7. New project? createChannel with name, type (1 private, 2 private and limited to your Zoom account, 3 public, 4 group chat) and up to 20 members by email; inviteChannelMembers adds up to 5 more per call. Confirm both first.

Good to know

  • Times in from/to use yyyy-MM-dd'T'HH:mm:ss'Z' (UTC, e.g. 2026-10-20T09:00:00Z); if both date and from are sent, date wins.
  • The signed-in user must belong to a channel to read or post in it.
  • List calls return at most 50 records per page (page_size, default 10); history only goes back as far as the account's chat retention.
  • Deleting messages or channels is not part of this spec.
  • Posts, edits, reactions and invitations are seen by colleagues immediately: always confirm the text and destination first.

Source: Zoom Team Chat API reference (https://developers.zoom.us/docs/api/chat/), checked 2026-10-20.

How to use this spec

  1. Create a free VX Agents account (sandbox tools included).
  2. Open the marketplace and connect “Zoom Team Chat Channels & Messages” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs