Use Zoom to manage meetings, retrieve invitations and recordings, and list past participants. Meeting and recording webhooks can start workflows.
To connect, add a Zoom block and select Connect. Manage or disconnect the account in Settings > Integrations.
Integrate Zoom into workflows. Create, list, update, and delete Zoom meetings. Get meeting details, invitations, recordings, and participants. Manage cloud recordings programmatically.
Create a new Zoom meeting
| Parameter | Type | Required | Description |
|---|
userId | string | 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. |
topic | string | Yes | Meeting topic (e.g., "Weekly Team Standup" or "Project Review") |
type | number | No | Meeting type: 1=instant, 2=scheduled, 3=recurring no fixed time, 8=recurring fixed time |
startTime | string | No | Meeting start time in ISO 8601 format (e.g., 2025-06-03T10:00:00Z) |
duration | number | No | Meeting duration in minutes (e.g., 30, 60, 90) |
timezone | string | No | Timezone for the meeting (e.g., America/Los_Angeles) |
password | string | No | Meeting password |
agenda | string | No | Meeting agenda or description text |
hostVideo | boolean | No | Start with host video on |
participantVideo | boolean | No | Start with participant video on |
joinBeforeHost | boolean | No | Allow participants to join before host |
muteUponEntry | boolean | No | Mute participants upon entry |
waitingRoom | boolean | No | Enable waiting room |
autoRecording | string | No | Auto recording setting: local, cloud, or none |
| Parameter | Type | Description |
|---|
meeting | object | 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
| Parameter | Type | Required | Description |
|---|
userId | string | 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. |
type | string | No | Meeting type filter: scheduled, live, upcoming, upcoming_meetings, or previous_meetings |
pageSize | number | No | Number of records per page, 1-300 (e.g., 30, 50, 100) |
nextPageToken | string | No | Token for pagination to get next page of results |
| Parameter | Type | Description |
|---|
meetings | array | 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 |
pageInfo | object | 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
| Parameter | Type | Required | Description |
|---|
meetingId | string | Yes | The meeting ID (e.g., "1234567890" or "85746065432") |
occurrenceId | string | No | Occurrence ID for recurring meetings |
showPreviousOccurrences | boolean | No | Show previous occurrences for recurring meetings |
| Parameter | Type | Description |
|---|
meeting | object | 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
| Parameter | Type | Required | Description |
|---|
meetingId | string | Yes | The meeting ID to update (e.g., "1234567890" or "85746065432") |
topic | string | No | Meeting topic (e.g., "Weekly Team Standup" or "Project Review") |
type | number | No | Meeting type: 1=instant, 2=scheduled, 3=recurring no fixed time, 8=recurring fixed time |
startTime | string | No | Meeting start time in ISO 8601 format (e.g., 2025-06-03T10:00:00Z) |
duration | number | No | Meeting duration in minutes (e.g., 30, 60, 90) |
timezone | string | No | Timezone for the meeting (e.g., America/Los_Angeles) |
password | string | No | Meeting password |
agenda | string | No | Meeting agenda or description text |
hostVideo | boolean | No | Start with host video on |
participantVideo | boolean | No | Start with participant video on |
joinBeforeHost | boolean | No | Allow participants to join before host |
muteUponEntry | boolean | No | Mute participants upon entry |
waitingRoom | boolean | No | Enable waiting room |
autoRecording | string | No | Auto recording setting: local, cloud, or none |
| Parameter | Type | Description |
|---|
success | boolean | Whether the meeting was updated successfully |
Delete or cancel a Zoom meeting
| Parameter | Type | Required | Description |
|---|
meetingId | string | Yes | The meeting ID to delete (e.g., "1234567890" or "85746065432") |
occurrenceId | string | No | Occurrence ID for deleting a specific occurrence of a recurring meeting |
scheduleForReminder | boolean | No | Send cancellation reminder email to registrants |
cancelMeetingReminder | boolean | No | Send cancellation email to registrants and alternative hosts |
| Parameter | Type | Description |
|---|
success | boolean | Whether the meeting was deleted successfully |
Get the meeting invitation text for a Zoom meeting
| Parameter | Type | Required | Description |
|---|
meetingId | string | Yes | The meeting ID (e.g., "1234567890" or "85746065432") |
| Parameter | Type | Description |
|---|
invitation | string | The meeting invitation text |
List all cloud recordings for a Zoom user
| Parameter | Type | Required | Description |
|---|
userId | string | 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. |
from | string | No | Start date in yyyy-mm-dd format (within last 6 months) |
to | string | No | End date in yyyy-mm-dd format |
pageSize | number | No | Number of records per page, 1-300 (e.g., 30, 50, 100) |
nextPageToken | string | No | Token for pagination to get next page of results |
trash | boolean | No | Set to true to list recordings from trash |
| Parameter | Type | Description |
|---|
recordings | array | 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.) |
pageInfo | object | 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
| Parameter | Type | Required | Description |
|---|
meetingId | string | Yes | The meeting ID or meeting UUID (e.g., "1234567890" or "4444AAABBBccccc12345==") |
includeFolderItems | boolean | No | Include items within a folder |
ttl | number | No | Time to live for download URLs in seconds (max 604800) |
downloadFiles | boolean | No | Download recording files into file outputs |
| Parameter | Type | Description |
|---|
recording | object | 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.) |
files | file[] | Downloaded recording files |
Delete cloud recordings for a Zoom meeting
| Parameter | Type | Required | Description |
|---|
meetingId | string | Yes | The meeting ID or meeting UUID (e.g., "1234567890" or "4444AAABBBccccc12345==") |
recordingId | string | No | Specific recording file ID to delete. If not provided, deletes all recordings. |
action | string | No | Delete action: "trash" (move to trash) or "delete" (permanently delete) |
| Parameter | Type | Description |
|---|
success | boolean | Whether the recording was deleted successfully |
List participants from a past Zoom meeting
| Parameter | Type | Required | Description |
|---|
meetingId | string | Yes | The past meeting ID or UUID (e.g., "1234567890" or "4444AAABBBccccc12345==") |
pageSize | number | No | Number of records per page, 1-300 (e.g., 30, 50, 100) |
nextPageToken | string | No | Token for pagination to get next page of results |
| Parameter | Type | Description |
|---|
participants | array | 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 |
pageInfo | object | 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 is a block that starts a workflow when an event happens in this service.
Trigger workflow when a Zoom meeting ends
| Parameter | Type | Required | Description |
|---|
secretToken | string | Yes | Found in your Zoom app's Features page. Required for endpoint validation and webhook signature verification. |
| Parameter | Type | Description |
|---|
event | string | The webhook event type (e.g., meeting.started) |
event_ts | number | Unix timestamp in milliseconds when the event occurred |
payload | object | payload output from the tool |
↳ 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
| Parameter | Type | Required | Description |
|---|
secretToken | string | Yes | Found in your Zoom app's Features page. Required for endpoint validation and webhook signature verification. |
| Parameter | Type | Description |
|---|
event | string | The webhook event type (e.g., meeting.started) |
event_ts | number | Unix timestamp in milliseconds when the event occurred |
payload | object | payload output from the tool |
↳ 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 |
|---|
secretToken | string | Yes | Found in your Zoom app's Features page. Required for endpoint validation and webhook signature verification. |
| Parameter | Type | Description |
|---|
event | string | The webhook event type (e.g., meeting.participant_joined) |
event_ts | number | Unix timestamp in milliseconds when the event occurred |
payload | object | payload output from the tool |
↳ 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 |
|---|
secretToken | string | Yes | Found in your Zoom app's Features page. Required for endpoint validation and webhook signature verification. |
| Parameter | Type | Description |
|---|
event | string | The webhook event type (e.g., meeting.participant_joined) |
event_ts | number | Unix timestamp in milliseconds when the event occurred |
payload | object | payload output from the tool |
↳ 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 |
|---|
secretToken | string | Yes | Found in your Zoom app's Features page. Required for endpoint validation and webhook signature verification. |
| Parameter | Type | Description |
|---|
event | string | The webhook event type (recording.completed) |
event_ts | number | Unix timestamp in milliseconds when the event occurred |
payload | object | payload output from the tool |
↳ 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 |
|---|
secretToken | string | Yes | Found in your Zoom app's Features page. Required for endpoint validation and webhook signature verification. |
| Parameter | Type | Description |
|---|
event | string | The webhook event type (e.g., meeting.started, recording.completed) |
event_ts | number | Unix timestamp in milliseconds when the event occurred |
payload | json | Complete webhook payload (structure varies by event type) |