---
title: "Zoom MCP server for AI agents - actionlake"
description: "Give Claude 252 Zoom actions through one MCP server: meetings, webinars, users, groups. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/zoom
updated: 2026-10-11
---

Connectors · Marketing & media

# Zoom MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Zoom and the rest of your systems. It gives your agent 252 Zoom actions (125 reads, 84 writes and 43 that wait for a confirmation) and holds the Zoom credential itself, so the agent never does. It paces Zoom's limits and records every call.

[Connect Zoom free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "zoom.users.list",
  intent: "check which Zoom account is connected"
}
# List users · read · 1 upstream call
```

- 252 actions in one signed file
- 125 read look, never change
- 84 write create and update
- 43 wait for a yes destructive, confirmed first

Set up

## Connect Zoom in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Zoom.
   OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `client_id` Zoom app client id
   - `client_secret` Zoom app client secret
   - `account_id` Zoom account id (server-to-server app)
   ```
   account { op: "connections.requirements", service: "zoom" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "zoom.users.list" }
   # list users · read · 1 upstream call
   check { action: "zoom.users.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Zoom at a glance

**Sign-in**

OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.

**You provide**

`client_id` `client_secret` `account_id`

**Limits we pace to**

30 calls a second, per connection

**API covered**

Zoom API 2`api.zoom.us/v2`

**Built from**

Zoom's documentation, read 15 September 2026[developers.zoom.us](https://developers.zoom.us/api-hub/meetings/methods/endpoints.json) [developers.zoom.us](https://developers.zoom.us/api-hub/users/methods/endpoints.json)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

115 of 125 reads, for up to an hour; a write clears what it affects

**Ready-made plans**

9 in the store

**Shared entities**

5, so ask can line Zoom up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Zoom.

252 actions in 7 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **125** read look, never change
- **84** write create and update
- **43** destructive wait for a confirmation

1. ### Meetings
   54
   25 read · 21 write · 8 destructive
   List meetings · List past meeting instances · List upcoming meetings · Create meetings
2. ### Webinars
   51
   22 read · 19 write · 10 destructive
   List past webinar instances · List webinars · Create webinars · Update webinar livestream status
3. ### Users
   46
   21 read · 15 write · 10 destructive
   List users · List divisions · Create users · Create divisions
4. ### Groups
   30
   12 read · 11 write · 7 destructive
   List groups · List group channels · List contact groups · Create contact groups
5. ### Recordings
   25
   14 read · 7 write · 4 destructive
   List recordings · List archive files · Get meeting recordings · Get past meeting archive files
6. ### Reports
   24
   24 read · 0 write · 0 destructive
   List report history meetings · List report upcoming events · List report telephone · List report activities
7. ### Telephony
   22
   7 read · 11 write · 4 destructive
   Create meeting sip dialing · List sip phones · Create sip phones · Update sip phones

Top actions

## The Zoom API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 92 of Zoom's 99 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `zoom.users.list` List users | List users | read | `identity.user.list` 474 connectors |
| `zoom.groups.list` List groups | List groups | read | `identity.group.list` 262 connectors |
| `zoom.group_channels.list` List group channels | List group channels | read | `comm.channel.list` 27 connectors |
| `zoom.meetings.list` List meetings | List meetings | read | `comm.online_meeting.list` 11 connectors |
| `zoom.recordings.list` List recordings | List all recordings | read | `comm.meeting_recording.list` 11 connectors |
| `zoom.users.create` Create users | Create users | write | `identity.user.create` 262 connectors |
| `zoom.divisions.list` List divisions | List divisions | read | `identity.group.list` 262 connectors |
| `zoom.groups.create` Create groups | Create a group | write | `identity.group.create` 205 connectors |
| `zoom.users.delete` Delete users | Delete a user | destructive | `identity.user.delete` 253 connectors |
| `zoom.webinars.list` List webinars | List webinars | read | `comm.online_meeting.list` 11 connectors |
| `zoom.archive_files.list` List archive files | List archived files | read | `comm.meeting_recording.list` 11 connectors |
| `zoom.meeting_sip_dialing.create` Create meeting sip dialing | Get a meeting SIP URI with passcode | write | `comm.call.create` 38 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Zoom actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Who has access in Zoom? List every user and their role.
   calls `zoom.users.list`
2. Plan read
   Audit security settings across every Zoom group in Zoom.
   calls `zoom.groups.list` `zoom.group_settings.get` `zoom.group_lock_settings.get` `zoom.group_admins.list` `zoom.group_members.list` +1 more
3. Plan destructive
   Offboard a departing Zoom user in Zoom. Ask me before anything is sent or changed.
   calls `zoom.users.get` `zoom.meetings.list` `zoom.user_schedulers.list` `zoom.recordings.list` `zoom.user_status.update` +1 more
4. Write write
   Create users in Zoom. Show me exactly what you will send before you save it.
   calls `zoom.users.create`

The plan store

## Ready-made plans for Zoom.

9 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.

1. ### Audit security settings across every Zoom group
   Use it when Security or compliance needs to see how each Zoom group is configured and who administers it.
   **Effect**
   read
   **Steps**
   3 · loops
   **Install**
   `zoom-audit-group-lock-settings`
2. ### Build a weekly Zoom meeting usage report
   Use it when An agent needs a rolled-up picture of Zoom meeting usage across the account for a past date range.
   **Effect**
   read
   **Steps**
   4 · loops
   **Needs**
   from and to
   **Install**
   `zoom-weekly-meeting-usage-report`
3. ### Assemble the follow-up pack after a webinar
   Use it when A webinar has ended and someone needs attendees, absentees, polls, Q and A and survey results in one place.
   **Effect**
   read
   **Steps**
   6
   **Needs**
   webinar id
   **Install**
   `zoom-webinar-followup-pack`
4. ### Approve the pending registrants for a webinar
   Use it when A webinar uses manual approval and the pending registration queue needs clearing.
   A person decides Approve _number of registrants_ pending registrants for the webinar _topic_.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   webinar id
   **Install**
   `zoom-approve-pending-webinar-registrants`
5. ### Schedule a recurring team meeting from a template
   Use it when Someone wants a recurring Zoom meeting created for a host and needs the invitation text back.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   user id and topic
   **Install**
   `zoom-schedule-recurring-team-meeting`
6. ### Publish a meeting recording to registered viewers
   Use it when A recorded meeting must be made available to a named list of people behind registration.
   A person decides Publish the recording of meeting _meeting id_ behind registration and grant access to _email_.
   **Effect**
   write
   **Steps**
   6
   **Needs**
   meeting id, email and first name
   **Install**
   `zoom-publish-meeting-recording`
7. ### Configure and start a meeting livestream
   Use it when A meeting must be pushed to an external RTMP destination and the stream started.
   **Effect**
   write
   **Steps**
   6
   **Needs**
   meeting id, stream url, stream key and page url
   **Install**
   `zoom-start-livestream-for-meeting`
8. ### Purge a user's old cloud recordings after sign-off
   Use it when Storage needs reclaiming and a user's old cloud recordings should be deleted once a human signs off.
   A person decides Permanently delete _number of meetings_ cloud recordings belonging to _email_ recorded between _from_ and _to_.
   **Effect**
   destructive
   **Steps**
   4 · loops
   **Needs**
   user id, from and to
   **Install**
   `zoom-purge-old-recordings`
9. ### Offboard a departing Zoom user
   Use it when A person has left and their Zoom account must be wound down after a manager signs off.
   A person decides Deactivate _email_, transferring _number of meetings_ upcoming meetings and _number of meetings_ recordings to _transfer email_.
   **Effect**
   destructive
   **Steps**
   7
   **Needs**
   user id
   **Install**
   `zoom-offboard-zoom-user`

install a plan

```
account { op: "plans.install", slug: "zoom-audit-group-lock-settings" }
# then ask for it by name; a schedule can run it on a timetable
```

Governance for Zoom

## Destructive actions wait for a yes.

43 Zoom actions are destructive. The first 10:

- Delete users `zoom.users.delete`
- Delete groups `zoom.groups.delete`
- Delete divisions `zoom.divisions.delete`
- Delete contact groups `zoom.contact_groups.delete`
- Delete meetings `zoom.meetings.delete`
- Delete webinars `zoom.webinars.delete`
- Delete recording files `zoom.recording_files.delete`
- Delete meeting recordings `zoom.meeting_recordings.delete`
- Delete past meeting archive files `zoom.past_meeting_archive_files.delete`
- Delete meeting chat messages `zoom.meeting_chat_messages.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do zoom.users.delete confirm_policy: **human**

Delete users?

**intent:** the user asked me to delete users

run suspended · waiting for a named person · key _zoom-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "zoom-agent",
  allowed_actions: ["zoom.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "zoom.users.delete", approver: "lead@example.com" },
    { match: "zoom.groups.delete", approver: "lead@example.com" },
    { match: "zoom.divisions.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Zoom only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Zoom costs on actionlake.

Every Zoom action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Zoom refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 252 Zoom actions
- 252 actions page each page of a long list is one call
- 115 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Zoom action.

252 actions by area: the id your agent calls, what it does, and its effect.

**Meetings 54**

- `zoom.meeting_apps.create` Create meeting apps write
- `zoom.meeting_apps.delete` Delete meeting apps destructive
- `zoom.meeting_batch_polls.create` Create meeting batch polls write
- `zoom.meeting_batch_registrants.create` Create meeting batch registrants write
- `zoom.meeting_chat_messages.delete` Delete meeting chat messages destructive
- `zoom.meeting_chat_messages.update` Update meeting chat messages write
- `zoom.meeting_controls.update` Update meeting controls write
- `zoom.meeting_invitations.get` Get meeting invitations read
- `zoom.meeting_invite_links.create` Create meeting invite links write
- `zoom.meeting_livestream_status.update` Update meeting livestream status write
- `zoom.meeting_livestream_tokens.get` Get meeting livestream tokens read
- `zoom.meeting_livestreams.get` Get meeting livestreams read
- `zoom.meeting_livestreams.update` Update meeting livestreams write
- `zoom.meeting_polls.create` Create meeting polls write
- `zoom.meeting_polls.delete` Delete meeting polls destructive
- `zoom.meeting_polls.get` Get meeting polls read
- `zoom.meeting_polls.list` List meeting polls read
- `zoom.meeting_polls.update` Update meeting polls write
- `zoom.meeting_registrant_questions.get` Get meeting registrant questions read
- `zoom.meeting_registrant_questions.update` Update meeting registrant questions write
- `zoom.meeting_registrant_status.update` Update meeting registrant status write
- `zoom.meeting_registrants.create` Create meeting registrants write
- `zoom.meeting_registrants.delete` Delete meeting registrants destructive
- `zoom.meeting_registrants.get` Get meeting registrants read
- `zoom.meeting_registrants.list` List meeting registrants read
- `zoom.meeting_rtms_status.update` Update meeting rtms status write
- `zoom.meeting_status.update` Update meeting status write
- `zoom.meeting_summaries.delete` Delete meeting summaries destructive
- `zoom.meeting_summaries.get` Get meeting summaries read
- `zoom.meeting_summaries.list` List meeting summaries read
- `zoom.meeting_summary_templates.list` List meeting summary templates read
- `zoom.meeting_surveys.delete` Delete meeting surveys destructive
- `zoom.meeting_surveys.get` Get meeting surveys read
- `zoom.meeting_surveys.update` Update meeting surveys write
- `zoom.meeting_templates.create` Create meeting templates write
- `zoom.meeting_templates.get` Get meeting templates read
- `zoom.meeting_templates.list` List meeting templates read
- `zoom.meeting_tokens.get` Get meeting tokens read
- `zoom.meetings.create` Create meetings write
- `zoom.meetings.delete` Delete meetings destructive
- `zoom.meetings.get` Get meetings read
- `zoom.meetings.list` List meetings read
- `zoom.meetings.update` Update meetings write
- `zoom.past_meeting_instances.list` List past meeting instances read
- `zoom.past_meeting_participants.list` List past meeting participants read
- `zoom.past_meeting_polls.get` Get past meeting polls read
- `zoom.past_meeting_qa.get` Get past meeting qa read
- `zoom.past_meetings.get` Get past meetings read
- `zoom.tracking_fields.create` Create tracking fields write
- `zoom.tracking_fields.delete` Delete tracking fields destructive
- `zoom.tracking_fields.get` Get tracking fields read
- `zoom.tracking_fields.list` List tracking fields read
- `zoom.tracking_fields.update` Update tracking fields write
- `zoom.upcoming_meetings.list` List upcoming meetings read

**Webinars 51**

- `zoom.past_webinar_absentees.list` List past webinar absentees read
- `zoom.past_webinar_instances.list` List past webinar instances read
- `zoom.past_webinar_participants.list` List past webinar participants read
- `zoom.past_webinar_polls.get` Get past webinar polls read
- `zoom.past_webinar_qa.get` Get past webinar qa read
- `zoom.webinar_archive_tokens.get` Get webinar archive tokens read
- `zoom.webinar_batch_registrants.create` Create webinar batch registrants write
- `zoom.webinar_branding.get` Get webinar branding read
- `zoom.webinar_branding_backgrounds.delete` Delete webinar branding backgrounds destructive
- `zoom.webinar_branding_backgrounds.update` Update webinar branding backgrounds write
- `zoom.webinar_branding_name_tags.create` Create webinar branding name tags write
- `zoom.webinar_branding_name_tags.delete` Delete webinar branding name tags destructive
- `zoom.webinar_branding_name_tags.update` Update webinar branding name tags write
- `zoom.webinar_branding_wallpaper.delete` Delete webinar branding wallpaper destructive
- `zoom.webinar_chat_messages.delete` Delete webinar chat messages destructive
- `zoom.webinar_invite_links.create` Create webinar invite links write
- `zoom.webinar_livestream_status.update` Update webinar livestream status write
- `zoom.webinar_livestream_tokens.get` Get webinar livestream tokens read
- `zoom.webinar_livestreams.get` Get webinar livestreams read
- `zoom.webinar_livestreams.update` Update webinar livestreams write
- `zoom.webinar_panelist.delete` Delete webinar panelist destructive
- `zoom.webinar_panelists.create` Create webinar panelists write
- `zoom.webinar_panelists.delete` Delete webinar panelists destructive
- `zoom.webinar_panelists.list` List webinar panelists read
- `zoom.webinar_polls.create` Create webinar polls write
- `zoom.webinar_polls.delete` Delete webinar polls destructive
- `zoom.webinar_polls.get` Get webinar polls read
- `zoom.webinar_polls.list` List webinar polls read
- `zoom.webinar_polls.update` Update webinar polls write
- `zoom.webinar_recording_tokens.get` Get webinar recording tokens read
- `zoom.webinar_registrant_questions.get` Get webinar registrant questions read
- `zoom.webinar_registrant_questions.update` Update webinar registrant questions write
- `zoom.webinar_registrant_status.update` Update webinar registrant status write
- `zoom.webinar_registrants.create` Create webinar registrants write
- `zoom.webinar_registrants.delete` Delete webinar registrants destructive
- `zoom.webinar_registrants.get` Get webinar registrants read
- `zoom.webinar_registrants.list` List webinar registrants read
- `zoom.webinar_sip_dialing.create` Create webinar sip dialing write
- `zoom.webinar_status.update` Update webinar status write
- `zoom.webinar_surveys.delete` Delete webinar surveys destructive
- `zoom.webinar_surveys.get` Get webinar surveys read
- `zoom.webinar_surveys.update` Update webinar surveys write
- `zoom.webinar_templates.create` Create webinar templates write
- `zoom.webinar_templates.list` List webinar templates read
- `zoom.webinar_tokens.get` Get webinar tokens read
- `zoom.webinar_tracking_sources.list` List webinar tracking sources read
- `zoom.webinars.create` Create webinars write
- `zoom.webinars.delete` Delete webinars destructive
- `zoom.webinars.get` Get webinars read
- `zoom.webinars.list` List webinars read
- `zoom.webinars.update` Update webinars write

**Users 46**

- `zoom.division_members.create` Create division members write
- `zoom.division_members.list` List division members read
- `zoom.divisions.create` Create divisions write
- `zoom.divisions.delete` Delete divisions destructive
- `zoom.divisions.get` Get divisions read
- `zoom.divisions.list` List divisions read
- `zoom.divisions.update` Update divisions write
- `zoom.user_assistant.delete` Delete user assistant destructive
- `zoom.user_assistants.create` Create user assistants write
- `zoom.user_assistants.delete` Delete user assistants destructive
- `zoom.user_assistants.list` List user assistants read
- `zoom.user_backgrounds.delete` Delete user backgrounds destructive
- `zoom.user_collaboration_devices.get` Get user collaboration devices read
- `zoom.user_collaboration_devices.list` List user collaboration devices read
- `zoom.user_emails.get` Get user emails read
- `zoom.user_emails.update` Update user emails write
- `zoom.user_features.update` Update user features write
- `zoom.user_meeting_summaries.list` List user meeting summaries read
- `zoom.user_pac_accounts.list` List user pac accounts read
- `zoom.user_passwords.update` Update user passwords write
- `zoom.user_permissions.list` List user permissions read
- `zoom.user_pictures.delete` Delete user pictures destructive
- `zoom.user_presence.get` Get user presence read
- `zoom.user_presence.update` Update user presence write
- `zoom.user_scheduler.delete` Delete user scheduler destructive
- `zoom.user_schedulers.delete` Delete user schedulers destructive
- `zoom.user_schedulers.list` List user schedulers read
- `zoom.user_settings.get` Get user settings read
- `zoom.user_settings.update` Update user settings write
- `zoom.user_status.update` Update user status write
- `zoom.user_summary.get` Get user summary read
- `zoom.user_tokens.delete` Delete user tokens destructive
- `zoom.user_tokens.get` Get user tokens read
- `zoom.user_tsp_accounts.create` Create user tsp accounts write
- `zoom.user_tsp_accounts.delete` Delete user tsp accounts destructive
- `zoom.user_tsp_accounts.get` Get user tsp accounts read
- `zoom.user_tsp_accounts.list` List user tsp accounts read
- `zoom.user_tsp_accounts.update` Update user tsp accounts write
- `zoom.user_tsp_settings.update` Update user tsp settings write
- `zoom.user_vanity_names.get` Get user vanity names read
- `zoom.user_zak_tokens.get` Get user zak tokens read
- `zoom.users.create` Create users write
- `zoom.users.delete` Delete users destructive
- `zoom.users.get` Get users read
- `zoom.users.list` List users read
- `zoom.users.update` Update users write

**Groups 30**

- `zoom.contact_group_members.create` Create contact group members write
- `zoom.contact_group_members.delete` Delete contact group members destructive
- `zoom.contact_group_members.list` List contact group members read
- `zoom.contact_groups.create` Create contact groups write
- `zoom.contact_groups.delete` Delete contact groups destructive
- `zoom.contact_groups.get` Get contact groups read
- `zoom.contact_groups.list` List contact groups read
- `zoom.contact_groups.update` Update contact groups write
- `zoom.device_group_assignments.update` Update device group assignments write
- `zoom.device_groups.list` List device groups read
- `zoom.group_admins.create` Create group admins destructive
- `zoom.group_admins.delete` Delete group admins destructive
- `zoom.group_admins.list` List group admins read
- `zoom.group_backgrounds.delete` Delete group backgrounds destructive
- `zoom.group_channels.list` List group channels read
- `zoom.group_lock_settings.get` Get group lock settings read
- `zoom.group_lock_settings.update` Update group lock settings write
- `zoom.group_members.create` Create group members write
- `zoom.group_members.delete` Delete group members destructive
- `zoom.group_members.list` List group members read
- `zoom.group_members.update` Update group members write
- `zoom.group_registration_settings.get` Get group registration settings read
- `zoom.group_registration_settings.update` Update group registration settings write
- `zoom.group_settings.get` Get group settings read
- `zoom.group_settings.update` Update group settings write
- `zoom.groups.create` Create groups write
- `zoom.groups.delete` Delete groups destructive
- `zoom.groups.get` Get groups read
- `zoom.groups.list` List groups read
- `zoom.groups.update` Update groups write

**Recordings 25**

- `zoom.archive_file_downloads.list` List archive file downloads read
- `zoom.archive_file_statistics.get` Get archive file statistics read
- `zoom.archive_files.list` List archive files read
- `zoom.archive_files.update` Update archive files write
- `zoom.meeting_archive_tokens.get` Get meeting archive tokens read
- `zoom.meeting_recording_tokens.get` Get meeting recording tokens read
- `zoom.meeting_recordings.delete` Delete meeting recordings destructive
- `zoom.meeting_recordings.get` Get meeting recordings read
- `zoom.meeting_transcripts.delete` Delete meeting transcripts destructive
- `zoom.meeting_transcripts.get` Get meeting transcripts read
- `zoom.past_meeting_archive_files.delete` Delete past meeting archive files destructive
- `zoom.past_meeting_archive_files.get` Get past meeting archive files read
- `zoom.recording_analytics_details.list` List recording analytics details read
- `zoom.recording_analytics_summary.get` Get recording analytics summary read
- `zoom.recording_file_status.update` Update recording file status write
- `zoom.recording_files.delete` Delete recording files destructive
- `zoom.recording_registrant_questions.get` Get recording registrant questions read
- `zoom.recording_registrant_questions.update` Update recording registrant questions write
- `zoom.recording_registrant_status.update` Update recording registrant status write
- `zoom.recording_registrants.create` Create recording registrants write
- `zoom.recording_registrants.list` List recording registrants read
- `zoom.recording_settings.get` Get recording settings read
- `zoom.recording_settings.update` Update recording settings write
- `zoom.recording_status.update` Update recording status write
- `zoom.recordings.list` List recordings read

**Reports 24**

- `zoom.report_activities.list` List report activities read
- `zoom.report_billing.get` Get report billing read
- `zoom.report_billing_invoices.list` List report billing invoices read
- `zoom.report_cloud_recording.list` List report cloud recording read
- `zoom.report_daily.list` List report daily read
- `zoom.report_disclaimers.list` List report disclaimers read
- `zoom.report_history_meetings.list` List report history meetings read
- `zoom.report_meeting_activities.list` List report meeting activities read
- `zoom.report_meeting_participants.list` List report meeting participants read
- `zoom.report_meeting_polls.get` Get report meeting polls read
- `zoom.report_meeting_qa.get` Get report meeting qa read
- `zoom.report_meeting_survey.get` Get report meeting survey read
- `zoom.report_meetings.get` Get report meetings read
- `zoom.report_operation_logs.list` List report operation logs read
- `zoom.report_remote_support.list` List report remote support read
- `zoom.report_telephone.list` List report telephone read
- `zoom.report_upcoming_events.list` List report upcoming events read
- `zoom.report_user_meetings.list` List report user meetings read
- `zoom.report_users.list` List report users read
- `zoom.report_webinar_participants.list` List report webinar participants read
- `zoom.report_webinar_polls.get` Get report webinar polls read
- `zoom.report_webinar_qa.get` Get report webinar qa read
- `zoom.report_webinar_survey.get` Get report webinar survey read
- `zoom.report_webinars.get` Get report webinars read

**Telephony 22**

- `zoom.device_assignments.update` Update device assignments write
- `zoom.device_zpa_assignments.create` Create device zpa assignments write
- `zoom.device_zpa_records.delete` Delete device zpa records destructive
- `zoom.device_zpa_settings.get` Get device zpa settings read
- `zoom.device_zpa_upgrades.create` Create device zpa upgrades write
- `zoom.device_zpa_versions.list` List device zpa versions read
- `zoom.devices.create` Create devices write
- `zoom.devices.delete` Delete devices destructive
- `zoom.devices.get` Get devices read
- `zoom.devices.list` List devices read
- `zoom.devices.update` Update devices write
- `zoom.h323_devices.create` Create h323 devices write
- `zoom.h323_devices.delete` Delete h323 devices destructive
- `zoom.h323_devices.list` List h323 devices read
- `zoom.h323_devices.update` Update h323 devices write
- `zoom.meeting_sip_dialing.create` Create meeting sip dialing write
- `zoom.sip_phones.create` Create sip phones write
- `zoom.sip_phones.delete` Delete sip phones destructive
- `zoom.sip_phones.list` List sip phones read
- `zoom.sip_phones.update` Update sip phones write
- `zoom.tsp_settings.get` Get tsp settings read
- `zoom.tsp_settings.update` Update tsp settings write

Questions

## The Zoom MCP server, answered.

**Is there a Zoom MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 252 Zoom actions across meetings, webinars, users and groups, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Zoom.

**What do I need to connect Zoom?**

Zoom app client id, Zoom app client secret and Zoom account id (server-to-server app). The free call account { op: "connections.requirements", service: "zoom" } lists exactly what to paste.

**Can an AI agent delete or change things in Zoom?**

Only if its key allows it, and only with an explicit confirmation. 43 Zoom actions are destructive, including delete users, delete groups and delete divisions. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Zoom API limit?**

actionlake paces every call to the limits in the Zoom service file: 30 calls a second per connection. Repeated reads are answered from cache (115 Zoom actions can be), which never reaches Zoom.

**What does a Zoom action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (252 Zoom actions page). Cache hits, searches, dry runs and calls Zoom refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Zoom API does it cover?**

The Zoom API 2 at api.zoom.us/v2. It is built from Zoom's documentation as read on 15 September 2026. 252 actions in 7 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Zoom data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Zoom credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Zoom

Shares the most action names with

- [Qualtrics XM 18](https://actionlake.com/connectors/qualtrics-xm)
- [SurveySparrow 11](https://actionlake.com/connectors/surveysparrow)
- [Fireflies.ai 10](https://actionlake.com/connectors/fireflies-ai)
- [Cvent 10](https://actionlake.com/connectors/cvent)
- [Google Meet 9](https://actionlake.com/connectors/google-meet)
- [Livestorm 9](https://actionlake.com/connectors/livestorm)

Joins with, on shared entities

- [Cisco Webex 5](https://actionlake.com/connectors/cisco-webex)
- [Slack 3](https://actionlake.com/connectors/slack)
- [TeamViewer 3](https://actionlake.com/connectors/teamviewer)
- [Zulip 3](https://actionlake.com/connectors/zulip)
- [Freshworks Freshchat 3](https://actionlake.com/connectors/freshworks-freshchat)
- [HaloPSA 2](https://actionlake.com/connectors/halopsa)

Browse

- [All Marketing & media connectors](https://actionlake.com/connectors/category/marketing-and-media)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Zoom; the name is the vendor's own. Counts are from the Zoom service file, version 1.0.0.

## Give your agent Zoom today.

[Connect Zoom free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/zoom
More: https://actionlake.com/llms.txt
