> For the complete documentation index, see [llms.txt](https://threadly.gitbook.io/threadly/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://threadly.gitbook.io/threadly/sending-messages/how-to-send-a-message-with-threadly/leveraging-message-variables.md).

# Leveraging Message Variables

Personalize Threadly broadcasts with variables like {{user}}, {{channel}} and your own custom variables. Each one is replaced with a real value for every recipient when the message sends.

Variables are placeholders in double curly braces, like `{{channel}}`. When your message sends, Threadly replaces them with real values for each channel or person.

## Add a variable

1. In the message editor, click **➕ Add Variables** below the message box.
2. The **Message Variables** window lists the variables available for your destination (**Channel Message** or **Direct Message**).
3. Copy a variable and paste it anywhere in your message.

> Example: `Hey {{user}}!` sends as `Hey Alex!` in a DM.

<figure><img src="https://1884112744-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUolgIxuzQ3OCxgqEYVKM%2Fuploads%2F8L7zPmoV1pI3E0OOuEbd%2FCleanShot%202025-04-06%20at%2023.55.07.gif?alt=media&amp;token=2a7ce527-be20-4148-816a-449c6ed545fd" alt=""><figcaption></figcaption></figure>

## Built-in variables

| Variable      | In a channel message              | In a direct message              |
| ------------- | --------------------------------- | -------------------------------- |
| `{{channel}}` | The channel receiving the message | The DM conversation              |
| `{{user}}`    | —                                 | The person receiving the message |
| `{{sender}}`  | The person sending the message    | The person sending the message   |

## Your own variables

Create custom variables, like `{{account_manager}}` or `{{renewal_date}}`, with a fallback value in [Workspace Variables](/threadly/settings/workspace-variables.md). You can set a different value for each channel from your Segments, or fill values in from form answers for DMs.

## Check before you send

The preview fills variables with sample values. **Preview as…** shows one real recipient, and **📤 Send Test Message** sends a copy with real values.

Workflows have their own extra variables, such as the person who triggered the workflow, form answers and webhook fields. See [Workflow Steps](/threadly/workflows/workflow-steps.md).
