List User Recordings
zoom.list_user_recordings
ActionChat & messagingconnection required
Calls the Zoom API with the connection's credentials.
Page through everything one host recorded in a date window.
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 | — | — |
from_date Start of the window, yyyy-MM-dd. Sent to Zoom as 'from'. Blank means the last month. | string | No | — | — | — |
to_date End of the window, yyyy-MM-dd. Sent to Zoom as 'to'. Zoom refuses a window longer than a month. | string | Conditional | — | only with from_date | — |
trash List deleted recordings still in the trash instead of live ones. | boolean | No | false | — | — |
trash_type Which trash to read: whole meetings, or individual files. | string | Conditional | meeting_recordings | one of "meeting_recordings", "recording_file"; only with trash | — |
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. Expires after 15 minutes. | string | No | — | — | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"page_size": 30,
"trash": false,
"trash_type": "meeting_recordings",
"user_id": "me"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
meetings[].id The meeting number the recording belongs to, as a string. | string | — |
meetings[].uuid The recorded instance's UUID. | string | — |
meetings[].topic The meeting's topic. | string | — |
meetings[].start_time When the recorded instance started. | string | — |
meetings[].duration Recorded length in minutes. | number | — |
meetings[].total_size Total bytes across every file. | number | — |
meetings[].recording_count How many files the instance produced. | number | — |
meetings[].recording_files The files themselves — see recording_files[]. | array | — |
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": [
{
"duration": 0,
"id": "",
"recording_count": 0,
"recording_files": [],
"start_time": "",
"topic": "",
"total_size": 0,
"uuid": ""
}
],
"next_page_token": "",
"page_size": 0,
"total_records": 0
}Notes
- The window is capped at one month; a wider from/to is refused rather than truncated, so walk longer periods a month at a time.
- Zoom keeps trashed recordings for 30 days, and this is the only way to see them — pass trash to look.
See List User Recordings 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.