| name | apollo-data-handling |
| description | Apollo.io data management and compliance.
Use when handling contact data, implementing GDPR compliance,
or managing data exports and retention.
Trigger with phrases like "apollo data", "apollo gdpr", "apollo compliance",
"apollo data export", "apollo data retention", "apollo pii".
|
| allowed-tools | Read, Write, Edit, Bash(kubectl:*), Bash(curl:*) |
| version | 1.13.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","apollo","compliance"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Apollo Data Handling
Overview
Data management, compliance, and governance for Apollo.io contact data. Apollo's database contains 275M+ contacts with PII (emails, phones, LinkedIn profiles). This covers GDPR subject access/erasure, data retention, field-level encryption, and audit logging — using the real Apollo Contacts API endpoints.
Prerequisites
- Apollo master API key (contacts/delete requires master key)
- Node.js 18+
Instructions
Step 1: GDPR Subject Access Request (SAR)
Find all data Apollo has on a person and export it.
import axios from 'axios';
const client = axios.create({
baseURL: 'https://api.apollo.io/api/v1',
headers: { 'Content-Type': 'application/json', 'x-api-key': process.env.APOLLO_API_KEY! },
});
interface SubjectAccessReport {
email: string;
dataFound: boolean;
crmContact?: Record<string, any>;
apolloDatabaseMatch?: Record<string, any>;
activeSequences: string[];
exportedAt: string;
}
export async function handleSAR(email: string): Promise<> {
: = {
email, : , : [],
: ().(),
};
{ : crmData } = client.(, {
: email,
: ,
});
(crmData.?. > ) {
c = crmData.[];
report. = ;
report. = {
: c., : c., : c., : c.,
: c., : c.,
: c., : c., : c.,
: c., : c.,
: c.,
: c.,
};
report. = c. ?? [];
}
{
{ : enrichData } = client.(, { email });
(enrichData.) {
report. = ;
report. = {
: enrichData..,
: enrichData..,
: enrichData..,
: enrichData..,
: enrichData..,
: enrichData..?.,
};
}
} { }
report;
}