| name | apollo-migration-deep-dive |
| description | Comprehensive Apollo.io migration strategies.
Use when migrating from other CRMs to Apollo, consolidating data sources,
or executing large-scale data migrations.
Trigger with phrases like "apollo migration", "migrate to apollo",
"apollo data import", "crm to apollo", "apollo migration strategy".
|
| allowed-tools | Read, Write, Edit, Bash(kubectl:*), Bash(curl:*) |
| version | 1.13.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","apollo","migration","scaling"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Apollo Migration Deep Dive
Current State
!npm list 2>/dev/null | head -10
Overview
Migrate contact and company data into Apollo.io from other CRMs (Salesforce, HubSpot) or CSV sources. Uses Apollo's Contacts API for creating/updating contacts and Bulk Create Contacts endpoint for high-throughput imports (up to 100 contacts per call). Covers field mapping, assessment, batch processing, reconciliation, and rollback.
Prerequisites
- Apollo master API key (Contacts API requires master key)
- Node.js 18+
- Source CRM export in CSV or JSON format
Instructions
Step 1: Define Field Mappings
interface FieldMapping {
source: string;
target: string;
transform?: (v: any) => any;
required: boolean;
}
const salesforceMap: FieldMapping[] = [
{ source: 'FirstName', target: 'first_name', required: true },
{ source: 'LastName', target: 'last_name', required: true },
{ source: 'Email', target: 'email', required: true },
{ source: , : , : },
{ : , : , : },
{ : , : , : },
{ : , : , : ,
: url?.() ? url : },
{ : , : , : },
];
: [] = [
{ : , : , : },
{ : , : , : },
{ : , : , : },
{ : , : , : },
{ : , : , : },
{ : , : , : },
{ : , : , : },
];
(): <, > {
: <, > = {};
( m mappings) {
value = record[m.];
(m. && !value) ();
(value && m.) value = m.(value);
(value) mapped[m.] = value;
}
mapped;
}