# Get conversation context

> Inputs, output, and usage examples of the Get conversation context node in a chat workflow.

## What it does

Retrieves the latest **conversation context**: the recent chat history and user profile information.

:::important
**[Wait for Message](./node-wait-for-message.md) already returns the conversation context** as its output after the user sends a chat message. The Get Conversation Context node is generally not needed for building chat loops, and **should only be used for rarer cases** where a downstream node needs the current conversation state but shouldn't pause for the next user message.
:::

## Inputs

| Field | Description |
|---|---|
| **Conversation ID** | The ID of the conversation to read. Bind to the conversation trigger's output, for example `$vars.conversationTrigger1.output.conversationId`. |
| **Exchange limit** | Maximum number of past exchanges 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](./node-send-message.md) when replying to the conversation. |
| `messages` | The recent conversation history, including both the user's and Maestro Automate'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 context in a downstream [**Conversational Agent**](./node-conversational-agent.md) node:

```javascript
$vars.getConversationContext1.output.conversationContext
```

Reference the `latestExchangeId` in a downstream [**Send Message**](./node-send-message.md) node:

```javascript
$vars.getConversationContext1.output.conversationContext.latestExchangeId
```

## Next steps
- [Wait for Message](./node-wait-for-message.md): the default way to read conversation context.
- [Chat](./conversational-chat.md) : all the chat conversational nodes.
- [Build a chat agent workflow](./build-a-chat-agent-workflow.md): end-to-end walkthrough.
- [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.
