Reference · built on requestConnectorMessaging & notifications

Zoom Team Chat

Channels, members, and chat messages in Zoom Team Chat through the Chat API and Team Chat webhook events.

About

Zoom Team Chat is the messaging product inside Zoom: channels, direct messages, threads, and shared files. The Chat API sits under api.zoom.us/v2 and is addressed per user, so paths read /chat/users/{userId}/channels and /chat/users/{userId}/messages; a user-level app passes me as the userId. Access comes from a Zoom Marketplace app, either a General app that a user or admin authorizes or a Server-to-Server OAuth app that trades account credentials for a one-hour token. Webhook events such as chat_message.sent and team_chat.channel_message_posted are subscribed on the app.

Through Fibric, an operator reads the channels you name and proposes a message, a threaded reply, or a reaction for a person to approve.

This is a reference listing. It documents what Fibric would read from Zoom Team Chat and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • A user's channels and each channel's members through List user's channels and List channel members
  • Messages with a contact or in a channel through List user's chat messages, filtered by date, from, and to
  • Every message under a parent through Retrieve a thread
  • chat_message.sent, chat_message.replied, chat_message.updated, and chat_message.deleted webhook events
  • team_chat.channel_message_posted and team_chat.dm_message_posted events on the app's event subscription
  • Membership changes through chat_channel.member_invited, member_joined, member_left, and member_removed

Proposed actions

  • Target capability: propose Send a chat message to a contact or channel, up to 1024 characters and six file IDs
  • Target capability: propose a threaded reply by setting reply_main_message_id
  • Target capability: propose Update a message or Delete a message on a message the app sent
  • Target capability: propose React to a chat message
  • Target capability: propose Create a channel and Invite channel members for an incident room

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • An incident gets its own channel

    When a monitor fails, the operator proposes a new channel named for the incident and invites the on-call members. Updates post as threaded replies so the channel stays readable.

    With Uptime Response

  • Shift-change handoff by direct message

    At handover the operator drafts a direct message to the incoming engineer with open incidents and pending actions. The outgoing engineer approves it before it is sent.

    With On-call Handoff, Escalation Packet

  • No-show follow-up to the supervisor

    A missed shift becomes a proposed message to the supervisor's channel naming the shift, the employee, and the coverage options. Approval sends it.

    With No-Show Response

Requirements

  • A Zoom account where you are the owner, an admin, or hold the Zoom for developers role
  • A Marketplace app granted chat_channel:read, chat_channel:write, chat_message:read, and chat_message:write, or their admin variants
  • For an account-level app: the acting user holds a role with Edit permission for Chat Messages
  • An event notification endpoint that answers the endpoint.url_validation challenge within 3 seconds
Authentication
OAuth 2.0 from a Zoom Marketplace app: a General app authorized by a user or admin, or a Server-to-Server OAuth app that exchanges account ID, client ID, and client secret for a one-hour token.

Limits

  • Rate limits apply per account and are shared by every app installed on it; the chat methods are labeled MEDIUM
  • Per channel: 10 messages per second, 30 per 10 seconds, 60 per 100 seconds, and 450 per 1,000 seconds
  • MEDIUM requests: 60 per second on Business+ plans, 20 on Pro, and 2 per second with 2,000 per day on Free
  • A failed webhook delivery is retried three times, at 5, 20, and 60 minutes

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request Zoom Team Chat ↗

Questions and answers

Which Zoom app type should we use?
A Server-to-Server OAuth app needs no user login: it trades account ID, client ID, and client secret for a token valid one hour with no refresh token. A General app acts as the user who authorized it. Scopes for either are chosen in the Marketplace and go through Zoom's security review.
How are webhooks validated?
Zoom sends an endpoint.url_validation event with a plainToken; your endpoint returns it with an HMAC SHA-256 hash made with the app's secret token within 3 seconds. Each later event carries an x-zm-signature header to check the same way. An app may hold up to 20 event subscriptions.
What limits apply to sending into a channel?
Per channel: 10 messages within 1 second, 30 within 10 seconds, 60 within 100 seconds, and 450 within 1,000 seconds. Exceeding a window blocks sending to that channel for 10 to 300 seconds. Message text is capped at 1024 characters and six file IDs.
Ask about Zoom Team Chat

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.