Update Message

zulip.update_message
ActionChat & messagingconnection required

Calls the Zulip API with the connection's credentials.

Edit a message's content, change its topic, or move it to another channel.

Connection

Required
Yes — the node will not save without one
Auth type
Username & password
Providers
Zulip
Secret shape
{"email": "…", "api_key": "…"} — HTTP Basic, email as the username
Config it needs
base_url
Resolved by
config.connection_id, else node.connection_id

Configuration

5 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
message_id
The message to act on, as returned by zulip.send_message or zulip.get_messages.
stringYes——42
content
Replacement body for the message, in Zulip's Markdown format.
stringNo——Deploy finished — release 2026.09 is live (edited).
topic
A new topic for the message, within its channel.
stringNo——deploys
stream_id
Id of the channel to move the message to.
stringNo——2
propagate_mode
Whether a topic or channel change applies to this message only, to it and later ones, or to the whole topic.
stringNochange_oneone of "change_one", "change_later", "change_all"—
  • At least one of content, topic, stream_id must be set.

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "content": "Deploy finished — release 2026.09 is live (edited).",
  "message_id": "42",
  "propagate_mode": "change_one",
  "stream_id": "2",
  "topic": "deploys"
}

Output

One shape.

result

FieldTypeExample
message_id
The message that was updated.
number—
result
Zulip's result field.
string—
detached_uploads
Uploads the edit left with no message.
array—
{
  "detached_uploads": [],
  "message_id": 0,
  "result": ""
}

See Update Message run in a workflow.

In a technical demo we add the Zulip connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.