CRM integration and automation
A CRM doesn't fail for lack of features. It fails because keeping it current is manual work, and manual work only happens when somebody is watching. Integration means taking the person doing the typing out of the middle.
The CRM looks immaculate the day before the sales meeting. The two months before that, it doesn't. When data quality tracks the meeting calendar, what you have is not a CRM: it is a report filled in after the fact.
Why switching CRM doesn't fix it either
A CRM migration is sold as the cure for the adoption problem, and for about three months it sometimes is. Then the same pattern comes back, because the cause was never the tool: it was that entering the information stayed the job of the person who gains least from entering it. A salesperson doesn't stop updating the CRM out of defiance; they stop because there are thirty seconds of friction between them and their next call. What changes behaviour is the record happening by itself.
The flows that have to be solved
Each one with the design decision that determines whether it survives production.
Multichannel lead capture with deduplication
Web form, WhatsApp, phone, paid campaign, trade fair. The same lead comes in through two or three doors with slightly different details, and it all has to resolve to a single record.
Without an explicit identity rule —which field wins, how much variation in the name is tolerated, what happens with two people from the same company— the CRM fills with duplicates and the team stops trusting it.
Model-assisted qualification and routing
Classifying a lead by sector, intent and urgency from free text is precisely what a model does well and what a decision tree does badly. Who the lead gets assigned to, on the other hand, is a business rule and should stay readable code.
Letting the model decide assignments or discounts turns an occasional mistake into a mistake nobody can explain to the customer.
Activity logged without typing
Calls, WhatsApp messages and emails show up on the record with their summary, without anyone copying anything across. The salesperson corrects; they don't transcribe.
Logging automatically with no access control and no retention policy drops customer conversations into a system that was never designed to hold them. That is a decision worth taking before, not after.
CRM ↔ ERP sync
The customer exists in both systems and both allow edits. The question is who owns each field: the trading name is usually the CRM's, the tax details and the credit limit belong to the ERP.
Bidirectional sync with no owner per field produces loops: A writes, B sees the change and writes back, A sees it again. You spot it immediately and it is a lot of work to clean up.
What you get
- ▪ Contact identity rule and a deduplication process
- ▪ Automated capture from every channel that is actually live
- ▪ Classification and routing with auditable criteria
- ▪ Sync with the ERP, with a declared owner per field
- ▪ Data quality dashboard: duplicates, incomplete records, untouched leads
How we build it
Idempotent by default
Every operation can be repeated without duplicating anything. That is what makes a retry safe, and without it no integration survives its first dropped connection.
Observable state
Every message has a state you can query: pending, sent, confirmed, failed. An integration you only notice when it breaks had already been breaking for a while.
One owner per field
For each field there is one system that decides and the others follow. Bidirectional sync without that rule ends in loops and in data that changes on its own.
AI where it judges, not where it calculates
Classifying, extracting and drafting are model work. Adding up, validating and routing are code work. Swapping them round is expensive and impossible to audit.
How we work
The people who run the diagnosis are the people who build it. No hand-offs. The full method and the rest of the capabilities are on the systems integration page.
- 01 Diagnosis · 3–5 days
We map systems, data flows and the dependencies that actually exist, including the ones nobody wrote down. Output: a closed scope and the list of what is broken today.
- 02 Integration design · 1 week
Data contracts, direction of sync, retry policy and who owns each field. This is settled before any code gets written, because it is the expensive thing to change later.
- 03 Build and testing · 2–6 weeks
Built against the real edge cases, not the happy path. Tested against the actual systems and rolled out in stages.
- 04 Production and observability · ongoing
Status dashboard, alerts when something has gone too long without confirmation, and maintenance of the integrations when third-party APIs change under you.
Related to this case
What usually comes before or after, with the reason we link it.
WhatsApp Business API
If a good share of the sales conversation happens on WhatsApp, the channel is part of the CRM.
Open →AI automation
Classifying leads and summarizing conversations is the model's share of the work inside this flow.
Open →ERP integration
The other end of the customer record, and the side that owns the tax and credit data.
Open →Which tool does the typing
Capture and sync run on an automation platform. This compares the three usual candidates and where each stops being the right answer.
Open →Questions about this case
Does this work with any CRM? +
With any CRM that exposes an API or webhooks, which today is practically the whole market. The real difference isn't the brand, it is two things: whether it lets you create custom fields to store the integration's trail, and whether its per-minute call limits hold up at your volume. Both get checked during the diagnosis, before we commit to a scope.
Does the AI decide which salesperson gets each lead? +
No, and that is deliberate. The model classifies —sector, intent, urgency— because that requires reading free text. The assignment is resolved with explicit rules on top of that classification, because it has consequences for people and commissions and has to be explainable and auditable. It is the same split we apply everywhere: the model interprets, the code decides.
What about the duplicates we already have? +
They get handled separately, and usually before anything is connected. A CRM that already carries duplicates and then starts receiving automated capture multiplies the problem. The initial clean-up is a bounded piece of work: define the identity rule, group the candidates, and review the ambiguous merges by hand once.
Does this replace the sales team? +
It replaces the part of their day spent copying information from one place to another. In the projects we have run, the measurable effect isn't a smaller headcount: it is that follow-up stops depending on each person's memory and leads stop going cold while somebody remembers to call them.
Start with the diagnosis
Three to five days to know what gets connected first, with scope and price closed before a line of code is written.
Talk to a specialist ↗Other cases