- Introduction
- Getting started
- Building with Maestro BPMN
- Understanding Maestro BPMN modeling
- Opening the modeling canvas
- Modeling your process
- Aligning and connecting BPMN elements
- Autopilot for Maestro (Preview)
- Process Repository
- Implementing a simple BPMN process
- Implementing a complex BPMN process
- Debugging
- Simulating
- Common implementation scenarios
- Building with Maestro Case
- Introduction to Maestro Case
- Maestro BPMN vs. Maestro Case: when to use case management
- The Maestro Case lifecycle: from event trigger to app experience
- Build your first case with Maestro Case
- Build a Maestro Case with a coding agent (preview)
- Defining case keys (system vs. external)
- Establishing task I/O and write-back contracts
- Exit rules and early stage termination
- Modeling primary and secondary stages
- Triggering a case from Data Fabric
- Implementing stage-level personas and permissions
- Setting SLAs and automated escalation rules
- Configuring a rework loop (re-entry)
- Configuring and testing the Case Manager Agent (preview)
- Case Manager input and output contract
- Maestro Case component dictionary
- Building with Maestro Flow
- Integrations
- Operating
- Monitoring
- Optimizing
- Reference information
Wait for Message suspends until the user sends a message, then outputs the latest conversation context for downstream conversational nodes to consume.
What it does
Waits until the user sends the next message on the conversation, then resumes with the latest conversation context — the chat history and user profile information — as its output.
Always place a Wait for Message node immediately after the conversation trigger to ensure the Flow is ready for the user's first message. You can loop back to it for follow-up turns, or add more Wait for Message nodes elsewhere in the Flow.
Inputs
| Field | Description |
|---|---|
| Conversation ID | The ID of the conversation to wait on. Bind to the conversation trigger's output, for example $vars.conversationTrigger1.output.conversationId. |
| Exchange limit | Maximum number of past exchanges (back-and-forth turns) to include in the returned conversation history. Determines how many past messages in the conversation history are returned. |
Output
| Field | Description |
|---|---|
conversationContext | The latest conversation context, including the message history. |
The conversationContext contains the following fields:
| Field | Description |
|---|---|
latestExchangeId | Identifier of the most recent exchange (back-and-forth turn). Use as the Exchange ID input to Send Message when replying to the conversation. |
messages | The recent conversation history, including both the user's and Flow's messages. Exchange limit determines how many past exchanges to include. |
userSettings | User-level profile fields, configurable by the end-user on the channels. |
Usage examples
Reference the full conversation context in a downstream Conversational Agent node:
$vars.waitForMessage1.output.conversationContext
$vars.waitForMessage1.output.conversationContext
Reference the outputted latestExchangeId in a downstream Send Message node:
$vars.waitForMessage1.output.conversationContext.latestExchangeId
$vars.waitForMessage1.output.conversationContext.latestExchangeId
Handling multiple Wait for Message nodes
When you have multiple Wait for Message nodes, you might accidentally configure a downstream node to reference a stale conversation context from a Wait for Message node that executed earlier.
For easier tracking, create a Flow-level variable (for example, $vars.globalConversationContext), and update it from each Wait for Message node's Update Variable section. Downstream nodes can then reference that single source of truth instead of needing to pick the last-executed Wait for Message node's output.
Related pages
- Conversation Trigger — provides the Conversation ID this node consumes.
- Conversational Agent — the typical consumer of this node's
conversationContextoutput. - Send Message — write into the conversation, using
latestExchangeIdfrom this node to continue the same exchange. - Chat — full palette of chat conversational nodes.
- Build a chat agent workflow — end-to-end walkthrough.
- Chat deployment — publish and expose the Flow through various channels.