Clay Core Workflow B: Claygent AI Research & Personalization
Overview
Complements the enrichment pipeline (clay-core-workflow-a) with AI-powered research and personalization. Uses Claygent (Clay's built-in AI research agent powered by GPT-4) to scrape websites, extract insights, and generate personalized outreach copy for each prospect. 30% of Clay customers use Claygent daily, generating 500K+ research tasks per day.
Prerequisites
- Completed
clay-core-workflow-awith enriched table - Clay Pro plan or higher (Claygent requires Pro+)
- Understanding of prompt engineering basics
Instructions
Step 1: Add a Claygent Research Column
In your Clay table with enriched leads:
- Click + Add Column > Use AI (Claygent)
- Choose model: Claygent Neon (best for data extraction and formatting)
- Write your research prompt referencing table columns:
Research {{Company Name}} ({{domain}}) and find:
1. Their most recent funding round (amount, date, investors)
2. Any recent product launches or major announcements from the last 6 months
3. Their primary competitors
Return results as structured data. If information is not found, return "Not found" for that field.
- Enable Auto-run on new rows
Step 2: Configure Multi-Output Claygent (Neon Model)
Claygent Neon can extract multiple data points into separate columns from a single run:
Research the company at {{domain}} and extract:
Output 1 (Recent News): The most notable company news from the last 90 days. One sentence.
Output 2 (Tech Stack): List the main technologies they use (check job postings, BuiltWith, Wappalyzer data).
Output 3 (Pain Points): Based on their Glassdoor reviews and recent job postings, identify likely operational pain points.
Output 4 (Competitor): Name their primary competitor.
Map each output to a separate column for downstream use in personalization.
Step 3: Build a Personalized Email Opener Column
Add an AI column (not Claygent -- use the faster AI model for text generation):
You are a sales copywriter. Write a personalized 2-sentence email opener for {{first_name}} at {{Company Name}}.
Context about the prospect:
- Title: {{Job Title}}
- Company size: {{Employee Count}} employees
- Industry: {{Industry}}
- Recent news: {{Recent News}}
- Tech stack: {{Tech Stack}}
Rules:
- Reference one specific fact about their company (not generic)
- Do NOT use "I noticed" or "I came across" (overused)
- Keep it under 40 words
- Sound human, not AI-generated
- End with a natural transition to your value prop
Step 4: Quality-Check AI Output Before Campaign Launch
Before using AI-generated copy in outreach:
// src/workflows/qa-clay-output.ts
interface ClayRow {
email: string;
company_name: string;
personalized_opener: string;
icp_score: number;
recent_news: string;
}
function qaCheck(row: ClayRow): { pass: boolean; issues: string[] } {
const issues: string[] = [];
// Check opener quality
if (!row.personalized_opener || row.personalized_opener.length < 20) {
issues.push('Opener too short or empty');
}
if (row.personalized_opener?.includes('{{')) {
issues.push('Unresolved template variable in opener');
}
if (/I noticed|I came across|I saw that/i.test(row.personalized_opener || '')) {
issues.push('Opener uses banned phrases');
}
// Check data completeness
if (!row.email) issues.push('Missing email');
if (row.recent_news === 'Not found') issues.push('No research data found');
if (row.icp_score < 50) issues.push('Low ICP score');
return { pass: issues.length === 0, issues };
}
Step 5: Export Campaign-Ready Data
Configure an HTTP API column to push qualified, personalized leads to your outreach tool:
{
"method": "POST",
"url": "https://api.instantly.ai/api/v1/lead/add",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {{Instantly API Key}}"
},
"body": {
"campaign_id": "your-campaign-id",
"email": "{{Work Email}}",
"first_name": "{{first_name}}",
"last_name": "{{last_name}}",
"company_name": "{{Company Name}}",
"personalization": "{{personalized_opener}}",
"custom_variables": {
"recent_news": "{{Recent News}}",
"tech_stack": "{{Tech Stack}}"
}
}
}
Set conditional run: ICP Score >= 70 AND ISNOTEMPTY(Work Email) AND ISNOTEMPTY(personalized_opener)
Step 6: Claygent Navigator for Dynamic Websites
For sites that require interaction (filtering, clicking, scrolling):
- Add a Claygent column with Navigator mode enabled
- Navigator can click buttons, fill search forms, and extract data from dynamic pages
Navigate to {{domain}}/pricing and extract:
1. Number of pricing tiers
2. Starting price
3. Whether they offer a free tier
4. Enterprise pricing model (contact sales vs. listed)
If the pricing page requires interaction (e.g., toggle annual/monthly), switch to annual pricing first.
Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| Claygent returns "Not found" | Company too small or private | Skip personalization, use generic opener |
| AI opener references wrong company | Column mapping error | Verify {{column}} references match table headers |
| Claygent timeout | Complex research prompt | Simplify prompt, break into multiple columns |
| High credit cost per row | Claygent + AI + enrichment stacking | Run Claygent only on ICP-qualified rows (score >= 60) |
| Template variables in output | AI hallucinating Clay syntax | Add "Do not include curly braces" to prompt |
Output
- Claygent research data (news, tech stack, competitors) per prospect
- Personalized email openers at scale
- Campaign-ready export to outreach tools
- QA report flagging low-quality rows
Resources
- Clay University -- Claygent AI Web Scraper
- Clay -- 11 AI Prompts for Prospect Research
- Claygent Product Page
Next Steps
For common errors, see clay-common-errors.