Skip to main content
AI variables let you go beyond static merge fields. Instead of inserting a contact’s first name or company, an AI variable runs a custom prompt for each contact and injects the generated result directly into your message template. The outcome is outreach that reads as if it were hand-crafted — at any scale. For example, an AI variable named opening_line might generate a unique opening sentence for each prospect based on their LinkedIn activity, recent company news, or job title, so every email starts with something genuinely relevant to that person.

How AI Variables Work

When Topo creates a sequence for a contact, it evaluates every AI variable referenced in the message templates. For each variable, it runs your custom prompt against the available contact and company data, generates the output, and stores it with that sequence. The generated value is then inserted wherever {{variable_name}} appears in the template.
Each AI variable is generated once per contact at the time the sequence is created. The value is stored and reused across all steps in that sequence — the AI does not re-generate it each time a message is sent.

Creating an AI Variable

1

Open AI Variables settings

Go to Settings → AI Variables in the left sidebar.
2

Start a new variable

Click New Variable in the top-right corner.
3

Name the variable

Enter a name using lowercase letters, numbers, and underscores (e.g., opening_line, pain_point, case_study_match). This name becomes the template placeholder: {{opening_line}}.
4

Write the prompt

Describe what the AI should generate. Be specific about tone, length, and format. For example:
Write a single sentence (max 20 words) that references something notable about the contact’s current role or their company’s recent activity. Keep it conversational and avoid sounding like an ad.
5

Choose the data sources

Select which data the AI can draw from when generating the variable:
  • Contact data — name, job title, seniority, location, LinkedIn profile
  • Company data — industry, size, technologies used, recent funding
  • Recent signals — recent LinkedIn posts, job changes, news mentions
6

Save the variable

Click Save. The variable is now available organization-wide in all sequence templates.

Using AI Variables in Templates

Once a variable is created, insert it into any message template using double curly braces:
Hi {{first_name}},

{{opening_line}}

I wanted to reach out because companies like {{company_name}} often struggle with...
You can use AI variables alongside standard contact merge fields ({{first_name}}, {{company_name}}, etc.) in the same template. AI variables work in email subject lines, email bodies, LinkedIn message bodies, and LinkedIn invitation notes.
Keep AI variable prompts focused on a single, concrete output. Variables that try to do too much (e.g., “write a full personalized paragraph”) tend to produce inconsistent results. Shorter, tightly scoped outputs — like a single sentence or a three-word phrase — are more reliable and easier to test.

Testing a Variable

Before using a new AI variable in a live sequence, preview how it renders for a real contact.
1

Open the variable

Go to Settings → AI Variables and click on the variable you want to test.
2

Open the preview panel

Click Preview in the variable editor.
3

Select a contact

Search for and select a contact from your workspace. Topo will run the prompt using that contact’s data and display the generated output.
4

Refine if needed

If the output isn’t what you expected, adjust the prompt and preview again until you’re satisfied.

Shared Variables

All AI variables are organization-wide by default — any team member can reference them in their sequence templates. This makes it easy to standardize high-performing personalization patterns across your team.

Consistent Messaging

Shared variables ensure that all team members use the same prompt logic for common personalization elements, keeping your outreach on-brand.

Centralized Management

Owners and Admins can update a variable’s prompt in one place and the change takes effect for all new sequences — no need to update individual templates.
Updating a variable’s prompt does not change the generated values already stored in active sequences. Only sequences created after you save the updated prompt will use the new logic.

Reference

When writing your prompt, you can reference the following data the AI has access to (based on your data source selection):
  • Contact: full name, first name, last name, job title, seniority level, department, location, LinkedIn headline, LinkedIn summary, recent LinkedIn posts
  • Company: name, domain, industry, employee count, estimated revenue, technologies detected, recent news, funding stage
  • Signals: job changes in the past 90 days, recent LinkedIn activity, hiring signals
If the data source selected for a variable is unavailable for a particular contact (e.g., no LinkedIn profile exists), the AI will generate a fallback output or leave the variable blank, depending on how your prompt is written. To handle this gracefully, write your prompt to specify a fallback: “If no recent activity is available, write a generic but professional opening sentence instead.”
Yes. You can create up to 200 AI variables per scope (organization-wide). This limit applies to the total number of variables defined across your workspace, regardless of how many sequence templates reference them.