> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modulex.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Zoom Integration for AI Agents & Workflows

> Video conferencing, meetings, webinars, and team chat platform

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img src="https://mintcdn.com/modulexaillc/df8MOr-hXotYLTh5/logos/zoom.svg?fit=max&auto=format&n=df8MOr-hXotYLTh5&q=85&s=4bf94ed26acf6d2ff1528f2e2f73cb22" alt="Zoom logo" width="72" height="72" data-path="logos/zoom.svg" />

## Overview

Add **Zoom** to any ModuleX agent or workflow. Video conferencing, meetings, webinars, and team chat platform via the Zoom REST API (`api.zoom.us/v2`).

<Info>
  **Categories**: Communication · Video Conferencing · Productivity & Collaboration · **Auth**: OAuth2 · **Actions**: 23
</Info>

## Authentication

### OAuth2 Authentication

Connect using Zoom OAuth (recommended)

#### Required Credentials

| Field         | Description                  | Required | Format |
| ------------- | ---------------------------- | -------- | ------ |
| Client ID     | Zoom OAuth App Client ID     | Yes      | `-`    |
| Client Secret | Zoom OAuth App Client Secret | Yes      | `-`    |

#### OAuth Configuration

* **Authorization URL**: `https://zoom.us/oauth/authorize`
* **Token URL**: `https://zoom.us/oauth/token`
* **Scopes**: `meeting:write:admin`, `meeting:read:admin`, `recording:read:admin`, `chat_message:write`, `chat_channel:read`, `user:read:admin`, `user:write:admin`, `phone:read:admin`, `webinar:read:admin`, `webinar:write:admin`, `report:read:admin`

## Available Actions

<AccordionGroup>
  <Accordion title="create_meeting — Create a meeting for the authenticated user. A maximum of 100 meetings can be created per day.">
    ### Parameters

    <ResponseField name="topic" type="string">
      Meeting topic
    </ResponseField>

    <ResponseField name="type" type="integer">
      Meeting type: 1 - Instant, 2 - Scheduled, 3 - Recurring no fixed time, 8 - Recurring fixed time
    </ResponseField>

    <ResponseField name="start_time" type="string">
      Meeting start time in yyyy-MM-ddTHH:mm:ssZ (GMT) or yyyy-MM-ddTHH:mm:ss (with timezone field). Used for scheduled/recurring meetings.
    </ResponseField>

    <ResponseField name="duration" type="integer">
      Meeting duration in minutes. Used for scheduled meetings only.
    </ResponseField>

    <ResponseField name="timezone" type="string">
      Time zone for start\_time, e.g. America/Los\_Angeles. For scheduled meetings only.
    </ResponseField>

    <ResponseField name="password" type="string">
      Password to join the meeting. May contain \[a-z A-Z 0-9 @ - \_ \*], max 10 characters.
    </ResponseField>

    <ResponseField name="agenda" type="string">
      Meeting description/agenda
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "uuid": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uuid"
        },
        "topic": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Topic"
        },
        "start_time": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Start Time"
        },
        "join_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Join Url"
        },
        "password": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Password"
        },
        "start_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Start Url"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateMeetingOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_meetings — List meetings for a user">
    ### Parameters

    <ResponseField name="user_id" type="string" required>
      The user ID or email address of the user. Use 'me' for the current user.
    </ResponseField>

    <ResponseField name="type" type="string">
      Type of meetings to list: scheduled, live, upcoming, previous\_meetings. Defaults to scheduled.
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "MeetingWebinarItem": {
          "additionalProperties": false,
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "uuid": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Uuid"
            },
            "topic": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Topic"
            },
            "type": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Type"
            },
            "start_time": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Start Time"
            },
            "duration": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Duration"
            },
            "timezone": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Timezone"
            },
            "join_url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Join Url"
            },
            "status": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Status"
            }
          },
          "title": "MeetingWebinarItem",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "meetings": {
          "items": {
            "$ref": "#/$defs/MeetingWebinarItem"
          },
          "title": "Meetings",
          "type": "array"
        },
        "total_records": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total Records"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListMeetingsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_meeting_details — Retrieve the details of a meeting">
    ### Parameters

    <ResponseField name="meeting_id" type="string" required>
      The meeting ID
    </ResponseField>

    <ResponseField name="occurrence_id" type="string">
      Meeting occurrence ID for recurring meetings
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "uuid": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uuid"
        },
        "topic": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Topic"
        },
        "type": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Type"
        },
        "start_time": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Start Time"
        },
        "duration": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Duration"
        },
        "timezone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Timezone"
        },
        "join_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Join Url"
        },
        "password": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Password"
        },
        "status": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "host_email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Host Email"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetMeetingDetailsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_meeting — Update an existing Zoom meeting's topic, time, or other settings">
    ### Parameters

    <ResponseField name="meeting_id" type="string" required>
      The Zoom meeting ID to update
    </ResponseField>

    <ResponseField name="topic" type="string">
      Meeting topic
    </ResponseField>

    <ResponseField name="type" type="integer">
      Meeting type: 1 - Instant, 2 - Scheduled, 3 - Recurring no fixed time, 8 - Recurring fixed time
    </ResponseField>

    <ResponseField name="start_time" type="string">
      Meeting start time
    </ResponseField>

    <ResponseField name="duration" type="integer">
      Meeting duration in minutes
    </ResponseField>

    <ResponseField name="timezone" type="string">
      Time zone for start\_time
    </ResponseField>

    <ResponseField name="password" type="string">
      Password to join the meeting, max 10 characters
    </ResponseField>

    <ResponseField name="agenda" type="string">
      Meeting description/agenda
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateMeetingOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="delete_meeting — Delete a meeting">
    ### Parameters

    <ResponseField name="meeting_id" type="string" required>
      The ID of the meeting to delete
    </ResponseField>

    <ResponseField name="occurrence_id" type="string">
      If provided, only that occurrence will be deleted. Otherwise the entire meeting series is deleted.
    </ResponseField>

    <ResponseField name="schedule_for_reminder" type="boolean">
      If true, notify host and alternative host about the meeting cancellation via email
    </ResponseField>

    <ResponseField name="cancel_meeting_reminder" type="boolean">
      If true, notify registrants about the meeting cancellation via email
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        }
      },
      "required": [
        "success"
      ],
      "title": "DeleteMeetingOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_current_user — Return the authenticated Zoom user's ID, name, email, account ID, and timezone">
    ### Response

    ```json theme={null}
    {
      "$defs": {
        "UserInfo": {
          "additionalProperties": false,
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "first_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "First Name"
            },
            "last_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Last Name"
            },
            "display_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Display Name"
            },
            "email": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Email"
            },
            "account_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Account Id"
            },
            "timezone": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Timezone"
            },
            "type": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Type"
            }
          },
          "title": "UserInfo",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "user": {
          "anyOf": [
            {
              "$ref": "#/$defs/UserInfo"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "GetCurrentUserOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="send_chat_message — Send a chat message on Zoom to an individual contact or a channel">
    ### Parameters

    <ResponseField name="message" type="string" required>
      The message to be sent
    </ResponseField>

    <ResponseField name="to_contact" type="string">
      The email address of the contact to send the message to
    </ResponseField>

    <ResponseField name="to_channel" type="string">
      The channel ID to send the message to
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        }
      },
      "required": [
        "success"
      ],
      "title": "SendChatMessageOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_channels — List the authenticated user's chat channels">
    ### Parameters

    <ResponseField name="page_size" type="integer">
      Number of records per page
    </ResponseField>

    <ResponseField name="next_page_token" type="string">
      Next page token for pagination. Expires after 15 minutes.
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "channels": {
          "items": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            },
            "type": "object"
          },
          "title": "Channels",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListChannelsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="add_meeting_registrant — Register a participant for a meeting">
    ### Parameters

    <ResponseField name="meeting_id" type="string" required>
      The meeting ID
    </ResponseField>

    <ResponseField name="email" type="string" required>
      A valid email address of the registrant
    </ResponseField>

    <ResponseField name="first_name" type="string" required>
      Registrant's first name
    </ResponseField>

    <ResponseField name="last_name" type="string" required>
      Registrant's last name
    </ResponseField>

    <ResponseField name="occurrence_ids" type="string">
      Occurrence IDs, multiple values separated by comma
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "RegistrantResponse": {
          "additionalProperties": false,
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "registrant_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Registrant Id"
            },
            "start_time": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Start Time"
            },
            "join_url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Join Url"
            },
            "topic": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Topic"
            }
          },
          "title": "RegistrantResponse",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "registrant": {
          "anyOf": [
            {
              "$ref": "#/$defs/RegistrantResponse"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "AddMeetingRegistrantOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_meeting_recordings — Get the recordings of a meeting">
    ### Parameters

    <ResponseField name="meeting_id" type="string" required>
      The meeting ID to get recordings for
    </ResponseField>

    <ResponseField name="download_access_token" type="boolean">
      Whether to include a download access token in the response
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "RecordingFile": {
          "additionalProperties": false,
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "meeting_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Meeting Id"
            },
            "recording_start": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Recording Start"
            },
            "recording_end": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Recording End"
            },
            "file_type": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "File Type"
            },
            "file_size": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "File Size"
            },
            "download_url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Download Url"
            },
            "play_url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Play Url"
            },
            "status": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Status"
            },
            "recording_type": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Recording Type"
            }
          },
          "title": "RecordingFile",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "recording_files": {
          "items": {
            "$ref": "#/$defs/RecordingFile"
          },
          "title": "Recording Files",
          "type": "array"
        },
        "download_access_token": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Download Access Token"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetMeetingRecordingsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_meeting_transcript — Get the transcript of a past meeting as speaker-attributed plain text">
    ### Parameters

    <ResponseField name="meeting_id" type="string" required>
      The ID of a past meeting with cloud recording and audio transcription enabled
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "transcript_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Transcript Url"
        },
        "transcript_text": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Transcript Text"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetMeetingTranscriptOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_meeting_summary — Retrieve the AI-generated summary of a meeting or webinar">
    ### Parameters

    <ResponseField name="meeting_id" type="string" required>
      The meeting ID or meeting UUID
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "MeetingSummary": {
          "additionalProperties": false,
          "properties": {
            "meeting_id": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Meeting Id"
            },
            "meeting_uuid": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Meeting Uuid"
            },
            "summary_title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Summary Title"
            },
            "summary_overview": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Summary Overview"
            },
            "summary_details": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Summary Details"
            },
            "next_steps": {
              "items": {
                "type": "string"
              },
              "title": "Next Steps",
              "type": "array"
            }
          },
          "title": "MeetingSummary",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "summary": {
          "anyOf": [
            {
              "$ref": "#/$defs/MeetingSummary"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "GetMeetingSummaryOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_all_recordings — List all cloud recordings for a user">
    ### Parameters

    <ResponseField name="user_id" type="string">
      The user ID or email. Use 'me' for the current user. (Default: `me`)
    </ResponseField>

    <ResponseField name="from_date" type="string">
      Start date in yyyy-MM-dd format. Maximum date range is one month.
    </ResponseField>

    <ResponseField name="to_date" type="string">
      End date in yyyy-MM-dd format
    </ResponseField>

    <ResponseField name="trash" type="boolean">
      If true, list recordings from trash
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "RecordingFile": {
          "additionalProperties": false,
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "meeting_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Meeting Id"
            },
            "recording_start": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Recording Start"
            },
            "recording_end": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Recording End"
            },
            "file_type": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "File Type"
            },
            "file_size": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "File Size"
            },
            "download_url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Download Url"
            },
            "play_url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Play Url"
            },
            "status": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Status"
            },
            "recording_type": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Recording Type"
            }
          },
          "title": "RecordingFile",
          "type": "object"
        },
        "RecordingMeeting": {
          "additionalProperties": false,
          "properties": {
            "uuid": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Uuid"
            },
            "id": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "topic": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Topic"
            },
            "start_time": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Start Time"
            },
            "duration": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Duration"
            },
            "total_size": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Total Size"
            },
            "recording_count": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Recording Count"
            },
            "recording_files": {
              "items": {
                "$ref": "#/$defs/RecordingFile"
              },
              "title": "Recording Files",
              "type": "array"
            }
          },
          "title": "RecordingMeeting",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "meetings": {
          "items": {
            "$ref": "#/$defs/RecordingMeeting"
          },
          "title": "Meetings",
          "type": "array"
        },
        "total_records": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total Records"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListAllRecordingsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_call_recordings — Get your account's Zoom Phone call recordings">
    ### Parameters

    <ResponseField name="start_date" type="string">
      Start date in yyyy-MM-dd or yyyy-MM-ddTHH:mm:ssZ format
    </ResponseField>

    <ResponseField name="end_date" type="string">
      End date in yyyy-MM-dd or yyyy-MM-ddTHH:mm:ssZ format. Max 30-day range.
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "recordings": {
          "items": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            },
            "type": "object"
          },
          "title": "Recordings",
          "type": "array"
        },
        "total_records": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total Records"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListCallRecordingsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_user_call_logs — Get a user's Zoom Phone call logs">
    ### Parameters

    <ResponseField name="user_id" type="string" required>
      The user ID or email address of the user
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "call_logs": {
          "items": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            },
            "type": "object"
          },
          "title": "Call Logs",
          "type": "array"
        },
        "total_records": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total Records"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListUserCallLogsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_past_meeting_participants — Retrieve participants from a past meeting">
    ### Parameters

    <ResponseField name="meeting_id" type="string" required>
      The meeting ID
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "ParticipantItem": {
          "additionalProperties": false,
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "user_email": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "User Email"
            },
            "join_time": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Join Time"
            },
            "leave_time": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Leave Time"
            },
            "duration": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Duration"
            }
          },
          "title": "ParticipantItem",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "participants": {
          "items": {
            "$ref": "#/$defs/ParticipantItem"
          },
          "title": "Participants",
          "type": "array"
        },
        "total_records": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total Records"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListPastMeetingParticipantsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_user — Create a new user in your Zoom account">
    ### Parameters

    <ResponseField name="action" type="string" required>
      How to create the user: create, autoCreate, custCreate, ssoCreate
    </ResponseField>

    <ResponseField name="email" type="string" required>
      User's email address
    </ResponseField>

    <ResponseField name="type" type="integer" required>
      User type: 1 - Basic, 2 - Licensed, 3 - On-prem
    </ResponseField>

    <ResponseField name="first_name" type="string">
      User's first name
    </ResponseField>

    <ResponseField name="last_name" type="string">
      User's last name
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Email"
        },
        "first_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "First Name"
        },
        "last_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Name"
        },
        "type": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Type"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateUserOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="delete_user — Disassociate or permanently delete a user from the account">
    ### Parameters

    <ResponseField name="user_id" type="string" required>
      The user ID or email address
    </ResponseField>

    <ResponseField name="action" type="string">
      Delete action: disassociate or delete
    </ResponseField>

    <ResponseField name="transfer_email" type="string">
      Email to transfer resources to
    </ResponseField>

    <ResponseField name="transfer_meeting" type="boolean">
      Transfer meetings to the transfer\_email user
    </ResponseField>

    <ResponseField name="transfer_webinar" type="boolean">
      Transfer webinars to the transfer\_email user
    </ResponseField>

    <ResponseField name="transfer_recording" type="boolean">
      Transfer recordings to the transfer\_email user
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        }
      },
      "required": [
        "success"
      ],
      "title": "DeleteUserOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_webinar_details — Get details of a scheduled webinar">
    ### Parameters

    <ResponseField name="webinar_id" type="string" required>
      The webinar ID
    </ResponseField>

    <ResponseField name="occurrence_id" type="string">
      Unique identifier for an occurrence of a recurring webinar
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "uuid": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uuid"
        },
        "topic": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Topic"
        },
        "type": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Type"
        },
        "start_time": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Start Time"
        },
        "duration": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Duration"
        },
        "timezone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Timezone"
        },
        "join_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Join Url"
        },
        "host_email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Host Email"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetWebinarDetailsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_webinar — Update a webinar's topic, start time, or other settings">
    ### Parameters

    <ResponseField name="webinar_id" type="string" required>
      The Zoom webinar ID to update
    </ResponseField>

    <ResponseField name="topic" type="string">
      Webinar topic
    </ResponseField>

    <ResponseField name="type" type="integer">
      Webinar type: 5 - Webinar, 6 - Recurring no fixed time, 9 - Recurring fixed time
    </ResponseField>

    <ResponseField name="start_time" type="string">
      Webinar start time
    </ResponseField>

    <ResponseField name="duration" type="integer">
      Webinar duration in minutes
    </ResponseField>

    <ResponseField name="timezone" type="string">
      Time zone for start\_time
    </ResponseField>

    <ResponseField name="password" type="string">
      Password to join the webinar, max 10 characters
    </ResponseField>

    <ResponseField name="agenda" type="string">
      Webinar description/agenda
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateWebinarOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="add_webinar_registrant — Register a participant for a webinar">
    ### Parameters

    <ResponseField name="webinar_id" type="string" required>
      The webinar ID
    </ResponseField>

    <ResponseField name="email" type="string" required>
      A valid email address of the registrant
    </ResponseField>

    <ResponseField name="first_name" type="string" required>
      Registrant's first name
    </ResponseField>

    <ResponseField name="last_name" type="string" required>
      Registrant's last name
    </ResponseField>

    <ResponseField name="occurrence_ids" type="string">
      Occurrence IDs, multiple values separated by comma
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "RegistrantResponse": {
          "additionalProperties": false,
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "registrant_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Registrant Id"
            },
            "start_time": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Start Time"
            },
            "join_url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Join Url"
            },
            "topic": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Topic"
            }
          },
          "title": "RegistrantResponse",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "registrant": {
          "anyOf": [
            {
              "$ref": "#/$defs/RegistrantResponse"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "AddWebinarRegistrantOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_webinar_participants_report — Retrieve detailed report on each webinar attendee. Reports available for the last 6 months.">
    ### Parameters

    <ResponseField name="webinar_id" type="string" required>
      The webinar ID
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "ParticipantItem": {
          "additionalProperties": false,
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "user_email": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "User Email"
            },
            "join_time": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Join Time"
            },
            "leave_time": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Leave Time"
            },
            "duration": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Duration"
            }
          },
          "title": "ParticipantItem",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "participants": {
          "items": {
            "$ref": "#/$defs/ParticipantItem"
          },
          "title": "Participants",
          "type": "array"
        },
        "total_records": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total Records"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListWebinarParticipantsReportOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_past_webinar_qa — List Q&A from a past webinar">
    ### Parameters

    <ResponseField name="webinar_id" type="string" required>
      The Zoom webinar ID
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "QaItem": {
          "additionalProperties": false,
          "properties": {
            "question": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Question"
            },
            "answer": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Answer"
            },
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "email": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Email"
            }
          },
          "title": "QaItem",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "questions": {
          "items": {
            "$ref": "#/$defs/QaItem"
          },
          "title": "Questions",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListPastWebinarQaOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Limits & Quotas

* **Rate limits**: Zoom enforces per-second and daily rate limits that vary by plan and endpoint. Typical limits are 10 requests/second for most endpoints.
* **Meeting creation**: Maximum 100 meetings per user per day.
* **Recordings**: Cloud recording storage depends on the plan tier.
* **Reports**: Webinar participant reports are available for the last 6 months only.
* **Error model**: Non-2xx responses and timeouts are caught and returned as `success=False` + `error` rather than raising.

## Related integrations

<CardGroup cols={3}>
  <Card title="Google Meet" href="/integrations/tools/google-meet" />

  <Card title="Microsoft Teams" href="/integrations/tools/microsoft-teams" />

  <Card title="AgentMail" href="/integrations/tools/agentmail" />
</CardGroup>

## Links

* [Zoom](https://zoom.us)
