Execute Clay secondary workflow: Core Workflow B.
Use when implementing secondary use case,
or complementing primary workflow.
Trigger with phrases like "clay secondary workflow",
"secondary task with clay".
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-a with 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.
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:
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