<< All versions
Skill v1.0.0
currentAutomated scan100/100frontal-so/gtm-os/clay-mastery
──Details
PublishedSeptember 27, 2026 at 12:19 PM
Content Hashsha256:2ef06f41c4edbb37...
Git SHA26e80adb414e
──Files
Files (1 file, 8.1 KB)
SKILL.md8.1 KBactive
SKILL.md · 228 lines · 8.1 KB
version: "1.0.0"
Clay Mastery — GTME Operations Playbook
Standard Frontal Table Layout
Every Clay table follows this 9-phase column structure, left to right:
| # | Phase | Example Columns | |
|---|---|---|---|
| 1 | Input | Company Name, Domain, LinkedIn URL | |
| 2 | Company Enrichment | Industry, Employee Count, Revenue, Funding, Tech Stack | |
| 3 | Signal Detection | Hiring Count, News, LinkedIn Ads, Growth Rate | |
| 4 | Contact Discovery | Full Name, Title, Email, LinkedIn URL | |
| 5 | Email Waterfall | Prospeo Email, LeadMagic Email, Wiza Email, Hunter Email, FullEnrich Email | |
| 6 | Email Verification | Verified Email, Verification Status, Bounce Risk | |
| 7 | AI Qualification | AI - Company Tier, AI - Contact Tier, AI - ICP Score | |
| 8 | AI Personalization | AI - Custom Signal, AI - Opening Line, AI - Value Prop | |
| 9 | Output | Final Email, Sequence Tag, Campaign Assignment |
Naming rules:
- Prefix enrichment sources:
LI - Employee Count,Apollo - Revenue - Prefix AI columns:
AI - Company Tier,AI - Opening Line - Title Case for all column names
- Input left, enrichments in execution order, output right
Email Waterfall — Frontal's Exact Sequence
| Step | Provider | Coverage | Clay Credits | Condition | |
|---|---|---|---|---|---|
| 1 | Prospeo (own API) | ~68% | 0 | Always run | |
| 2 | LeadMagic (own API) | +15% | 0 | Only if Prospeo empty | |
| 3 | Wiza | +4-5% | Clay credits | Only if above empty | |
| 4 | Hunter | +2-3% | Clay credits | Only if above empty | |
| 5 | FullEnrich | +5-7% | Clay credits | Nuclear option | |
| 6 | Debounce (own API) | Verification | 0 | Run on ALL found emails |
Setting up conditional runs:
- Click enrichment column settings
- Under "Run conditions" select "Only run when"
- Set:
[Previous Email Column] is empty
Final email formula:
javascript
{{Prospeo - Work Email}} || {{LeadMagic - Work Email}} || {{Wiza - Work Email}} || {{Hunter - Work Email}} || {{FullEnrich - Work Email}} || ""
Credit Optimization Matrix
Zero-Credit Operations (Use Own API Keys)
| Data Point | Tool | Notes | |
|---|---|---|---|
| News | Serper (own API) | Free with your key | |
| Gen AI / Claygent | GPT-4o-mini (own OpenAI API) | Default model for ALL Claygent | |
| Email finding | Prospeo, LeadMagic, Datagma (own APIs) | Steps 1-2 of waterfall | |
| Email verification | Debounce (own API) | Ping Alex for refill | |
| Domain lookup | Serper, Clearbit | Free tier | |
| Technology detection | Claygent + BuiltWith URL | GPT-4o-mini reads the page | |
| LinkedIn Ads detection | Serper (own API) | Search for ads | |
| Cell manipulation | Clay AI Formula Writer | Built-in, always free |
1-Credit Operations
| Data Point | Tool | |
|---|---|---|
| Company enrichment | ||
| Contact enrichment | ||
| Headcount data | ||
| Growth/hiring data | ||
| Fundraising data | Intellizence | |
| Site traffic (e-comm) | Store Leads | |
| Open jobs | LinkedIn or PredictLeads | |
| Website competitors | Google Search + GPT-4o-mini |
2-3 Credit Operations
| Data Point | Tool | |
|---|---|---|
| Website traffic/SEO | Semrush (2 credits) | |
| Reviews | Capterra or G2 via Zenrows (3 credits) |
Key principle: Set up own API keys in Clay Settings > Integrations. This turns most 1-credit operations into 0-credit operations.
Copy-Paste Formulas
First Name Cleaning
javascript
{{First Name}}?.replace(/[^a-zA-Z- ]/g, "").trim().split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join(' ').replace(/\s.*/,'')
Company Name Cleaning (remove suffixes)
javascript
{{Company Name}}?.replace(/(Technologies|Solutions|Services|Limited|LLC|KGga|Software|Telecommunications|Business|Sales|Ltd|Co|Corp|Company|Marketing|Partners|Advisors|Recruitment|Executive Search|&)$|(Solutions|Services|& |,|\/|\\|\\\\|:).*|(USA|US|Australia|UK|China|Canada|Germany|India|Worldwide)$|[. ]$|self employed/gi, match => match.toLowerCase() === 'self employed' ? 'your company' : '')
Domain from URL
javascript
{{Website}}?.replace(/^https?:\/\/(www\.)?/, '').replace(/\/.*/, '').toLowerCase()
Domain from Email
javascript
{{Email}}?.split('@')[1]?.toLowerCase()
LinkedIn URL Cleanup
javascript
{{LinkedIn URL}}?.replace(/\?.*/, '').replace(/\/+$/, '').toLowerCase()
Title Seniority Check (returns true for senior titles)
javascript
/^(C[A-Z]O|Chief|VP|Vice President|Director|Head of|SVP|EVP|President|Founder|Co-Founder|Partner|Owner|Managing Director)/i.test({{Title}} || '')
Employee Count Bucket
javascript
(n => n <= 10 ? '1-10' : n <= 50 ? '11-50' : n <= 200 ? '51-200' : n <= 500 ? '201-500' : n <= 1000 ? '501-1000' : '1000+')({{Employee Count}} || 0)
Combine First + Last Name
javascript
[{{First Name}}, {{Last Name}}].filter(Boolean).join(' ').trim()
Claygent Prompts That Work
Company Qualification
You are qualifying companies for a B2B outbound campaign. Assign a tier:Tier 1: B2B software companies with 40+ headcount that sell to other businessesTier 2: B2B companies that sell digitally but are not softwareTier 3: Companies in a relevant industry but not ideal fitCompany: {{Company Name}}Industry: {{Industry}}Employee Count: {{Employee Count}}Description: {{Company Description}}Return ONLY: "Tier 1", "Tier 2", or "Tier 3" followed by a one-sentence reason.
Contact Qualification
Based on the job title, assign a seniority tier:Tier 1: C-level, VP, Founder, Head of, Director (budget authority)Tier 2: Manager, Senior (internal champions)Tier 3: Associate, Coordinator, Specialist (end users)Title: {{Title}}Return ONLY: "Tier 1", "Tier 2", or "Tier 3"
Personalized Opening Line
Write a cold email opening line (1 sentence, under 20 words):Signal: {{Signal/Trigger}}Company: {{Company Name}}Person: {{First Name}}, {{Title}}Rules:- Reference the signal naturally- Sound human, not AI- Don't pitch anything- Don't start with "I noticed" or "I saw"- Make it about THEM
Tech Stack Detection (0 credits via own API)
Visit this BuiltWith URL and list key technologies:{{BuiltWith URL}}Return comma-separated top 10 relevant technologies (CRM, marketing automation, analytics, web framework only). Ignore tracking pixels and common libraries.
Best Practices
- Pre-filter before enrichment — Use filters to avoid spending credits on non-targets
- Cheapest tool first — 0-credit APIs before Clay integrations
- Test on 50-100 rows first — Verify quality before running full table
- Cache everything — Don't re-enrich existing data
- GPT-4o-mini default — Only escalate to larger models when mini fails
- Duplicate templates — Never edit the original
- Column order = execution order — Inputs left, enrichments in sequence, output right
Debugging Checklist
When enrichments fail, check in this order:
- Is the input column actually populated?
- Is the input format correct? (LinkedIn URLs need full path, domains need no protocol)
- Is your API key active? (Clay Settings > Integrations)
- Is the run condition correct? ("Only run when" settings)
- Has the provider changed their API? (Check Clay changelog)
| Common Error | Cause | Fix | |
|---|---|---|---|
| "No results found" | Wrong input format | Check URL/domain format | |
| Empty enrichment | Provider has no data | Move to next in waterfall | |
| Rate limit | Too many requests | Reduce batch size | |
| Incorrect AI output | Vague prompt | Add examples, constrain format | |
| Duplicate rows | Multiple sources returning same person | Dedup on LinkedIn URL | |
| High credit usage | Expensive providers running first | Reorder waterfall |
_Part of Frontal — free, open GTM skills for your AI agent. Browse the library →_