Update Meeting
zoom.update_meeting
ActionChat & messagingconnection required
Calls the Zoom API with the connection's credentials.
Change a scheduled meeting — its time, topic, length or settings.
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
9 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_id The meeting number, as a string — an int64 read as a number loses digits. The spaced form Zoom's UI shows ('812 3456 7890') is accepted. | string | Yes | — | — | 81234567890 |
topic New topic. Supports {{ }}. | string | No | — | — | Kickoff — moved to Thursday |
agenda New description. | string | No | — | — | — |
start_time New start. Ending in Z is GMT; without a zone it is wall-clock time in 'timezone'. | string | No | — | iso8601 format | — |
timezone Timezone the start_time is read in, e.g. America/New_York. Only meaningful when start_time has no trailing Z. | string | Conditional | — | only with start_time | — |
duration New length in minutes (1-1440). | number | No | — | 1–1440 | — |
password New passcode. | string | No | — | credential material | credential |
settings Zoom settings to merge, as JSON — e.g. {"join_before_host": true}. | object | No | — | — | {"join_before_host":true} |
occurrence_id One occurrence of a recurring meeting. Leave blank to act on the series. | string | No | — | — | — |
- At least one of topic, agenda, start_time, timezone, duration, password, settings must be set.
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"meeting_id": "81234567890",
"settings": {
"join_before_host": true
},
"topic": "Kickoff — moved to Thursday"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
ok True when Zoom accepted the change. | boolean | true |
id The meeting number that was updated. | string | — |
updated The config keys that were actually sent. | array | — |
{
"id": "",
"ok": true,
"updated": []
}Notes
- start_time has two forms and they mean different things: ending in Z (2026-09-01T15:00:00Z) is GMT and timezone is ignored; without a zone (2026-09-01T15:00:00) it is wall-clock time in timezone, and a blank timezone means the Zoom account's timezone — not UTC. An offset like +05:30 is neither form and Zoom will not read it as you intend.
- Zoom answers 204 with no body, so this node reports what it sent rather than the new meeting; follow it with Get Meeting to read the result back.
- settings is merged, not replaced — keys you leave out keep their current value.
See Update Meeting 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.