Wizard Step 3: Audience

Audience is where campaigns win or lose. Great scripts cannot rescue a bad list — but clean audience setup makes even a simple agent look smart.

Campaign wizard Audience step showing contact source selection and CSV mapping.

At a glance

  • Choose how you attach contacts: Upload CSV, Contact IDs, or From Segment.
  • Map fields so the agent receives the right context at call time.
  • Use call variables for campaign-wide constants (offer, rep name, product line, etc.).

Before you start

  1. Confirm consent/suppression rules for this audience.
  2. Decide the personalization you want (name, company, timezone, custom fields).
  3. Know which agent variables must be populated for the script to sound natural.
Pro tip: treat mapping like a contract

If the agent expects company and you don’t map it, the opening becomes generic. If the agent expects timezone and it’s wrong, your schedule decisions become risky. Mapping is where “AI magic” becomes reliable operations.

Contact source options (how to decide)

Upload CSV

Recommended Best for pilots and bulk imports when you want strict control over what’s dialed.

Use CSV when:

  1. You’re launching a new segment and want to start with 20–50 contacts.
  2. You need to map custom fields or campaign-specific metadata.
  3. You want a repeatable “import checklist” your team can follow.

Contact IDs

Advanced Useful when you already have IDs from an export or another workflow.

Rules:

  1. IDs must be numeric.
  2. Separate with commas or new lines.
  3. Only active contacts in the workspace will dial.

From Segment

Recommended Best when your team already maintains segments in the product.

Use segments when:

  1. The segment is owned by Ops/RevOps and kept clean.
  2. You want reusability (weekly campaigns, ongoing programs).
  3. You want consistent reporting by segment definition.

CSV workflow (the part that actually matters)

1) Download a template CSV

Use the template so your columns are predictable and mapping becomes quick.

2) Upload the CSV

After upload, you’ll see:

  • the file name and size,
  • a preview of headers and sample rows,
  • mapping controls.

3) Column mapping: “Store as”

For each CSV column, choose where that data should live:

  • Recommended Contact fields (phone, first name, last name, email, company, timezone)
  • Advanced Custom fields (your workspace-defined fields)
  • Advanced Call metadata (campaign-scoped values tied to the call/task)
Watch out: duplicate targets cause silent data loss

If two CSV columns map to the same target field, one value will “win” and the other becomes useless. The UI warns you for a reason — treat it as a release blocker.

4) Agent variable mapping (optional, but powerful)

If your agent defines variables, you can map CSV columns directly into agent call variables.

Rules:

  1. Backend-owned variables are not mappable (system fields like phone/campaign IDs).
  2. “Static” agent variables aren’t meant to be mapped.
  3. Keep names consistent (avoid “company_name” vs “company” drift).

5) Persist extra CSV fields to contact metadata (governance)

Advanced Enable this when you want non-standard CSV columns to become part of the contact record for future use.

When to enable:

  1. You plan to reuse those fields across multiple campaigns.
  2. The fields are stable (not one-off experiment columns).
  3. You have ownership for data hygiene.

When not to:

  1. The CSV contains temporary experiment fields.
  2. You don’t want long-term storage of those values.

Segment workflow: field-to-agent-variable mapping

For segment-based campaigns, map contact fields (standard + custom) into the agent’s variables.

This is how your agent gets clean context like:

  • timezone, country code, company, tags,
  • custom fields (plan type, lead source, last activity).

Agent Variable Status (fast quality check)

Use the status block to see which agent variables are resolved and which need mapping.

Green means:

  • the variable is static, or
  • mapped from CSV/segment, or
  • comes from contact fields automatically.

Amber means:

  • the agent expects this variable and it’s not being provided.

Call variables (campaign-wide constants)

Call variables are applied to every call in the campaign. Use them for:

  • offer name, product line, rep name,
  • meeting link label (not the real link),
  • campaign tag for downstream logging.
A fun rule that saves time

If a value is the same for every call, make it a call variable. If it changes per contact, map it from CSV/segment.

Validation rules (what blocks Next)

Create mode requires an audience:

  • CSV: file uploaded
  • Contact IDs: at least one valid numeric ID
  • Segment: segment selected

Edit draft mode is more flexible: you can update settings without changing the audience (unless you attach a new CSV).

Common mistakes (and quick fixes)

  1. The agent keeps asking for info you already have. Fix: map the field into the agent variable it expects.
  2. Personalization is wrong. Fix: check the CSV preview row; verify mapping targets.
  3. You can’t explain why a contact was dialed. Fix: use segment-based campaigns or preserve a copy of the CSV and link it in internal ops notes.

Final checklist

  • Source choice is intentional (CSV vs segment vs IDs).
  • Mapping has no duplicates and matches what the agent expects.
  • Agent Variable Status shows minimal amber items.
  • You can explain what each mapped field is used for in the script.
Next: decide when and how fast you run
Schedule sets calling windows, timezone, and safe concurrency.

Additional resources

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.