SKILL.md
Clay Migration Deep Dive
Overview
Comprehensive guide for migrating from standalone enrichment tools (ZoomInfo, Apollo, Clearbit, Lusha) to Clay, or consolidating multiple tools into a single Clay-based pipeline. Clay replaces the need for individual provider subscriptions by aggregating 150+ providers into waterfall enrichment workflows.
Prerequisites
- Current enrichment tool subscription(s) with data export capability
- Clay account on Growth or Enterprise plan
- Understanding of current enrichment volume and costs
- CRM with existing enriched data
Migration Types
| Migration | Complexity | Duration | Risk |
|---|---|---|---|
| Single provider -> Clay | Low | 1-2 weeks | Low |
| Multiple providers -> Clay | Medium | 2-4 weeks | Medium |
| Custom scripts -> Clay | Medium | 2-4 weeks | Medium |
| Full GTM stack migration | High | 1-2 months | High |
Instructions
Step 1: Audit Current Enrichment Stack (Week 1)
// migration/audit.ts — document your current enrichment setup
interface EnrichmentAudit {
provider: string;
monthlyVolume: number;
monthlyCoost: number;
dataFields: string[];
hitRate: number; // % of lookups that return data
integrationMethod: string; // API, CSV, Zapier, native CRM
canExportHistory: boolean;
}
const currentStack: EnrichmentAudit[] = [
{
provider: 'ZoomInfo',
monthlyVolume: 5000,
monthlyCoost: 15000, // ZoomInfo is expensive
dataFields: ['email', 'phone', 'title', 'company', 'revenue'],
hitRate: 75,
integrationMethod: 'API + Salesforce native',
canExportHistory: true,
},
{
provider: 'Apollo.io',
monthlyVolume: 3000,
monthlyCoost: 400,
dataFields: ['email', 'title', 'company', 'linkedin'],
hitRate: 65,
integrationMethod: 'API',
canExportHistory: true,
},
{
provider: 'Custom Python scripts',
monthlyVolume: 1000,
monthlyCoost: 0, // Just developer time
dataFields: ['email', 'company_data'],
hitRate: 40,
integrationMethod: 'Cron job + DB',
canExportHistory: true,
},
];
function generateMigrationReport(stack: EnrichmentAudit[]): void {
const totalCost = stack.reduce((s, p) => s + p.monthlyCoost, 0);
const totalVolume = stack.reduce((s, p) => s + p.monthlyVolume, 0);
console.log(`Current stack: ${stack.length} providers`);
console.log(`Total monthly cost: $${totalCost}`);
console.log(`Total monthly volume: ${totalVolume} lookups`);
console.log(`Average hit rate: ${(stack.reduce((s, p) => s + p.hitRate, 0) / stack.length).toFixed(0)}%`);
console.log(`\nClay equivalent (Growth plan): $495/mo + provider API keys`);
}
