Configuration
Full property reference for the ChatReceive node and explanation of all three output ports.
Properties
At least one of
FromChannel or FromUser must be provided. Both can be set simultaneously to match a specific user in a specific channel.
| Property | Required | Description |
|---|---|---|
FromChannel | Optional* | Channel ID to listen on. The node only accepts messages posted to this channel. Required if FromUser is not set. |
FromUser | Optional* | User ID to accept messages from. The node only accepts messages from this specific user. Required if FromChannel is not set. Can be combined with FromChannel to require both conditions. |
KeywordFilter | Optional | A keyword or phrase that the incoming message text must contain (case-insensitive). Messages that do not contain this keyword are ignored and the node continues waiting. Leave blank to accept any message. |
TimeoutMinutes | Optional | Integer. Number of minutes to wait before routing to the error port with a timeout error code. If omitted, the node waits indefinitely (until the workflow instance is manually cancelled or the platform enforces a system limit). |
Output Ports
| Port | Fires When | Description |
|---|---|---|
| waiting | Immediately on node entry |
The listener has been registered and the workflow is now suspended. This port fires synchronously as soon as the node is entered — before any message is received. Use it to:
waiting branch runs and completes before the workflow fully suspends. It does not block resumption — when a message arrives, the workflow resumes on the success port regardless of what the waiting branch is doing.
|
| success | When a matching message arrives | A message was received that matched all configured filters (FromChannel, FromUser, KeywordFilter). The workflow resumes with the message payload. See Input & Output for the full payload schema. |
| error | On timeout or filter failure |
Fires in two scenarios:
|
No timeout set = indefinite wait. If
TimeoutMinutes is not configured, the workflow instance will remain suspended indefinitely. Always set a timeout for production workflows to prevent orphaned workflow instances from accumulating.
How Filtering Works
When a chat message arrives, the ChatReceive node checks conditions in this order:
- Does the message come from the configured
FromChannel(if set)? - Does the message come from the configured
FromUser(if set)? - Does the message text contain the
KeywordFilterstring (if set)?
All configured conditions must be true for the success port to fire. Messages that fail conditions 1 or 2 are silently ignored (the node keeps waiting). Messages that pass conditions 1 and 2 but fail the keyword filter are also ignored — the node continues waiting for the next message.