Service

Systems integration

Making the systems you already pay for talk to each other, reliably, without a person in the middle re-typing things.

A typical business runs a website, a CRM, an accounting package, a payment provider, a booking tool and a messaging channel. Each was chosen sensibly on its own. Between them sit the gaps, and in those gaps sit people copying data from one screen into another, which is slow, error-prone and entirely invisible in any budget.

Integration work closes those gaps. It is unglamorous, it is where a large share of practical operational improvement actually comes from, and it is usually cheaper than replacing any of the systems involved.

Why this is worth doing properly

The economics favour integration over consolidation. Replacing a working system to reduce the number of systems is expensive, disruptive and frequently produces a worse fit. Connecting them properly costs a fraction and keeps each tool doing what it is good at.

The difficulty is that integrations are where responsibility becomes ambiguous. Each vendor supports its own product and nobody owns the space between them, so when a sync fails the answer from both sides is that their system is working correctly. Somebody has to own the connection itself, including the monitoring.

Direction of truth is the design decision that matters most. When two systems both hold a customer record and both can edit it, you need an explicit rule about which one wins, or you get silent divergence that surfaces months later as two versions of the same customer with different addresses.

Where this work usually goes wrong

Two-way sync without a rule for conflicts

If both systems can edit the same field, something must decide which change wins. Without that rule, records diverge quietly and nobody notices until a bill goes to an old address.

No idempotency

Webhooks get delivered more than once. An integration that creates a record every time it receives a message will produce duplicates under retry, which is a normal condition rather than an edge case.

Failing silently

A sync that stops working without alerting anyone means the two systems drift apart while everyone assumes they are aligned. Failure alerting is the core requirement, not an addition.

No handling of rate limits

Bulk operations that ignore API limits get throttled or blocked mid-run, leaving a partial state. Backoff and resumable processing belong in the first version.

Undocumented field mappings

Six months later nobody remembers why a field maps the way it does, and changing anything becomes archaeology. The mapping is documentation that has to be maintained.

What this covers

Website-to-CRM integration
Form submissions into the CRM with source, campaign and consent status preserved.
CRM-to-accounting integration
Won deals becoming invoices without re-entry, with reconciliation back to payment status.
E-commerce integrations
Orders, stock, customers and fulfilment synchronised between storefront and back office.
Payment-system integration
Stripe and regional providers connected to orders and accounting, including refunds and chargebacks.
Gmail and Google Calendar integration
Mail and calendar tied to CRM records so history and availability are visible where decisions are made.
WhatsApp integration
Business API conversations logged against the contact record rather than living on someone’s phone.
Booking-system integration
Appointments creating CRM activity, reminders and, where relevant, invoices.
POS and inventory integrations
In-person sales and stock reflected in the same system as online.
ERP integration
Connections to the system of record for stock, purchasing and finance, respecting its constraints.
Marketing-platform integration
Audiences, consent state and campaign data flowing both directions with suppression respected.
Social-media platform integration
Lead forms, messaging and ad platform conversion feedback wired into the CRM.
Custom API development
Building the endpoint that does not exist, documented and versioned, when a vendor offers no suitable one.
Legacy-system integration
Connecting older systems through files, database access or a wrapper API where no modern interface exists.
Data synchronisation between platforms
Scheduled and event-driven sync with conflict rules, idempotency and reconciliation reporting.

How the work runs

Delivery sequence The delivery sequence for systems integration, in order. Each phase is described below. 01 Map the data andthe direction oftruth 02 Design for repeatdelivery 03 Handle limits andfailure 04 Reconcilecontinuously 05 Document themapping 06 Monitor and own it
The delivery sequence for systems integration, in order. Each phase is described below.
  1. Map the data and the direction of truth

    Which system owns which field, which direction each flows, and what happens on conflict. Agreeing this before building prevents the class of problem that is hardest to detect afterwards.

  2. Design for repeat delivery

    Idempotent operations keyed on a stable identifier, so a duplicated webhook or a retried job cannot create duplicate records.

  3. Handle limits and failure

    Rate limit backoff, resumable batches, dead-letter handling for messages that cannot be processed, and alerting when anything lands there.

  4. Reconcile continuously

    A scheduled comparison of record counts and key fields across systems, reporting divergence. This is how silent drift gets caught.

  5. Document the mapping

    Field-by-field mapping with transformation rules, maintained as the integration changes, so future work is not reverse engineering.

  6. Monitor and own it

    Somebody has to own the space between the vendors. Under a support arrangement that is us, with a defined response window.

What you receive

You probably need this if

What we build and work with

Integration glue chosen so it can be inspected, versioned and run wherever the data is permitted to be.

n8n, self-hosted
The default connector layer, self-hosted so data stays on your infrastructure and there is no per-execution charge at volume.
Custom Python services
Where an integration needs logic, state or performance beyond what a workflow tool expresses clearly.
Webhook receivers with queueing
Inbound events accepted quickly and processed asynchronously, so a slow downstream system cannot cause dropped deliveries.
PostgreSQL
Sync state, idempotency keys and reconciliation history, so the integration can answer what it did and when.
Vendor APIs and SDKs
Official interfaces used within their terms and rate limits, with version changes tracked.
Monitoring and dead-letter alerting
Failed messages surfaced to a human rather than discarded, with a defined replay procedure.
Version control
Workflow definitions and mappings committed, so changes are reviewable and recoverable.

What changes once this is in place

Nobody re-types data
Records move between systems automatically, removing both the labour and an entire class of transcription error.
Divergence is detected
Scheduled reconciliation reports mismatches, so the two systems cannot drift apart unnoticed for months.
Duplicates stop appearing
Idempotent processing keyed on stable identifiers, so retried deliveries do not create second copies.
Someone owns the gaps
The space between vendors has a named owner with monitoring and a response window, rather than being nobody’s problem.
Keep the tools that work
Connecting systems rather than consolidating them avoids an expensive migration and a worse fit.

How this differs by market

The work is the same craft everywhere. What changes is the law, the language and the buying culture — and those change enough to matter.

European Union

Moving personal data between systems is processing under the GDPR, requiring a lawful basis, purpose limitation and processor agreements with each vendor in the chain. Where an integration crosses a border, the transfer mechanism has to be documented. Consent state must travel with the record, or a suppression in one system will not be honoured in another.

Nordics

National e-invoicing standards and the Peppol network are widely used across the Nordic countries, and accounting integrations frequently need to speak them rather than exchanging PDFs. BankID and MitID identity flows also commonly need connecting to CRM and booking systems.

United States and Canada

Sector requirements shape what may be connected: HIPAA business associate agreements for health data, PCI scope boundaries limiting where card data can flow. Consent state matters particularly for Canadian records, since CASL obligations follow the contact across systems.

United Arab Emirates

WhatsApp is a primary commercial channel, so integrating the Business API into the CRM is frequently the highest-value single integration available. VAT handling must be correct in any order-to-invoice flow, and DIFC or ADGM entities may face constraints on where integrated data can be processed.

Not legal advice. Regulatory summaries on this site describe how we scope and build, and are current to our latest review. Verify the operative text with qualified counsel in the relevant jurisdiction before relying on it.

How we know it worked

Sync success rate, reconciliation divergence count and mean time to detect a failure. Divergence count is the honest measure of whether the integration is doing its job, and it should trend toward zero and stay there.

We also measure manual handling time removed against a baseline captured before the work. Where no baseline exists we say the saving is unmeasured rather than estimating it.

Duplicate record creation is tracked explicitly after launch, because it is the most common symptom of an integration that works in testing and fails under real retry conditions.

Estimates are labelled as estimates. Any figure on this site that describes a range is a planning estimate with its assumptions stated, not a measured client outcome. We do not publish client results without the client's permission and a date.

Questions

Should we integrate or replace a system?

Integrate, in most cases. Replacing a working system to reduce tool count is expensive and disruptive, and the replacement usually fits some part of the process worse. Replacement makes sense when the system is genuinely failing, not when it is merely separate.

What if a vendor has no API?

There are usually options — scheduled file exchange, direct database access, or email parsing. Browser automation is a last resort because it is brittle and often breaches terms. Sometimes the honest answer is that the integration is not worth building.

What does it cost?

Quoted per integration after the data mapping, since complexity varies enormously between a form-to-CRM connection and a two-way ERP sync. Ongoing monitoring is a retainer.

What happens when a vendor changes their API?

It breaks eventually, for everyone. That is why monitoring and a support arrangement matter for any integration the business depends on — the question is whether you find out from an alert or from a customer.

Can you connect our old on-premise system?

Usually. Legacy integration through database access, file exchange or a thin wrapper API is common work, and it is often preferable to replacing a system that otherwise functions.

Who owns the integrations you build?

You do. Workflow definitions and code sit in your repository and run on your infrastructure, documented well enough for another supplier to take over.

Related services

Sectors where this is usually the lead engagement

These are the industries where this discipline is typically the first thing a client buys rather than something added later. The link goes to a page written for that sector specifically, with a paragraph on this service and on every other one.

It appears on all thirty sector pages, because every one of them carries a paragraph on all twenty-two services. This list names only the sectors where it tends to lead.

Where we deliver this

This service is delivered across the European Union, the Nordic countries, North America and the United Arab Emirates. The craft does not change; the law, the language and the buying culture do. Consent regimes, invoicing mandates and payment conventions differ enough between markets that a campaign or a system built for one frequently cannot be used unchanged in another.

Each country page sets out what actually differs there and what it means for scope — all 32 countries and 10 cities are listed here. A few of the markets we work in most:

Start a conversation

Tell us what you are trying to change and we will tell you whether this is the right service for it — including when it is not.

Get in touch

Tell us what you are trying to change

Describe the problem rather than the service — the two frequently differ, and working out which is which is the useful part of a first conversation. We reply within one working day, and if it is outside what we do well you will hear that in the reply rather than after a call.

We use what you send to reply to you. Nothing else, and no list.

WhatsApp