Case study · B2B lead data
CRM Export Pipeline
Serverless export of B2B data into six CRMs and sales tools
At a glance
- Client
- A B2B lead-data platform
- Industry
- B2B lead data
- Role
- Architecture and engineering
- Stack
- AWS Lambda · Amazon SQS · AWS Step Functions
~7Kexport jobs a day
Project details
A B2B lead-data platform let its users export the companies and contacts they found straight into the tools their sales teams already use. This is the infrastructure behind that export: a serverless pipeline handling around 7,000 export jobs a day, each carrying up to 25,000 records, into Salesforce, HubSpot, Microsoft Dynamics, Pipedrive, Salesloft and Outreach.
Why exporting at scale is hard
Exporting a few hundred contacts into a CRM is simple. Doing it thousands of times a day, for lists of up to 25,000 records, into six destinations that each model data differently, is not. Every CRM has its own objects, fields and API limits, one bad record must not sink the rest of a job, and users need to know exactly what happened to each one.
Built on AWS
Export requests go onto an Amazon SQS queue, and AWS Step Functions orchestrate each job through Lambda functions. A 25,000-record export and a small one take the same path, with no servers to size for the peak, and the processing framework is built for low latency.
Every CRM is different
Each CRM and sales engagement platform has its own objects, fields and rules, so every destination has its own field mapping. Rule-based logic decides, record by record, whether to create or update, and deduplicates so the same company or contact is not written twice.
Charging only for new data
Exports draw on a credit system that charges users only for net-new data, so a record they already have costs nothing to send again. Every export produces a structured CSV report that lists each record as succeeded, failed or skipped. A history page keeps every export with its downloadable report, role-based access control governs who can export what, and the data is fully audited.
The life of an export
- Request — a user exports a list, and only net-new records draw on their credits
- Queue — the job goes onto Amazon SQS
- Orchestrate — AWS Step Functions run the job through Lambda functions
- Map — each record is mapped to the destination's fields
- Match — rule-based logic creates or updates each record and deduplicates
- Deliver — records are written to the CRM or sales engagement platform
- Report — a CSV marks every record as succeeded, failed or skipped, and the export joins the user's history
Around 7,000 export jobs a day, up to 25,000 records each, with every user charged only for the records that were new to them.
See the work in action. Start your project with us.
Start a projectOther Projects
- 01

OCRed
High-volume OCR ETL for a European toll agency
ETL ProductDocument Intelligence - 02
Sales Ops Engine
AI outreach pipeline with personalised video, built on n8n
AI AutomationWorkflow Orchestration - 03
Lead Discovery App
React Native app for finding and exporting B2B leads on the go
Mobile AppReact Native - 04

Tuku
High-availability URL shortener & analytics
Full-Stack ProductWeb Application - 05

CampFact
No-code digital campaign & journey builder for SMEs
Marketing AutomationNo-Code Editor - 06



TempMon
IoT orchestration for ambient control
IoT DashboardRealtime