Case Study · CRM Automation
We replaced 200 hours of LinkedIn research with a 2-hour automation. A venture firm needed to enrich and verify hundreds of investor records — here's exactly how we built it.
The problem
The client needed to keep a large investor relationship database accurate across multiple systems — email, calendar, spreadsheets, and finance. The database had common failure modes that compounded over time:
They evaluated investment CRMs that promised enrichment, but the reality was a rigid workflow and a schema that didn't match how the team actually worked.
The ask: keep Notion as the system of record, and make the data stay current without manual effort.
Before automation
Stack decisions
System of record
We build a lot of CRMs in Notion because it's flexible, fast to evolve, and easy to adopt. The native AI lets you search with natural language: "When's the last time we talked to Investor XYZ and what did we discuss?" — instead of applying filters and scanning rows.
The gap: Notion doesn't come with deep company intelligence by default. This client needed funding events, validated domains, and high-confidence contact details inside their existing workspace — not a migration.
Enrichment layer
The MCP connection to Claude was the surprise win. I could read and write Notion data without mapping fields. What would normally take an hour of configuration became a conversation.
Architecture
Four agents, each responsible for exactly one job. An orchestration layer keeps execution reliable across the full batch.
Looks up the right person from name + company, even with spelling variations or aliases. Returns a stable ID used for every enrichment step.
Picks the best current work email when multiple results come back. Checks domain matches expected company. Flags low-confidence results for human review.
Runs multi-step workflows in order. Handles batching and retries automatically. Tracks what already ran so partial failures don't restart from scratch.
Writes enriched data back into Notion. Stamps each record with a last-checked date. Keeps an audit trail: what changed, when, and how confident the match was.
Key workflow
A typical run, step by step. Each step either produces a result or marks the record for human review — no silent failures.
Notion triggers on record create/update. The webhook fires as soon as a new contact is added or an existing one is flagged for refresh.
Validate inputs. Check that name, firm, and Notion page URL are present. Skip and log any incomplete records rather than failing the whole batch.
Match the prospect. Name + company → stable Explorium ID. Handles aliases, maiden names, and common misspellings.
Enrich prospect data. Pull verified emails, phone, LinkedIn profile, and any public activity signals.
Infer expected domains from firm enrichment. Cross-reference the contact's email domain against the firm's known domains to catch role changes or aliases.
Select the best email. Apply validation rules: prefer work email, check domain match, reject anything below confidence threshold.
Update Notion or mark "no match". Write the enriched fields back. If no match found, set a status property so the record is easy to filter and review.
Store enrichment metadata. Log last-checked date, match confidence, and which fields changed. Gives the team full visibility into data freshness.
Lesson learned
Batching was the difference between "it works in a demo" and "it runs all week without babysitting." We found 3–5 records per batch was the sweet spot for stability. Our first run tried 20 at once, the MCP connection dropped mid-enrichment, and we spent an hour figuring out which records actually got written back. After that, 3–5 became a hard rule.
Results
Instead of chasing down company websites or guessing at funding data, the CRM now updates itself. Automation is smoother, and the database is always one step ahead. The team went from "who has time to clean this?" to running enrichment as a background task — no babysitting required.
Tool evaluation
This reflects our experience during the build. We recommend verifying current capabilities directly with each provider — these things change.
| Capability | Explorium | Crunchbase API | PitchBook API |
|---|---|---|---|
| Email enrichment | Verified professional + personal | Limited contact info | None |
| Batch processing | 40+ prospects per call | Sequential lookups | Unknown |
| MCP support | Yes | No | No |
| Real-time events | Funding, hiring, acquisitions | Delayed updates | Unknown |
| Flexible matching | Name + company, email, phone | UUID-based only | Unknown |
| Pricing model | Credit-based (scales, budget-friendly) | Per-call (expensive at scale) | Expensive per-seat annual license |
Common questions
It's the process of adding richer, more useful business data — like company websites or funding details — to your Notion CRM records, usually via API integration. Instead of looking up each record manually, you connect an enrichment provider that fills in the fields automatically.
Explorium's API connects to individual records and fills in important company and contact details without manual research. We used custom buttons in the Notion UI to give the client the ability to manually trigger enrichment for a single record, and more sophisticated looping logic to process multiple records in bulk overnight.
It's an advanced use case, but if you're already using API-based automations in Notion with an orchestrator like Zapier, n8n, Make, or Pipedream, adding Explorium is quick and straightforward. The main complexity is the batching logic and the field-matching rules — that's where most of the time went.
If you have a Notion Business plan and use it to manage relationships, Notion with enrichment becomes genuinely competitive with established CRMs — with a UI that's entirely flexible to how your company works. Especially powerful if you've connected your email to Notion AI, since you can then search across enriched contacts and email history together.
What this demonstrates
If you already use Notion for relationships and internal context, you don't need to migrate to a different CRM. You need an enrichment layer that is:
That's where agentic enrichment workflows earn their keep.
Want something like this for your CRM?
Schedule a call