List Past Participants
zoom.list_past_participants
ActionChat & messagingconnection required
Calls the Zoom API with the connection's credentials.
Page through who actually attended one ended meeting instance.
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
3 fields, 1 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 |
|---|---|---|---|---|---|
meeting_uuid The UUID of the ended instance, not the meeting number — every occurrence has its own. Take it from a meeting.ended webhook or from list_meetings. | string | Yes | — | — | 4444AAAiAAAAAiAiAiiAii== |
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.
{
"meeting_uuid": "4444AAAiAAAAAiAiAiiAii==",
"page_size": 30
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
participants[].id The participant's Zoom user id, empty for a guest. | string | — |
participants[].name The display name they joined under. | string | — |
participants[].user_email Their email, when Zoom knows it. | string | — |
participants[].join_time When they joined. | string | — |
participants[].leave_time When they left. | string | — |
participants[].duration Seconds they were in the meeting. | number | — |
participants[].registrant_id Their registrant id, when the meeting had registration. | string | — |
participants[].status in_meeting or in_waiting_room. | 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,
"next_page_token": "",
"page_size": 0,
"participants": [
{
"duration": 0,
"id": "",
"join_time": "",
"leave_time": "",
"name": "",
"registrant_id": "",
"status": "",
"user_email": ""
}
],
"total_records": 0
}Notes
- Somebody who rejoined appears once per session, so count distinct emails rather than rows when you want attendee numbers.
- Needs a Pro plan or above — Zoom answers 200 with an empty list on plans that do not carry reporting.
See List Past Participants 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.