clay-core-workflow-b
Use Claygent AI research and AI-powered personalization to generate outreach copy from enriched data. Use when writing personalized email openers, running Claygent research prompts, or configuring AI columns for campaign personalization at scale. Trigger with phrases like "clay AI personalization", "claygent research", "clay outreach copy", "clay secondary workflow", "clay AI column".
What this skill does
# 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:
1. Click **+ Add Column > Use AI (Claygent)**
2. Choose model: **Claygent Neon** (best for data extraction and formatting)
3. 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.
```
1. 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:
```typescript
// 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:
```json
{
"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):
1. Add a Claygent column with **Navigator** mode enabled
2. 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](https://www.clay.com/university/lesson/claygent-ai-web-scraper-clay-101)
- [Clay -- 11 AI Prompts for Prospect Research](https://www.clay.com/university/lesson/11-ai-prompts-to-automate-prospect-research-with-claygent-automated-outbound)
- [Claygent Product Page](https://www.clay.com/claygent)
## Next Steps
For common errors, see `clay-common-errors`.
Related in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".