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.

FieldTypeRequiredDefaultConstraintsExample
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.
stringYes——81234567890
topic
New topic. Supports {{ }}.
stringNo——Kickoff — moved to Thursday
agenda
New description.
stringNo———
start_time
New start. Ending in Z is GMT; without a zone it is wall-clock time in 'timezone'.
stringNo—iso8601 format—
timezone
Timezone the start_time is read in, e.g. America/New_York. Only meaningful when start_time has no trailing Z.
stringConditional—only with start_time—
duration
New length in minutes (1-1440).
numberNo—1–1440—
password
New passcode.
stringNo—credential materialcredential
settings
Zoom settings to merge, as JSON — e.g. {"join_before_host": true}.
objectNo——{"join_before_host":true}
occurrence_id
One occurrence of a recurring meeting. Leave blank to act on the series.
stringNo———
  • 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

FieldTypeExample
ok
True when Zoom accepted the change.
booleantrue
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.