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.- Identity
- Opportunity & CRM
- Custom fields
- Workspace config
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.
Render behavior
| Situation | What happens |
|---|---|
| The bound opportunity has the value | Variable renders inline as the live value. |
| The bound opportunity is missing the value | Variable 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 opportunity | Opportunity 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 case | Example 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 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
| Action | Result |
|---|---|
# | Open picker. |
#name | Filter to variables matching “name”. |
Esc | Close without inserting. |
Enter | Insert the highlighted variable. |
↑ / ↓ | Navigate options. |
| Click outside | Close without inserting. |
Common patterns
A greeting line with identity variables
A greeting line with identity variables
A deal-context line
A deal-context line
A constrained summary block
A constrained summary block
Paragraph 1: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.A team-styled output
A team-styled output
See also
- Concepts — the broader Canvas mental model.
- Publishing — how templates become visible to agents.

