Skip to main content
Use variables to insert prospect-specific data into a message. Use AI messaging when you want FirstTouch to generate text from that data and your instructions.

Choose a Personalization Method

To send different messages to different segments, use a Conditional Split. A split chooses a path; it does not create or populate a variable.

Insert a Variable

  1. Open the message editor for an email, connection note, LinkedIn message, or available InMail step.
  2. Open the variable menu by typing {.
  3. Choose a group, search for the field, and select it.
  4. Preview the message for a contact before publishing.
The menu shows fields available in that editor and flow context. Flow appears when contextual fields are available; HubSpot requires a connected integration. Call scripts also support the variable editor. Conditional Split uses a property selector rather than message-template syntax. For example, with AI messaging off:
For Alex at Example Company, this renders as:
Use the inserted token exactly. Typing an arbitrary placeholder such as {hyperscaler} does not create a field or supply its value.

Common Variables

The tables below are a practical reference for common personalization fields. Use the editor’s variable menu for the current list available to your step. Field availability does not guarantee data coverage.

Contact

These fields use saved Flow Enrollment values. Supported imports can supply basic identity fields; richer profile information depends on available enrichment. Configure enrichment before the step that needs its results.

Company

Company fields use saved enrollment data and available company enrichment. Technologies can contain multiple technologies or be empty. It is not a dedicated cloud-provider field and does not preserve a custom value from your CSV.

Sender

Sender tokens use a different syntax from FirstTouch contact and company tokens. Insert them from the Sender group and preview with the intended sender context.

Signals and Research

Post-related variables and Post Text Conditional Split properties require a Social Engagement Signal source. See Social Engagement for setup.

Use a HubSpot Custom Property

HubSpot Contact and Company variables use these forms:
The property must exist in your connected HubSpot account and be available in the variable menu. Use its internal name, not its display label, and choose the correct object. For example, if a Contact property has the internal name hyperscaler and contains your verified value AWS:
  1. Confirm the property is populated on the relevant HubSpot Contact.
  2. Select that property from the editor’s HubSpot group.
  3. Preview using a contact whose matching HubSpot record contains the value.
  4. Check a contact with no value and adjust the message or flow before publishing.
This example applies only when that property and record context exist. If the property belongs to a Company, select the Company property instead. HubSpot variables are separate from FirstTouch variables saved on an enrollment. Property mapping controls FirstTouch-to-HubSpot writes; it does not automatically copy arbitrary HubSpot values into FirstTouch variables.

Create a Custom Research Output

An advanced Research Agent can make named outputs available to later steps on the same execution path. Select the output from the editor’s Flow group; its display label is not necessarily its token. Follow Use a Named Output in Messaging to configure a question and use its result.

Can CSV Columns Become Custom Variables?

No. The standard importer maps a fixed set of fields; extra headers such as hyperscaler do not create variables. See CSV fields and personalization for supported mappings and alternatives.

Missing Values and Preview

A recognized token can still lack a value. Missing required data can cause validation or execution issues; do not assume every missing variable becomes an empty string. Preview a contact with the field populated and one without it. Use the step’s available fallback settings, change the wording, or route contacts through an appropriate Conditional Split. For source-specific checks, see Flow Plan Variable Did Not Resolve.

Next Steps