Portal Community

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.
PropertyRequiredDescription
FromChannelOptional*Channel ID to listen on. The node only accepts messages posted to this channel. Required if FromUser is not set.
FromUserOptional*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.
KeywordFilterOptionalA 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.
TimeoutMinutesOptionalInteger. 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

PortFires WhenDescription
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:
  • Send a prompt message to the user (via Chat, Slack, or WhatsApp node) telling them input is expected
  • Log the start of the waiting period
  • Update a status field in a database record
The 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:
  • Timeout: TimeoutMinutes elapsed before a matching message was received. errorCode is "timeout".
  • Filter failure: A message was received but did not match the keyword filter after the maximum wait time. errorCode is "filter_mismatch".
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:

  1. Does the message come from the configured FromChannel (if set)?
  2. Does the message come from the configured FromUser (if set)?
  3. Does the message text contain the KeywordFilter string (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.