Skip to main content
A variable token is an inline placeholder inside a template. There are two kinds: data variables get replaced with live values at render time, and instruction variables are model directives that don’t appear in the output literally.

Inserting a variable

In the editor, position your cursor where you want the variable, then press #. A picker opens. Choose the variable you want. The picker is searchable — start typing to filter. Data chips render in blue with the variable name. Instruction chips render in pink with an instruction icon and the directive text.

Data variables

A data variable is a pointer to a value Deal Brain knows about. At render time, the chip is replaced with the actual value from the bound opportunity (or other context object).
The exact variables available in your editor depend on your Deal Brain organization’s CRM integration and configuration. Variables are not a fixed list — they’re populated dynamically from the field definitions Deal Brain has loaded from your CRM (Salesforce, HubSpot) plus your workspace settings. The # picker is the authoritative source for your account.
Variables generally fall into four categories. The examples below are illustrative — your account may have more, fewer, or differently-named variables.
Information about who’s invoking the template and when. Identity variables come from your Deal Brain session and don’t depend on your CRM.Typical examples: the calling user, the user’s organization, the current date and time.Use identity variables for greetings, signatures, and date-anchored text.
Don’t try to memorize the variable list — open the # picker and search. The picker shows your account’s current catalog with previews, so you always see exactly what’s available.

Render behavior

SituationWhat happens
The bound opportunity has the valueVariable renders inline as the live value.
The bound opportunity is missing the valueVariable renders as an empty string, not a placeholder like (no value). Plan for missing data in your template prose.
The variable type is multi-line (e.g. last meeting summary)Renders as a block of text. Surround with a heading or list item if you want structure.
The template is rendered without an opportunityOpportunity variables render empty. Identity and workspace variables still work.

Instruction variables

An instruction variable is a model directive — it changes how the LLM behaves at render time, but the directive text itself doesn’t appear in the output. To insert an instruction, press # and pick Instruction at the top of the picker. Type the directive inline.

When to use instructions

Instructions are how you steer tone, length, format, and behavior:
Use caseExample instruction
Length control”Write 3–5 sentences. Do not exceed 100 words.”
Tone”Use a confident, direct tone. No hedging language.”
Format”Output as a bulleted list. Each bullet is 1 sentence.”
Faithfulness”Only include facts present in the bound opportunity’s data. Do not invent participants, dates, or commitments.”
Style guardrails”Avoid these phrases: ‘circle back’, ‘touch base’, ‘reach out’.”
Instructions compose. You can stack several short instructions in different blocks — one for tone, one for length, one for faithfulness — and the model will honor all of them. Long single instructions tend to get partially ignored; short scoped ones don’t.

Instructions vs. paragraph prose

If you write “Summarize the last meeting in two sentences” as paragraph prose, it appears literally in the output — the template generates the words “Summarize the last meeting in two sentences” and the model doesn’t follow it. If you write the same words as an instruction variable, the model follows them and the output has the actual summary in their place. When in doubt: anything you don’t want appearing literally in the output should be an instruction, not prose.

The # picker, in detail

ActionResult
#Open picker.
#nameFilter to variables matching “name”.
EscClose without inserting.
EnterInsert the highlighted variable.
/ Navigate options.
Click outsideClose without inserting.
The picker shows the variable’s source (Identity / Opportunity / Custom / Config) and a one-line preview so you can pick the right one without ambiguity.

Common patterns

Hi {{user name}}, here's your {{day of week}} brief for {{current date}}.
Renders as: Hi Nick, here’s your Wednesday brief for 2026-06-03.
{{opportunity name}} — {{account name}} — stage {{current stage}}.
Renders as: Acme — Platform expansion — Acme Inc. — stage Proposal sent.
Paragraph 1:
{{instruction: Summarize the last meeting in 2 sentences. Only use facts present in the data.}}
Plus the data variable {{last meeting summary}} in a separate block for context.The model produces 2 sentences. The instruction never appears in the output.
{{instruction: Use this tone: {{company tone of voice}}.}}
Composes a workspace config variable into an instruction. The team admin can update tone-of-voice in one place and every template that references it picks up the change.

See also

  • Concepts — the broader Canvas mental model.
  • Publishing — how templates become visible to agents.