Repairing records at the CRM import boundary
An example workflow for validating and normalizing records the moment they enter a CRM, so bad data never lands in the first place.
The challenge
Records enter a CRM from forms, imports, and integrations in whatever shape the source sends. Cleaning them after the fact is a recurring project; the fix is to repair at the boundary.
Data before & after
Before
{
"email": "JANE@doe.io",
"phone": "415.555.0142",
"website": "doe.io",
"country": "usa"
}After
{
"email": "jane@doe.io",
"phone": "+14155550142",
"website": "https://doe.io",
"country": "US"
}The workflow
- Send each inbound record to Repair before it is written to the CRM.
- Validate email and required fields; hold records that fail hard checks.
- Write the normalized record, or route held records to a review queue.
Capabilities used
Repair
POST /api/v1/repairValidate
POST /api/v1/validateProblems detected
- Mixed-case emails and inconsistent phone formats
- Bare domains without a scheme
- Country values in inconsistent forms (usa, U.S.A., United States)
- Missing required fields
Repairs performed
- Emails lowercased and validated
- Phones normalized to E.164
- Websites canonicalized to a full URL
- Country mapped to an ISO country code
Illustrative figures
Example dataset — illustrative only, not a customer result.
- 5,000
- Records processed
- 742
- Formatting problems detected
- 38
- Records held for review
Implementation
Call Repair from the handler that receives inbound records. Treat validation failures as a hold signal and route them to a review queue instead of writing them.
bash
curl -X POST https://zapinner.com/api/v1/validate \
-H "Authorization: Bearer $ZAPINNER_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "record": { "email": "JANE@doe.io" } }'Technical architecture
- Repair-at-the-boundary keeps the CRM clean without a recurring bulk cleanup job.
- Hard validation failures become a review queue, not a silent drop.
- Idempotent requests make retries safe if your import job restarts.
Fix messy data before it breaks your workflow.
Start free with 1,000 credits a month across every capability — no credit card required.
