Skip to main content Execute Clay production deployment checklist and rollback procedures.
Use when deploying Clay integrations to production, preparing for launch,
or implementing go-live procedures.
Trigger with phrases like "clay production", "deploy clay",
"clay go-live", "clay launch checklist".
npx skills add jeremylongshore/claude-code-plugins-plus-skills --skill clay-prod-checklist ai automation claude-code devops mcp ai-agents
Clay Production Checklist
Overview
Complete checklist for launching Clay enrichment pipelines in production. Covers table configuration, credit budgeting, webhook reliability, CRM sync validation, and monitoring setup.
Prerequisites
Clay table tested with sample data (100+ rows enriched successfully)
CRM integration tested in staging
Credit budget approved for monthly volume
Team trained on Clay table management
Instructions
Phase 1: Table Configuration
Phase 2: Data Quality Gates
Deduplication active -- duplicate records detected before sending to Clay
Sample enrichment run completed -- 500+ row test with >60% email find rate
Credit cost per row calculated -- know your average credits per enriched lead// Pre-submission validation (run before pushing to Clay)
function validateForProduction(rows: any[]): { valid: any[]; rejected: any[] } {
const personalDomains = ['gmail.com', 'yahoo.com', 'hotmail.com', 'outlook.com', 'icloud.com'];
const seen = new Set<string>();
const valid: any[] = [];
const rejected: any[] = [];
for (const row of rows) {
const key = `${row.domain}:${row.first_name}:${row.last_name}`.toLowerCase();
if (!row.domain?.includes('.'))
rejected.push({ row, reason: 'invalid domain' });
else if (personalDomains.some(d => row.domain.endsWith(d)))
rejected.push({ row, reason: 'personal email domain' });
else if (seen.has(key))
rejected.push({ row, reason: 'duplicate' });
else {
seen.add(key);
valid.push(row);
}
}
console.log(`Validation: ${valid.length} valid, ${rejected.length} rejected (${(rejected.length / rows.length * 100).toFixed(1)}% filtered)`);
return { valid, rejected };
}
Phase 3: Credit & Cost Controls Plan Monthly Credits Actions HTTP API Webhook Limit Launch 2,500 15,000 No 50K/webhook Growth 6,000 40,000 Yes 50K/webhook Enterprise Custom Custom Yes 50K/webhook
Phase 4: Integration Reliability # Pre-flight connectivity checks
echo "=== Clay Production Pre-flight ==="
# 1. Webhook reachable
curl -s -o /dev/null -w "Webhook: HTTP %{http_code}\n" \
-X POST "$CLAY_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{"_preflight": true}'
# 2. Enterprise API (if applicable)
if [ -n "${CLAY_API_KEY:-}" ]; then
curl -s -o /dev/null -w "Enterprise API: HTTP %{http_code}\n" \
-X POST "https://api.clay.com/v1/people/enrich" \
-H "Authorization: Bearer $CLAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected] "}'
fi
# 3. Callback endpoint reachable
curl -s -o /dev/null -w "Callback endpoint: HTTP %{http_code}\n" \
"https://your-app.com/api/health"
Phase 5: Monitoring & Alerting
Phase 6: Documentation & Runbooks
Error Handling Alert Condition Action Credit balance low < 500 credits remaining Pause enrichments, add credits or connect own keys Email find rate drop < 40% for 2+ hours Check input data quality, review provider status Webhook 429s > 5 per hour Reduce submission rate, check plan limits CRM sync failures > 10 per batch Check CRM field mapping, verify API key
Resources
Next Steps For version upgrades, see clay-upgrade-migration.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).