CRM Enrichment
1. The Problem
A CRM full of stale, incomplete, or incorrectly categorised data is worse than no CRM at all. It generates false pipeline confidence, misdirects sales effort, and produces reports that management makes decisions from without knowing the underlying data is unreliable. Most CRMs degrade within six months of implementation — not because the platform is bad, but because manual data entry is the weakest link in any system that depends on it.
2. Integration & Webhook Setup
Follow the exact steps below to configure and deploy this automation inside your OpenClaw workspace.
- 1Create a new agent named `crm-enrichment`. Connect your CRM with read/write access. The agent needs permission to create and update custom fields — ensure your CRM admin adds a 'Agent ICP Score' (number field) and 'Enrichment Status' (dropdown) before the first run.
- 2Configure your data enrichment sources: the agent uses a layered approach — Companies House API (free, UK company data), LinkedIn public data (scraped within terms of service), and optionally Clearbit or Apollo enrichment APIs for deeper company intelligence.
- 3Define your ICP Scoring Model in the `SCORING_CRITERIA` section: assign weights (1–10) to each criterion — industry match, company size band, revenue signal, tech stack alignment, and engagement signal. The agent calculates a weighted score 0–100 for every record.
- 4Set your `SCORE_THRESHOLDS`: Hot (75–100), Warm (50–74), Cool (25–49), Unqualified (<25). Configure which CRM pipeline stage each score tier populates — your sales team's view of the pipeline should automatically surface the hottest leads at the top.
- 5Schedule the enrichment run: `openclaw schedule crm-enrichment --cron "0 2 * * *"` for 2am nightly. Avoid running during business hours to prevent API rate limit conflicts with sales team CRM usage.
3. The Context Payload (context.json)
Save this file as: .openclaw/agents/crm-enrichment/context.json
{
"automation_id": "16",
"title": "CRM Enrichment",
"level": 2,
"tier": "Agency Foundation",
"setup_time": "4–5 hours",
"estimated_api_cost": "~$15–$30/mo",
"client_price_range": "$500–$2,000",
"agents": [
{
"role": "orchestrator",
"model": "claude-3-5-sonnet",
"temperature": 0.2,
"max_tokens": 4096
}
],
"memory": "session",
"output_format": "structured_json",
"human_review_gate": true,
"documentation_standard": "required"
}4. Execution Commands
Run these commands from your openclaw-workshop/ directory to validate, test, and schedule this automation. Commands are taken directly from The OpenClaw Income Engine, Appendix F.
# ── STEP 1: Test API connections ──
$ openclaw run crm-enrichment --test --verbose
$
# ── STEP 2: Run against 10 CRM records (dry run — no updates) ──
$ openclaw run crm-enrichment --limit 10 --dry-run
$
# ── STEP 3: Review enrichment quality ──
# Check: are scores reasonable? Are company lookups accurate?
# Adjust scoring_criteria weights in context.json if needed.
$
# ── STEP 4: Run live batch (first 50 records) ──
$ openclaw run crm-enrichment --batch 50 --live
$
# ── STEP 5: Schedule weekly enrichment run ──
$ openclaw schedule crm-enrichment --cron "0 2 * * 5"
$
# ── Enrich a single contact on demand ──
$ openclaw run crm-enrichment --contact-id <crm_contact_id>
$
# ── Re-enrich stale records only (older than 90 days) ──
$ openclaw run crm-enrichment --mode stale-only
$
# ── Export enrichment report as CSV ──
$ openclaw run crm-enrichment --history --export csv --output ./enrichment_report.csv