# Send message

> Send Message writes an arbitrary response message to the chat conversation.

## What it does

Respond to the user with any message, useful for fixed replies, routing notifications, and emitting node outputs to the chat.

:::note
Send Message can **only** reply within an exchange that a user has initiated, which means the user must send a message first before the workflow can respond to the chat. Maestro Automate-initiated exchanges, sending a message without a prior user turn, are not yet supported.
:::

## Inputs

| Field | Description |
|---|---|
| **Conversation ID** | The ID of the conversation to write to. **Bind to the conversation trigger's output**, for example `$vars.conversationTrigger1.output.conversationId`. |
| **Exchange ID** | The exchange (back-and-forth turn) to append this message to. **Bind to a Wait for Message node's latest exchange**, for example `$vars.waitForMessage1.output.conversationContext.latestExchangeId`. |
| **Content** | The message content. Supports expressions to inject variable data. |
| **Mimetype** | The format of the content. It's set to `text/markdown` and can't be changed. |

## Usage examples

![The Send message node selected, with Conversation ID from the Conversation trigger, Exchange ID set to the latest exchange of Wait for message, the Content "Thanks, I'm looking into it.", and Mimetype set to text/markdown.](https://dev-assets.cms.uipath.com/assets/images/maestro-automate/chat-send-message-automate-4f29332f.webp)

### Fixed messages

Send a static acknowledgment before a long-running node:

```
Hold on a moment while we process your request...
```

Announce routing to a specialist conversational agent before the [Wait for Message](./node-wait-for-message.md) that starts the specialist agent's loop:

```
You have been routed to the specialist agent. How can we help you today?
```

### Expressions with variables

Use variables to emit the output of an upstream node using an expression:

```
`The result is ${$vars.previousNode.output.result}.`
```

## Next steps
- [Wait for Message](./node-wait-for-message.md): provides the `latestExchangeId` this node consumes.
- [Conversational Agent](./node-conversational-agent.md): the alternative driven by a large language model (LLM); produces streamed responses with tool-calls.
- [Chat](./conversational-chat.md) : all the chat conversational nodes.
- [Build a chat agent workflow](./build-a-chat-agent-workflow.md): end-to-end walkthrough that uses Send Message for hand-off acknowledgments and deterministic replies.
- [Chat deployment](https://docs.uipath.com/agents/automation-cloud/latest/user-guide/conversational-agents-deployment): deploy the workflow and make it available in chat channels.
- [Community](community.md): ask questions and share workflows with other builders on the UiPath Forum.
