Salesforge + Clay Workflow: Enrichment to Personalization to Sequences
Build and enrich a Clay table, generate AI personalization columns before export, and activate multichannel sequences in Salesforge with field-mapped variables intact.
TL;DR
Salesforge + Clay: 3 stages, personalization before sends
Sequence copy quality is determined at the Clay enrichment and column-building stage, not inside Salesforge. Every personalization variable Salesforge renders at send time must be generated in Clay first.
Clay table structure for clean Salesforge imports, AI column setup for personalization before export, variable mapping, plan requirements, and the three most common failure points.
The Framework
The 3-stage Salesforge Clay workflow at a glance
- Stage 1: Build and enrich in Clay
Import contacts and run waterfall enrichment to fill verified emails, firmographics, and technographic fields. Add Claygent columns for company research. Output: one complete, verified record per row with research fields ready to become personalization variables.
- Stage 2: Generate personalization columns in Clay before export
Add AI columns that convert enriched data into send-ready text: a custom first line, a pain-point observation, or a company-specific hook. Each AI column becomes its own field containing the copy fragment Salesforge will inject at send time.
- Stage 3: Push to Salesforge and activate the sequence
Export via CSV or the native Salesforge integration, map each Clay column to the corresponding custom variable, and confirm variable preview renders correctly before enabling sends.
Pushing a Clay table into Salesforge without Stage 2 personalization columns means your sequence runs with generic fallbacks or blank fields. Stage 1 enrichment is only useful if Stage 2 converts it into text Salesforge can render.
Stage 1 in Depth
Structuring the Clay table so Salesforge imports it cleanly
Column naming is the most common source of import failures. Salesforge maps variables by column header name: use lowercase, no special characters, and match exactly the variable name declared in the sequence editor. Set this convention before building your waterfall. Renaming columns after enrichment breaks any AI column referencing the original field.
Run enrichment in waterfall order: email verification first, then firmographics, then technographics, then Claygent. Claygent costs more credits per row: run it last and only on verified rows.
Add a Clay formula column that evaluates TRUE only when email is verified, first line is generated, and no required fields are blank. Filter on this before exporting to prevent blank variables rendering at send time.
Stage 2 in Depth
Building AI personalization columns in Clay before the Salesforge export
Clay's AI columns pass enriched field values and a prompt to a language model. The output lands as a plain text string in a new column: exactly what Salesforge expects as a custom variable value.
Keep prompts tightly scoped. A prompt asking for a two-sentence first line with a specific tone produces more consistent output than a generic copy request. Inconsistent output length breaks variable rendering in Salesforge email bodies.
Clay-generated personalization arrives in Salesforge as plain text and does not consume personalization credits. Credits only matter if you also use Salesforge's own AI at send time: Growth plan includes 1,000/month vs Pro's 100. Verify at salesforge.ai.
Stage 3 in Depth
Activating the Salesforge sequence with Clay-enriched data
Salesforge accepts Clay data via CSV import or through the native Clay integration (Growth plan). CSV import runs column mapping inside Salesforge's import wizard: match each incoming column to a contact field or custom variable.
| Clay column type | Maps to in Salesforge | Common failure |
|---|---|---|
| AI-generated first line | Custom variable (e.g. {{first_line}}) | Variable name in sequence does not match Clay column header exactly |
| Verified email | Contact email field | Catch-all or unknown-status rows pass through and generate bounces |
| First name | Contact first name field | Field contains full name; renders incorrectly in greeting line |
| Company research summary | Custom variable (e.g. {{company_context}}) | AI column output contains quotation marks or newlines that break rendering |
| Claygent research field | Custom variable (e.g. {{pain_point}}) | Claygent returned a generic fallback; fallback text renders in the sequence |
Before enabling any sequence using Clay-mapped variables, preview at least 5 contacts covering the range of your list, including rows where Claygent may have returned a fallback. Fix field mapping gaps at this stage, not after sends.
Common Questions
Salesforge Clay workflow: frequently asked questions
Native Salesforge push requires Clay's Starter plan ($134/month annual) or above; the free plan excludes it. Verify current tiers at clay.com/pricing.
Before enabling: Clay table filtered to verified-only rows, all AI columns fully populated, variable names matching Salesforge declarations exactly, preview confirmed on 5+ contacts, and daily send volume within the domain's warmup ceiling.
Agent Frank ($499/month quarterly) runs autonomous outbound independently. Push Clay contacts into Salesforge first, then assign them to Frank's workflow. Verify configuration at salesforge.ai.
One Clay table per client with client-specific enrichment and Claygent prompts, each exporting to a dedicated Salesforge workspace. Salesforge Growth plan allows unlimited users, so no additional seat cost for client-facing team members.
Custom variables work on both Pro ($40/month) and Growth ($80/month). If you generate all personalization in Clay before export, the credit difference (100 vs 1,000/month) only matters if you also use Salesforge's own AI at send time.
Enrichment is only valuable if personalization lands.
See how Salesforge handles multichannel sequences, AI personalization credits, and the Primebox unified inbox for teams running Clay-powered outbound.