Contacts → campaigns → agent variables (how data reaches the AI)

If you want calls to sound specific, you need the right data in the right place. This guide explains how contact fields, custom fields, segments, CSV mapping, and campaign variables become agent variables at call time.

At a glance

There are three paths:

  1. Contact-backed: the agent reads standard contact fields and contact custom fields.
  2. Campaign-mapped: you map CSV columns or segment fields into agent variables in the Campaign Wizard.
  3. Campaign-static: you set a static campaign variable once and apply it to every call.
Pro tip: decide “where the truth lives”

If a value changes per contact, store it on the contact or map it from CSV. If it’s the same for every call, make it a static campaign variable.

Contact-backed data

Contact-backed fields include:

  • standard fields (name, email, company, timezone, country, etc.)
  • tags (labels)
  • custom fields (cf:<key>)

This is the most reusable path because the data travels with the contact across campaigns.

Campaign CSV mapping (Audience step)

When you use CSV as a campaign audience, the wizard builds multiple payload layers:

  • column_mapping: where each CSV column is stored (contact field, custom field, or call metadata)
  • agent_variable_mapping: which CSV values feed agent variables
  • optional call_variables_template: static variables applied to every call
  • optional call_vars_agent_mapping: how static variables attach to agent variables

Segment mapping (Audience step)

Segments are saved filters/search criteria. In a segment-based campaign, you can map:

  • standard contact fields (first/last/email/company/timezone/country code)
  • custom fields (cf:<key>)

…into agent variables.

Manual calling variable passing

Manual calls support:

  • mapping agent variables from contact fields/custom fields
  • entering manual runtime variables (runtime_vars)

This is ideal for supervised tests and VIP handling.

Eligibility: which agent variables can be mapped

Variables can be excluded from mapping when they are:

  • backend-owned/system variables
  • explicitly static variables

That’s intentional: it prevents operators from accidentally overriding system identity fields.

Common caveats

  • Campaign audience CSV preview is optimized for simple CSVs.
  • Duplicate mapping can create silent confusion even if the UI warns.
  • tags and full_name availability differs across surfaces.
Next: implement this in the Campaign Wizard
Attach an audience and map the fields your agent needs.
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.