When Outreach AI sequence personalization tokens don't render in email previews, the cause is almost always missing prospect field data, a malformed token syntax, or a mapping mismatch between the token and your CRM field. Fix it by confirming the prospect record has the underlying field populated, checking token spelling against the variable picker, and setting fallback values so blanks never reach a recipient.
Why personalization tokens fail to render
A token like {{first_name}} is just a pointer. Outreach swaps it for whatever value sits in that prospect's field at send time. If the preview shows the raw token text, a blank space, or a fallback, one of these is broken:
- Empty source field — the prospect record has no value for that attribute.
- Token syntax error — extra spaces, wrong braces, or a typo in the variable name.
- Field mapping mismatch — the token references a field that doesn't exist or maps to a different CRM column.
- Custom field not synced — the field exists in Salesforce or HubSpot but hasn't synced into Outreach.
- Preview using a sample prospect — the preview defaults to a test contact with sparse data.
Most teams blame the AI or the platform when the real issue is dirty data in one field. Outreach can only render what's there.

Step-by-step troubleshooting
Work through these in order. Stop when the preview renders correctly.
- Check the prospect record directly. Open the prospect Outreach is previewing against. Confirm the field behind the token actually has a value. A blank
Job Titlefield renders as blank — not an error. - Verify token syntax. Outreach tokens use double curly braces with no internal spaces:
{{first_name}}, not{{ first_name }}or{first_name}. Always insert tokens from the variable picker (the{{}}button) instead of typing them by hand. - Confirm the variable name. The picker shows the exact variable string. A token spelled
{{company_name}}won't render if the real variable is{{account.name}}. - Set a fallback value. In the token settings, add a fallback so empty fields don't ship blank. Example:
{{first_name | fallback: "there"}}. This is the single biggest prevention step. - Check field sync from your CRM. If the data lives in Salesforce or HubSpot but the field is empty in Outreach, the sync mapping is off. Admins can review this under Settings → Plugin/Integration → Field Mappings.
- Preview against a real, complete prospect. Switch the preview prospect to someone whose record you know is fully populated. If it renders for them, your problem is data coverage, not configuration.
Quick reference: token states
| What you see in preview | Likely cause | Fix |
|---|---|---|
Raw {{token}} text | Syntax error or unknown variable | Re-insert from picker |
| Blank space | Empty source field, no fallback | Add fallback value |
| Wrong value | Field mapping mismatch | Check CRM field mapping |
| Fallback always showing | Field never syncs | Audit integration sync |
Outreach AI variables vs standard tokens
Outreach's AI features (like Smart Email Assist and AI-generated variables) add a layer on top of standard tokens. AI variables pull context — recent activity, account intent signals — and can fail silently if the AI lacks enough data to generate content. When an AI token renders empty:
- Confirm the prospect has the source signals the AI needs (engagement history, account data).
- Check that AI features are enabled for your org under admin settings.
- Regenerate the AI content manually in the composer; a stale cache sometimes holds an old empty result.
If you're evaluating whether the platform's AI tooling fits your team at all, the Outreach vs Salesloft comparison breaks down how each handles personalization at scale.
Prevent token failures before they reach prospects
Fixing previews one at a time doesn't scale. Build guardrails instead.
- Require fallbacks on every token. Make it a team standard. No token ships without one.
- Run a data completeness report. Filter prospects missing critical fields (
first_name,company) before adding them to a sequence. - Use Outreach's bulk preview. Preview a sequence across the whole prospect list, not just one contact, to catch coverage gaps.
- Validate CRM hygiene upstream. Tokens are only as clean as your CRM. If you're running account-based campaigns, enforce field-completeness rules at the data-entry stage.
The official Outreach Support documentation covers variable syntax and fallback configuration in detail, and admins should bookmark the field mapping section for sync issues.

When the issue is the integration, not the token
If tokens fail across many prospects at once, suspect the CRM integration rather than individual records. Common triggers:
- A Salesforce field was renamed or its API name changed.
- HubSpot property permissions changed and the field stopped syncing.
- An Outreach plugin update reset a custom mapping.
Check the sync logs and re-map the affected field. This kind of platform decision matters when picking your stack — the HubSpot vs Salesforce CRM comparison covers how each handles custom field syncing with sales engagement tools.
Key takeaways
- Tokens render blank or raw mostly because of empty source fields or syntax/mapping errors — not platform bugs.
- Always insert tokens from the variable picker and attach a fallback value to every one.
- Preview against a fully populated real prospect to separate data gaps from configuration problems.
- For org-wide failures, audit the CRM field mapping and sync logs before touching individual records.
- Clean CRM data upstream is the long-term fix; fallbacks are the safety net.
