List Meetings
zoom.list_meetings
ActionChat & messagingconnection required
Calls the Zoom API with the connection's credentials.
Page through a host's meetings — scheduled, live or already held.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- OAuth 2.0
- Providers
- Zoom
- Secret shape
- {"account_id", "client_id", "client_secret"} — Server-to-Server OAuth
- Config it needs
- account_id
- Resolved by
- config.connection_id, else node.connection_id
Configuration
7 fields, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
user_id A Zoom user id or email address. Leave blank for 'me', the user the Server-to-Server app acts as. | string | No | me | — | — |
type Which meetings to list. previous_meetings and upcoming_meetings also include the occurrences of recurring meetings. | string | No | scheduled | one of "scheduled", "live", "upcoming", "upcoming_meetings", "previous_meetings" | — |
from_date Start of the window, yyyy-MM-dd. Sent to Zoom as 'from'; only used with type previous_meetings or upcoming_meetings. | string | No | — | — | — |
to_date End of the window, yyyy-MM-dd. Sent to Zoom as 'to'. At most one month after from_date. | string | Conditional | — | only with from_date | — |
timezone Timezone the from/to dates are read in. | string | Conditional | — | only with from_date | — |
page_size How many rows to return on this page (1-300). | number | No | 30 | 1–300 | — |
next_page_token The next_page_token from a previous page. Zoom expires it after 15 minutes. | string | No | — | — | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"page_size": 30,
"type": "scheduled",
"user_id": "me"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
meetings[].id The meeting number, as a string. | string | — |
meetings[].uuid This instance's UUID — a new one per occurrence. | string | — |
meetings[].topic The meeting's topic. | string | — |
meetings[].type 1 instant, 2 scheduled, 3 recurring no fixed time, 8 recurring. | number | — |
meetings[].start_time Scheduled start, as Zoom returned it. | string | — |
meetings[].duration Scheduled length in minutes. | number | — |
meetings[].timezone The timezone the start_time is read in. | string | — |
meetings[].join_url Link participants use to join. | string | — |
meetings[].agenda The meeting's description. | string | — |
meetings[].host_id The host's Zoom user id. | string | — |
meetings[].created_at When the meeting was created. | string | — |
count How many rows this page carries. | number | — |
next_page_token Token for the next page, or empty when done. Expires after 15 minutes. | string | — |
total_records How many records Zoom reports across all pages. | number | — |
page_size The page size Zoom actually applied. | number | — |
{
"count": 0,
"meetings": [
{
"agenda": "",
"created_at": "",
"duration": 0,
"host_id": "",
"id": "",
"join_url": "",
"start_time": "",
"timezone": "",
"topic": "",
"type": 0,
"uuid": ""
}
],
"next_page_token": "",
"page_size": 0,
"total_records": 0
}Notes
- type 'scheduled' does not mean 'upcoming': it lists every non-recurring scheduled meeting the host has, past ones included.
See List Meetings run in a workflow.
In a technical demo we add the Zoom connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.