List Webinars
zoom.list_webinars
ActionChat & messagingconnection required
Calls the Zoom API with the connection's credentials.
Page through the webinars scheduled by one host.
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
4 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 scheduled lists every webinar the host has; upcoming only future ones. | string | No | scheduled | one of "scheduled", "upcoming" | — |
page_size How many rows to return on this page (1-300). | number | No | 30 | 1–300 | — |
page_number Which page to read, counting from 1. | number | No | 1 | 1–100000 | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"page_number": 1,
"page_size": 30,
"type": "scheduled",
"user_id": "me"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
webinars[].id The meeting number, as a string. | string | — |
webinars[].uuid This instance's UUID — a new one per occurrence. | string | — |
webinars[].topic The meeting's topic. | string | — |
webinars[].type 1 instant, 2 scheduled, 3 recurring no fixed time, 8 recurring. | number | — |
webinars[].start_time Scheduled start, as Zoom returned it. | string | — |
webinars[].duration Scheduled length in minutes. | number | — |
webinars[].timezone The timezone the start_time is read in. | string | — |
webinars[].join_url Link participants use to join. | string | — |
webinars[].agenda The meeting's description. | string | — |
webinars[].host_id The host's Zoom user id. | string | — |
webinars[].created_at When the meeting was created. | string | — |
count How many rows this page carries. | number | — |
page_number The page just read. Add one and run again to read the next page — this endpoint pages by number, not by token. | number | — |
page_count How many pages there are in total. | number | — |
next_page_token Zoom returns this field here, but /users/{userId}/webinars does not accept it as a parameter — feeding it back gives you page one again. Page with page_number instead. | string | — |
total_records How many records Zoom reports across all pages. | number | — |
page_size The page size Zoom actually applied. | number | — |
{
"count": 0,
"next_page_token": "",
"page_count": 0,
"page_number": 0,
"page_size": 0,
"total_records": 0,
"webinars": [
{
"agenda": "",
"created_at": "",
"duration": 0,
"host_id": "",
"id": "",
"join_url": "",
"start_time": "",
"timezone": "",
"topic": "",
"type": 0,
"uuid": ""
}
]
}Notes
- This is the one Zoom list endpoint that still pages by page_number: it returns a next_page_token but does not accept one, so increment page_number instead. Read page_count to know when to stop.
See List Webinars 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.