Use Zoom to manage meetings, retrieve invitations and recordings, and list past participants. Meeting and recording webhooks can start workflows.
Connect a Zoom account from the block or Integrations in your workspace sidebar. For account-level authentication, follow the Server-to-Server OAuth setup . Manage or disconnect the saved credential from Integrations .
Connection guides: Server-to-server OAuth apps .
Sim requests these scopes when someone connects a Zoom account. For a self-hosted deployment, register your own app with the provider using the settings below. See Integrations and OAuth for setup.
Setting Value Redirect URI <NEXT_PUBLIC_APP_URL>/api/auth/oauth2/callback/zoomEnvironment variables ZOOM_CLIENT_ID, ZOOM_CLIENT_SECRET
Scope Description user:read:userView Zoom profile information meeting:write:meetingCreate Zoom meetings meeting:read:meetingView Zoom meeting details meeting:read:list_meetingsList Zoom meetings meeting:update:meetingUpdate Zoom meetings meeting:delete:meetingDelete Zoom meetings meeting:read:invitationView Zoom meeting invitations meeting:read:list_past_participantsView past meeting participants cloud_recording:read:list_user_recordingsList Zoom cloud recordings cloud_recording:read:list_recording_filesView recording files cloud_recording:delete:recording_fileDelete individual cloud recording files
Create, read, update, or delete meetings; retrieve invitations, cloud recordings, and past participants; or delete recordings. Meeting and recording webhooks can start workflows.
Create a new Zoom meeting
Inputs and outputsParameter Type Required Description userIdstring Yes The user ID or email address (e.g., "me", "user@example.com ", or "AbcDefGHi"). Use "me" for the authenticated user with OAuth credentials. With a Zoom server-to-server service account, "me" is not supported — provide the target user ID or email address. topicstring Yes Meeting topic (e.g., "Weekly Team Standup" or "Project Review") typenumber No Meeting type: 1=instant, 2=scheduled, 3=recurring no fixed time, 8=recurring fixed time startTimestring No Meeting start time in ISO 8601 format (e.g., 2025-06-03T10:00:00Z) durationnumber No Meeting duration in minutes (e.g., 30, 60, 90) timezonestring No Timezone for the meeting (e.g., America/Los_Angeles) passwordstring No Meeting password agendastring No Meeting agenda or description text hostVideoboolean No Start with host video on participantVideoboolean No Start with participant video on joinBeforeHostboolean No Allow participants to join before host muteUponEntryboolean No Mute participants upon entry waitingRoomboolean No Enable waiting room autoRecordingstring No Auto recording setting: local, cloud, or none
Parameter Type Description meetingobject The created meeting with all its properties ↳ id number Meeting ID ↳ uuid string Meeting UUID ↳ host_id string Host user ID ↳ host_email string Host email address ↳ topic string Meeting topic ↳ type number Meeting type: 1=instant, 2=scheduled, 3=recurring no fixed time, 8=recurring fixed time ↳ status string Meeting status (e.g., waiting, started) ↳ start_time string Start time in ISO 8601 format ↳ duration number Duration in minutes ↳ timezone string Timezone (e.g., America/Los_Angeles) ↳ agenda string Meeting agenda ↳ created_at string Creation timestamp in ISO 8601 format ↳ start_url string URL for host to start the meeting ↳ join_url string URL for participants to join the meeting ↳ password string Meeting password ↳ h323_password string H.323/SIP room system password ↳ pstn_password string PSTN password for phone dial-in ↳ encrypted_password string Encrypted password for joining ↳ settings object Meeting settings ↳ host_video boolean Start with host video on ↳ participant_video boolean Start with participant video on ↳ join_before_host boolean Allow participants to join before host ↳ mute_upon_entry boolean Mute participants upon entry ↳ watermark boolean Add watermark when viewing shared screen ↳ audio string Audio options: both, telephony, or voip ↳ auto_recording string Auto recording: local, cloud, or none ↳ waiting_room boolean Enable waiting room ↳ meeting_authentication boolean Require meeting authentication ↳ approval_type number Approval type: 0=auto, 1=manual, 2=none ↳ recurrence object Recurrence settings for recurring meetings ↳ type number Recurrence type: 1=daily, 2=weekly, 3=monthly ↳ repeat_interval number Interval between recurring meetings ↳ weekly_days string Days of week for weekly recurrence (1-7, comma-separated) ↳ monthly_day number Day of month for monthly recurrence ↳ monthly_week number Week of month for monthly recurrence ↳ monthly_week_day number Day of week for monthly recurrence ↳ end_times number Number of occurrences ↳ end_date_time string End date time in ISO 8601 format ↳ occurrences array Meeting occurrences for recurring meetings ↳ occurrence_id string Occurrence ID ↳ start_time string Start time in ISO 8601 format ↳ duration number Duration in minutes ↳ status string Occurrence status
List all meetings for a Zoom user
Inputs and outputsParameter Type Required Description userIdstring Yes The user ID or email address (e.g., "me", "user@example.com ", or "AbcDefGHi"). Use "me" for the authenticated user with OAuth credentials. With a Zoom server-to-server service account, "me" is not supported — provide the target user ID or email address. typestring No Meeting type filter: scheduled, live, upcoming, upcoming_meetings, or previous_meetings pageSizenumber No Number of records per page, 1-300 (e.g., 30, 50, 100) nextPageTokenstring No Token for pagination to get next page of results
Parameter Type Description meetingsarray List of meetings ↳ id number Meeting ID ↳ uuid string Meeting UUID ↳ host_id string Host user ID ↳ topic string Meeting topic ↳ type number Meeting type ↳ start_time string Start time in ISO 8601 format ↳ duration number Duration in minutes ↳ timezone string Timezone ↳ agenda string Meeting agenda ↳ created_at string Creation timestamp ↳ join_url string URL for participants to join pageInfoobject Pagination information ↳ pageCount number Total number of pages ↳ pageNumber number Current page number ↳ pageSize number Number of records per page ↳ totalRecords number Total number of records ↳ nextPageToken string Token for next page of results
Get details of a specific Zoom meeting
Inputs and outputsParameter Type Required Description meetingIdstring Yes The meeting ID (e.g., "1234567890" or "85746065432") occurrenceIdstring No Occurrence ID for recurring meetings showPreviousOccurrencesboolean No Show previous occurrences for recurring meetings
Parameter Type Description meetingobject The meeting details ↳ id number Meeting ID ↳ uuid string Meeting UUID ↳ host_id string Host user ID ↳ host_email string Host email address ↳ topic string Meeting topic ↳ type number Meeting type: 1=instant, 2=scheduled, 3=recurring no fixed time, 8=recurring fixed time ↳ status string Meeting status (e.g., waiting, started) ↳ start_time string Start time in ISO 8601 format ↳ duration number Duration in minutes ↳ timezone string Timezone (e.g., America/Los_Angeles) ↳ agenda string Meeting agenda ↳ created_at string Creation timestamp in ISO 8601 format ↳ start_url string URL for host to start the meeting ↳ join_url string URL for participants to join the meeting ↳ password string Meeting password ↳ h323_password string H.323/SIP room system password ↳ pstn_password string PSTN password for phone dial-in ↳ encrypted_password string Encrypted password for joining ↳ settings object Meeting settings ↳ host_video boolean Start with host video on ↳ participant_video boolean Start with participant video on ↳ join_before_host boolean Allow participants to join before host ↳ mute_upon_entry boolean Mute participants upon entry ↳ watermark boolean Add watermark when viewing shared screen ↳ audio string Audio options: both, telephony, or voip ↳ auto_recording string Auto recording: local, cloud, or none ↳ waiting_room boolean Enable waiting room ↳ meeting_authentication boolean Require meeting authentication ↳ approval_type number Approval type: 0=auto, 1=manual, 2=none ↳ recurrence object Recurrence settings for recurring meetings ↳ type number Recurrence type: 1=daily, 2=weekly, 3=monthly ↳ repeat_interval number Interval between recurring meetings ↳ weekly_days string Days of week for weekly recurrence (1-7, comma-separated) ↳ monthly_day number Day of month for monthly recurrence ↳ monthly_week number Week of month for monthly recurrence ↳ monthly_week_day number Day of week for monthly recurrence ↳ end_times number Number of occurrences ↳ end_date_time string End date time in ISO 8601 format ↳ occurrences array Meeting occurrences for recurring meetings ↳ occurrence_id string Occurrence ID ↳ start_time string Start time in ISO 8601 format ↳ duration number Duration in minutes ↳ status string Occurrence status
Update an existing Zoom meeting
Inputs and outputsParameter Type Required Description meetingIdstring Yes The meeting ID to update (e.g., "1234567890" or "85746065432") topicstring No Meeting topic (e.g., "Weekly Team Standup" or "Project Review") typenumber No Meeting type: 1=instant, 2=scheduled, 3=recurring no fixed time, 8=recurring fixed time startTimestring No Meeting start time in ISO 8601 format (e.g., 2025-06-03T10:00:00Z) durationnumber No Meeting duration in minutes (e.g., 30, 60, 90) timezonestring No Timezone for the meeting (e.g., America/Los_Angeles) passwordstring No Meeting password agendastring No Meeting agenda or description text hostVideoboolean No Start with host video on participantVideoboolean No Start with participant video on joinBeforeHostboolean No Allow participants to join before host muteUponEntryboolean No Mute participants upon entry waitingRoomboolean No Enable waiting room autoRecordingstring No Auto recording setting: local, cloud, or none
Parameter Type Description successboolean Whether the meeting was updated successfully
Delete or cancel a Zoom meeting
Inputs and outputsParameter Type Required Description meetingIdstring Yes The meeting ID to delete (e.g., "1234567890" or "85746065432") occurrenceIdstring No Occurrence ID for deleting a specific occurrence of a recurring meeting scheduleForReminderboolean No Send cancellation reminder email to registrants cancelMeetingReminderboolean No Send cancellation email to registrants and alternative hosts
Parameter Type Description successboolean Whether the meeting was deleted successfully
Get the meeting invitation text for a Zoom meeting
Inputs and outputsParameter Type Required Description meetingIdstring Yes The meeting ID (e.g., "1234567890" or "85746065432")
Parameter Type Description invitationstring The meeting invitation text
List all cloud recordings for a Zoom user
Inputs and outputsParameter Type Required Description userIdstring Yes The user ID or email address (e.g., "me", "user@example.com ", or "AbcDefGHi"). Use "me" for the authenticated user with OAuth credentials. With a Zoom server-to-server service account, "me" is not supported — provide the target user ID or email address. fromstring No Start date in yyyy-mm-dd format (within last 6 months) tostring No End date in yyyy-mm-dd format pageSizenumber No Number of records per page, 1-300 (e.g., 30, 50, 100) nextPageTokenstring No Token for pagination to get next page of results trashboolean No Set to true to list recordings from trash
Parameter Type Description recordingsarray List of recordings ↳ uuid string Meeting UUID ↳ id number Meeting ID ↳ account_id string Account ID ↳ host_id string Host user ID ↳ topic string Meeting topic ↳ type number Meeting type ↳ start_time string Meeting start time ↳ duration number Meeting duration in minutes ↳ total_size number Total size of all recordings in bytes ↳ recording_count number Number of recording files ↳ share_url string URL to share recordings ↳ recording_files array List of recording files ↳ id string Recording file ID ↳ meeting_id string Meeting ID associated with the recording ↳ recording_start string Start time of the recording ↳ recording_end string End time of the recording ↳ file_type string Type of recording file (MP4, M4A, etc.) ↳ file_extension string File extension ↳ file_size number File size in bytes ↳ play_url string URL to play the recording ↳ download_url string URL to download the recording ↳ status string Recording status ↳ recording_type string Type of recording (shared_screen, audio_only, etc.) pageInfoobject Pagination information ↳ from string Start date of query range ↳ to string End date of query range ↳ pageSize number Number of records per page ↳ totalRecords number Total number of records ↳ nextPageToken string Token for next page of results
Get all recordings for a specific Zoom meeting
Inputs and outputsParameter Type Required Description meetingIdstring Yes The meeting ID or meeting UUID (e.g., "1234567890" or "4444AAABBBccccc12345==") includeFolderItemsboolean No Include items within a folder ttlnumber No Time to live for download URLs in seconds (max 604800) downloadFilesboolean No Download recording files into file outputs
Parameter Type Description recordingobject The meeting recording with all files ↳ uuid string Meeting UUID ↳ id number Meeting ID ↳ account_id string Account ID ↳ host_id string Host user ID ↳ topic string Meeting topic ↳ type number Meeting type ↳ start_time string Meeting start time ↳ duration number Meeting duration in minutes ↳ total_size number Total size of all recordings in bytes ↳ recording_count number Number of recording files ↳ share_url string URL to share recordings ↳ recording_files array List of recording files ↳ id string Recording file ID ↳ meeting_id string Meeting ID associated with the recording ↳ recording_start string Start time of the recording ↳ recording_end string End time of the recording ↳ file_type string Type of recording file (MP4, M4A, etc.) ↳ file_extension string File extension ↳ file_size number File size in bytes ↳ play_url string URL to play the recording ↳ download_url string URL to download the recording ↳ status string Recording status ↳ recording_type string Type of recording (shared_screen, audio_only, etc.) filesfile[] Downloaded recording files
Delete cloud recordings for a Zoom meeting
Inputs and outputsParameter Type Required Description meetingIdstring Yes The meeting ID or meeting UUID (e.g., "1234567890" or "4444AAABBBccccc12345==") recordingIdstring No Specific recording file ID to delete. If not provided, deletes all recordings. actionstring No Delete action: "trash" (move to trash) or "delete" (permanently delete)
Parameter Type Description successboolean Whether the recording was deleted successfully
List participants from a past Zoom meeting
Inputs and outputsParameter Type Required Description meetingIdstring Yes The past meeting ID or UUID (e.g., "1234567890" or "4444AAABBBccccc12345==") pageSizenumber No Number of records per page, 1-300 (e.g., 30, 50, 100) nextPageTokenstring No Token for pagination to get next page of results
Parameter Type Description participantsarray List of meeting participants ↳ id string Participant unique identifier ↳ user_id string User ID if registered Zoom user ↳ name string Participant display name ↳ user_email string Participant email address ↳ join_time string Time when participant joined (ISO 8601) ↳ leave_time string Time when participant left (ISO 8601) ↳ duration number Duration in seconds participant was in meeting ↳ attentiveness_score string Attentiveness score (deprecated) ↳ failover boolean Whether participant failed over to another data center ↳ status string Participant status pageInfoobject Pagination information ↳ pageSize number Number of records per page ↳ totalRecords number Total number of records ↳ nextPageToken string Token for next page of results
A trigger starts a workflow when a supported event occurs in this service.
Trigger workflow when a Zoom meeting ends
Configuration and outputsParameter Type Required Description secretTokenstring Yes Found in your Zoom app's Features page. Required for endpoint validation and webhook signature verification.
Parameter Type Description eventstring The webhook event type (e.g., meeting.started) event_tsnumber Unix timestamp in milliseconds when the event occurred payloadobject ↳ account_id string Zoom account ID ↳ object object Meeting details (shape aligns with Zoom Meetings webhook object fields) ↳ id number Meeting ID ↳ uuid string Meeting UUID ↳ topic string Meeting topic ↳ meeting_type number Meeting type (1=instant, 2=scheduled, etc.; maps to Zoom type) ↳ host_id string Host user ID ↳ host_email string Host email address (when provided by Zoom) ↳ start_time string Meeting start time (ISO 8601) ↳ end_time string Meeting end time (ISO 8601, present on meeting.ended) ↳ timezone string Meeting timezone ↳ duration number Meeting duration in minutes ↳ agenda string Meeting agenda or description (when provided) ↳ join_url string URL for participants to join (when provided) ↳ password string Meeting password (when provided) ↳ status string Meeting status (e.g. waiting, started; when provided) ↳ created_at string Creation timestamp in ISO 8601 format (when provided)
Trigger workflow when a Zoom meeting starts
Configuration and outputsParameter Type Required Description secretTokenstring Yes Found in your Zoom app's Features page. Required for endpoint validation and webhook signature verification.
Parameter Type Description eventstring The webhook event type (e.g., meeting.started) event_tsnumber Unix timestamp in milliseconds when the event occurred payloadobject ↳ account_id string Zoom account ID ↳ object object Meeting details (shape aligns with Zoom Meetings webhook object fields) ↳ id number Meeting ID ↳ uuid string Meeting UUID ↳ topic string Meeting topic ↳ meeting_type number Meeting type (1=instant, 2=scheduled, etc.; maps to Zoom type) ↳ host_id string Host user ID ↳ host_email string Host email address (when provided by Zoom) ↳ start_time string Meeting start time (ISO 8601) ↳ end_time string Meeting end time (ISO 8601, present on meeting.ended) ↳ timezone string Meeting timezone ↳ duration number Meeting duration in minutes ↳ agenda string Meeting agenda or description (when provided) ↳ join_url string URL for participants to join (when provided) ↳ password string Meeting password (when provided) ↳ status string Meeting status (e.g. waiting, started; when provided) ↳ created_at string Creation timestamp in ISO 8601 format (when provided)
Trigger workflow when a participant joins a Zoom meeting
Parameter Type Required Description secretTokenstring Yes Found in your Zoom app's Features page. Required for endpoint validation and webhook signature verification.
Parameter Type Description eventstring The webhook event type (e.g., meeting.participant_joined) event_tsnumber Unix timestamp in milliseconds when the event occurred payloadobject ↳ account_id string Zoom account ID ↳ object object Meeting and participant details ↳ id number Meeting ID ↳ uuid string Meeting UUID ↳ topic string Meeting topic ↳ host_id string Host user ID ↳ join_url string URL for participants to join (when provided) ↳ participant object Participant details ↳ id string Participant identifier ↳ user_id string Participant user ID (when a Zoom user) ↳ user_name string Participant display name ↳ email string Participant email (when available) ↳ join_time string Time participant joined (ISO 8601) ↳ leave_time string Time participant left (ISO 8601, present on participant_left) ↳ duration number Seconds the participant was in the meeting (when provided)
Trigger workflow when a participant leaves a Zoom meeting
Parameter Type Required Description secretTokenstring Yes Found in your Zoom app's Features page. Required for endpoint validation and webhook signature verification.
Parameter Type Description eventstring The webhook event type (e.g., meeting.participant_joined) event_tsnumber Unix timestamp in milliseconds when the event occurred payloadobject ↳ account_id string Zoom account ID ↳ object object Meeting and participant details ↳ id number Meeting ID ↳ uuid string Meeting UUID ↳ topic string Meeting topic ↳ host_id string Host user ID ↳ join_url string URL for participants to join (when provided) ↳ participant object Participant details ↳ id string Participant identifier ↳ user_id string Participant user ID (when a Zoom user) ↳ user_name string Participant display name ↳ email string Participant email (when available) ↳ join_time string Time participant joined (ISO 8601) ↳ leave_time string Time participant left (ISO 8601, present on participant_left) ↳ duration number Seconds the participant was in the meeting (when provided)
Trigger workflow when a Zoom cloud recording is completed
Parameter Type Required Description secretTokenstring Yes Found in your Zoom app's Features page. Required for endpoint validation and webhook signature verification.
Parameter Type Description eventstring The webhook event type (recording.completed) event_tsnumber Unix timestamp in milliseconds when the event occurred payloadobject ↳ account_id string Zoom account ID ↳ object object Cloud recording details (aligns with Zoom cloud recording objects) ↳ id number Meeting ID ↳ uuid string Meeting UUID ↳ topic string Meeting topic ↳ meeting_type number Meeting type (when provided; maps to Zoom type) ↳ host_id string Host user ID ↳ host_email string Host email ↳ start_time string Recording start time (ISO 8601) ↳ timezone string Meeting timezone (when provided) ↳ agenda string Meeting agenda (when provided) ↳ duration number Recording duration in minutes ↳ total_size number Total recording size in bytes ↳ recording_count number Number of recording files ↳ share_url string URL to share the recording ↳ recording_files json Array of recording file objects (e.g. id, file_type, play_url, download_url) per Zoom cloud recording payloads
Trigger workflow on any Zoom webhook event
Parameter Type Required Description secretTokenstring Yes Found in your Zoom app's Features page. Required for endpoint validation and webhook signature verification.
Parameter Type Description eventstring The webhook event type (e.g., meeting.started, recording.completed) event_tsnumber Unix timestamp in milliseconds when the event occurred payloadjson Complete webhook payload (structure varies by event type)