# Get Conversation Context

> Node that retrieves the latest conversation context, including recent chat history and user profile information.

## 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 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 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
```

## Related pages

- [Wait for Message](./node-wait-for-message.md) — the default way to read conversation context.
- [Chat](./conversational-chat.md) — full palette of 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) — publish and expose the Flow through various channels.
