List Messages

zulip.get_messages
ActionChat & messagingconnection required

Calls the Zulip API with the connection's credentials.

Read a window of messages around an anchor, optionally narrowed.

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, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
anchor
Where the window is centred: a message id, or newest, oldest or first_unread.
stringNonewest—newest
num_before
How many messages older than the anchor to return.
numberNo50≥ 0—
num_after
How many messages newer than the anchor to return.
numberNo0≥ 0—
narrow
Zulip narrow filters, each an object with an operator and an operand, such as {"operator": "channel", "operand": "general"}.
arrayNo—array of object—
apply_markdown
Return message content as rendered HTML; switch it off to get the raw Markdown.
booleanNotrue——

Example configuration

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

{
  "anchor": "newest",
  "apply_markdown": true,
  "num_after": 0,
  "num_before": 50
}

Output

One shape.

result

FieldTypeExample
items
The records Zulip returned.
array—
count
How many records this response carried.
number—
items[].id
The message id.
number—
items[].content
The message body, rendered or raw per apply_markdown.
string—
items[].sender_id
User id of whoever sent the message.
number—
items[].sender_email
Email address of the sender.
string—
items[].sender_full_name
Display name of the sender.
string—
items[].type
Either 'stream' for a channel message or 'private' for a direct one.
string—
items[].stream_id
The channel the message was sent to, for a channel message.
number—
items[].subject
The topic of a channel message.
string—
items[].timestamp
When the message was sent, as a Unix timestamp.
number—
items[].reactions
Reactions on the message.
array—
items[].flags
The current user's flags on the message, such as 'read'.
array—
anchor
The anchor message id Zulip actually used.
number—
found_newest
True when the window reached the newest one.
boolean—
found_oldest
True when the window reached the oldest one.
boolean—
history_limited
True when the organization's plan cut the history short.
boolean—
{
  "anchor": 0,
  "count": 0,
  "found_newest": false,
  "found_oldest": false,
  "history_limited": false,
  "items": [
    {
      "content": "",
      "flags": [],
      "id": 0,
      "reactions": [],
      "sender_email": "",
      "sender_full_name": "",
      "sender_id": 0,
      "stream_id": 0,
      "subject": "",
      "timestamp": 0,
      "type": ""
    }
  ]
}

See List Messages 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.