ZAPINNER
Example workflow

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

  1. Send each inbound record to Repair before it is written to the CRM.
  2. Validate email and required fields; hold records that fail hard checks.
  3. Write the normalized record, or route held records to a review queue.

Capabilities used

RepairPOST /api/v1/repair
ValidatePOST /api/v1/validate

Problems 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.