Capability 07 of 10 · Technology & Intelligence

API and system integration, with engineers on call after launch.

We connect your CRM, ERP, commerce and payment systems through APIs and events, so data moves without re-keying. Then our engineers look after the integrations under agreed service levels: monitoring, incident response, upgrades and improvements.

Typical length
4–10 weeks per phase
Approach
APIs · events · iPaaS
Support
SLA-backed support

Behind the heading, a transit-style map of a typical company’s systems: storefront, payments, ERP, warehouse, CRM, support desk, email, analytics and a data warehouse. An orders line, a customer line and a data line join them through one integration layer, with events moving along each line.

$ systems audit --hand-offs 30 tools · 15 manual hand-offs

Disconnected tools leave people copying data between them.

Tools added one at a time leave staff re-keying orders into the ERP, reconciling customer lists by hand and relying on nightly CSV exports that fail silently.

A board of thirty business tools. Today, fifteen manual copy-and-paste hand-offs cross between them, through spreadsheets such as Orders.xlsx, Leads.csv and a stock sheet. Connected, one integration line calls at every system and the six spreadsheets and duplicate tools are retired.

A desk at night: a monitor showing code, a tablet with a handwritten to-do list, sticky notes and a calculator
One order, by hand4 systems · 11 fields · about 6 minutes
Re-keying per week across a 12-person operations team
4hdown from 46 h
Customer records that disagree between CRM and ERP
0.2%down from 7.1%
Nightly CSV jobs that failed last quarter without an alert
0down from 9

Illustrative Figures for a typical mid-size retailer. The integration map in week two measures yours.

$ flow edit order-to-erp agent-assisted · schema-validated

Field mapping that stops unit and format errors reaching the ERP.

Map a storefront order to an ERP sales order by picking fields and transforms, or let an agent propose them. Every change is checked against the ERP’s schema and agent proposals wait for your approval.

Try it: set the transform on total_amount → amount to Direct, and watch the validation fail.

Interactive field mapper. Source fields from a storefront order event are listed first, then target fields of an ERP sales order. Select a source field, then a target field to connect them, choose a transform for each mapping and review the validation results and test delivery below. Auto-map proposes mappings with confidence scores for you to accept or reject. All data is fictional.

order-to-erpflow v3 · draft Valid · 10 mapped · 0 errors

Flow complete. Select any source field to change a mapping.

SourceStorefront · order.createdwebhook payload

TargetERP · POST /v2/sales-ordersJSON Schema 2020-12

Mappings10 of 10 targets

  1. id external_ref you
  2. created_at order_date you
  3. customer.email customer_id you
  4. customer.first_name customer_name you
  5. total_amount amount you
  6. currency currency_code you
  7. financial_status order_status you
  8. line_items[0].sku lines[].item_code you
  9. line_items[0].quantity lines[].quantity you
  10. shipping_address.city ship_to.city you

Previewsales_order.json

  1. {
  2. "external_ref": "ord_8F2K41",
  3. "order_date": "2026-09-14T16:17:03Z",
  4. "customer_id": "C-104233",
  5. "customer_name": "Asha Rao",
  6. "amount": 2499.00,
  7. "currency_code": "INR",
  8. "order_status": "INVOICED",
  9. "lines": [ {
  10. "item_code": "MUG-340-BLU",
  11. "quantity": 2
  12. } ],
  13. "ship_to": { "city": "Pune" }
  14. }

Validation8 / 8 required · 0 errors

  • external_refstring
  • order_datedate-time · UTC
  • customer_idmatches ^C-\d{6}$
  • customer_namestring · ≤ 80
  • amountmatches order lines · 2 × 1,249.50
  • currency_codeISO 4217
  • order_statusenum
  • lines[].item_codestring
  • lines[].quantityinteger ≥ 1
  • ship_to.citystring

Test deliverysandbox

POST /v2/sales-orders
Idempotency-Key: order.created:ord_8F2K41:r1
Authorization: Bearer •••• (scope sales_orders:write)

201 Created184 ms

{ "id": "SO-2026-004187", "status": "INVOICED" }

Created once. Sending the same event again replays this result instead of creating a second order.

Fictional data Every delivery carries an idempotency key, so a retry cannot create a second order. Events that still fail are held in a dead-letter queue with their errors attached, ready to replay once fixed.

$ pattern choose --per-flow four patterns · one monitoring stack

Integration patterns, chosen per connection.

The choice depends on response time, volume, data ownership and what must happen when the other system is down. All four run under the same monitoring.

Close-up of a network chassis: rows of green fibre-optic ports with yellow patch cables, each cable tagged with a handwritten number
Labelled at both ends every connection named, owned and traceablePhoto: Kirill Sh / Unsplash
GET /v1/stock/MUG-340-BLU · checkout waits for the answer
  1. 200 GET /v1/stock/MUG-340-BLU · 212 ms
  2. 504 ERP timeout after 800 ms · retry 1 in 180 ms (backoff + jitter)
  3. 200 retry 1 succeeded · 246 ms · total 1.23 s

Request–response

A caller sends a request and waits for the answer, over REST or GraphQL through a gateway that handles authentication, quotas and rate limits.

Use it when

  • A person is waiting: stock at checkout, a price, an account lookup.
  • The other system must confirm before the next step runs.
  • Volumes sit comfortably inside the provider’s rate limits.

When it fails

  • Every call has a timeout shorter than the caller’s own deadline.
  • Retries use exponential backoff with jitter, and only for requests that are safe to repeat.
  • A circuit breaker pauses calls after repeated failures and serves a cached answer. Rate-limit replies are respected.
  • Kong
  • GraphQL
  • OpenAPI Initiative
  • Postman
orders.v1 · one event, three consumers
  1. pub order.created ord_8F2K41 · written with the order, relayed from the outbox
  2. dlq CRM sync failed 5 attempts · 12 events parked with errors
  3. replay 12 events replayed after fix · 0 duplicates (idempotent consumer)

Event-driven

The storefront publishes what happened and every system that needs it subscribes. Publishers never wait for their consumers.

Use it when

  • Several systems react to the same business event.
  • Bursts must be absorbed without losing an order.
  • A slow or failing consumer must not stop the others.

When it fails

  • Transactional outbox: the event is saved with the order in one database transaction, then sent.
  • Every event is delivered at least once and consumers ignore repeats, so a redelivery changes nothing.
  • A schema registry rejects incompatible changes, and messages that keep failing move to a dead-letter queue to replay once fixed.
  • Apache Kafka
  • RabbitMQ
  • Amazon EventBridge
  • Azure Service Bus
orders-db · polling off, log-based capture on
  1. u customers id=42 · tier silver → gold · LSN 0/16B37C8
  2. sink warehouse 1.4 s · search 0.6 s · cache key customer:42 dropped
  3. load source queries added by capture: 0

Change data capture

Each saved change is read from the database’s own log and streamed on, so other systems stay current within seconds without querying the source.

Use it when

  • A legacy or vendor database has no usable API or events.
  • Analytics and search must update within seconds of a change.
  • Polling queries are already slowing the production database.

When it fails

  • Reads the log (PostgreSQL WAL, MySQL binlog), so the source sees no extra query load.
  • Starts with a snapshot, then streams from a recorded log position, so restarts resume without gaps.
  • Replication slot size is monitored, so a stalled connector raises an alert before the disk fills.
  • Debezium
  • Apache Kafka
  • PostgreSQL
  • Snowflake
  • Elasticsearch
Support request intake · workflow v12
  1. #4811 5 steps · 1.8 s · succeeded
  2. #4812 create ticket 503 · retried in 30 s · succeeded
  3. #4813 new contact · lead created · 1.1 s

iPaaS workflow

Managed connectors and visual workflows for flows that change often and need no custom code, under the same monitoring and change control as everything else.

Use it when

  • Standard connectors cover the systems involved.
  • Volumes are moderate and operations teams want to adjust flows.
  • Getting a first flow live quickly matters more than cost per run at high volume.

When it fails

  • Each step retries within limits, then an error workflow alerts a named owner with the failed run.
  • Flows are exported to version control and promoted between environments.
  • Run history, alerts and dashboards alongside the custom integrations.
  • n8n
  • Zapier
  • Make
  • MuleSoft
  • Boomi

Technologies we work with, chosen per flow. No partner status is implied.

$ connectors search 31 systems · 9 categories

Systems we connect, and how they sync.

Find a system to see what syncs, how and what to watch out for. If yours is not listed, we build against any documented API, or against the database where there is none.

31 of 31 connectors

Commerce · connector sheet

Shopify

Direction
Two-way
Trigger
Webhooks
Freshness
Seconds

What typically syncs

  • Orders
  • Products
  • Inventory
  • Customers

How

  • Webhooks
  • GraphQL Admin API

Watch out for

Webhooks can arrive more than once or out of order. Each one is verified by its HMAC signature and de-duplicated by ID, and a reconciliation sweep catches any that never arrived.

Technologies we work with, shown with their own marks where the licence allows and a category icon where it does not. No partnership, certification or reseller status is implied. Vendor limits change; each connector is checked against current documentation when it is built.

$ spec diff --against published contract-first · versioned

API contracts that catch breaking changes early.

Both sides of each integration test against one written contract, so a breaking change fails the build before it reaches your customers.

Illustrative pipeline · fictional API

orders-api.yaml · OpenAPI 3.1 feat/customer-id
  1. @@ components.schemas.Order @@
  2. required:
  3. - id
  4. - order_date
  5. - customer_email
  6. - customer_id
  7. - amount
  8. properties:
  9. customer_email: { type: string, format: email }
  10. customer_id: { type: string, pattern: "^C-\d{6}$" }
  11. amount: { type: number, minimum: 0 }

Removing a required property is a breaking change. It is released as a new major version, and v1 keeps the old field through an agreed deprecation window.

Deprecation window, written into the change

  1. Week 0 v2.0.0 published v1 keeps serving customer_email. Both versions run side by side and both are monitored.
  2. Week 1 Consumers notified Each registered consumer gets the changelog, the generated client and a migration date it agrees to.
  3. Week 8 v1 sunset v1 responds 410 Gone with a link to the migration note. Nothing is removed while a consumer is still calling it.
contract-check · pull request #418 Blocked on v1 · ships as v2.0.0
  1. Lint the spec

    Spectral rules: operation ids, error shapes, pagination, examples present.

    46 rules · 0 errors

  2. Detect breaking changes

    The new spec is compared with the published one. Removing a required property is breaking.

    1 breaking · order.customer_email removed

  3. Consumer contract tests

    Every registered consumer replays its recorded expectations against the new spec.

    2 of 3 consumers fail

  4. Version & deprecation

    Breaking change accepted behind a major version, with the old field kept for one window.

    v2.0.0 proposed · needs sign-off

  5. Publish & notify

    The spec, the changelog and the generated clients are published; consumers are notified.

    v2.0.0 published · 3 consumers notified

Consumer impact · from the contract registry3 registered
  • Warehouse dispatchLogistics Reads customer_email on every dispatch note. needs a change
  • Marketing syncGrowth Keys its audience upsert on the email address. needs a change
  • Finance exportFinance Uses id, order_date and amount only. unaffected
What the registry holds
Recorded expectations per consumer, its owner and on-call contact
When it is replayed
Every push to the provider, and nightly against the vendor sandbox
What a red result blocks
The merge only: v1 keeps serving until the window closes
How a consumer joins
It publishes its expectations from its own test suite, with no ticket to raise
  • Secrets in a vault

    Credentials live in a managed secret store with rotation and scoped access, never in code, CI variables or a connector’s notes field.

  • Scoped OAuth tokens

    Each integration gets its own client with the narrowest scopes that work, so a leaked token cannot read the whole tenant.

  • Rate limits, both ways

    We honour the other side’s limits with exponential backoff and jitter, and publish our own so consumers can plan for them.

  • Tests the consumer wrote

    Consumer-driven contract tests are recorded by the teams that call the API and replayed on every change to it.

Specifications every integration is written against

  • OpenAPI 3.1
  • AsyncAPI 3.0
  • CloudEvents 1.0
  • JSON Schema 2020-12
  • OAuth 2.1 · OIDC
  • Semantic Versioning 2.0

Frameworks we align integration delivery with

  • ISO/IEC 27001:2022Information security management systems
  • SOC 2Trust Services Criteria
  • GDPRGeneral Data Protection Regulation (EU) 2016/679
  • DPDP Act 2023Digital Personal Data Protection Act, 2023

The pipeline shown is illustrative: a contract check on a fictional orders API detects that a required field was removed and lists the two of three registered consumers that would break. It resolves as a new major version with a deprecation window.

$ oncall page --sev 2 On-call support

After launch, a named engineer answers.

Alerts track what your customers notice. An agent groups the errors and drafts the first status note; the engineer checks it and makes every change to production.

Illustrative incident · fictional systems

INC-2026-0143 · severity 2

ERP order sync failing

Resolved · 41 minutes

  1. Alert: dead-letter queue depth > 50 System

    Orders have failed to reach the ERP for four minutes. The queue passes its threshold and pages the on-call engineer immediately.

    orders.erp.dlq · depth 52 · rising

  2. Triage agent groups the failures Agent

    The agent reads the traces, finds that every failure shares one error, links the matching runbook and drafts the first status note. It deploys nothing.

    HTTP 400 · "material_code not found" · 52 of 52 · runbook RB-014

  3. On-call engineer acknowledges Engineer

    The engineer confirms the cause: a new storefront product has no ERP material code. They correct the agent’s draft and send it.

    MTTA 3 min · status page updated

  4. Fix deployed Engineer

    Products without an ERP code now wait in a holding queue with the reason attached, instead of failing the whole batch.

    PR #1182 · deployed · behind a flag · queue steady at 63

  5. Dead-letter queue replayed System

    The 63 held messages are replayed in order. Idempotency keys stop partly processed ones from creating duplicate orders.

    63 replayed · 0 duplicates · depth 0

  6. Post-incident review Engineer

    Written within two working days, blameless, with every action owned and dated. This review added the daily check for products missing an ERP code.

    PIR-2026-014 · 3 actions · 3 closed

The agent drafts, groups and links; the engineer decides. Every action, the agent’s included, goes to an audit log with its inputs, so the review works from the same record as everyone else.

orders.erp.dlq · depth

0 now · peak 63

03:07replay03:52

  • 3min

    Time to acknowledge

    Alert to a named engineer responding

  • 41min

    Time to restore

    Alert to the queue back at zero

  • 0

    Duplicate orders

    Idempotency keys on every replay

  • 63

    Messages held, none lost

    Dead-letter queue, replayed in order

03:52IST

Our on-call engineer

23:22BST

Your team, asleep

An engineer working at a laptop in a dark office, screen light on their face

On-call coverage, its hours and the severity definitions behind these figures are set in each support agreement. The clocks show why every hand-off is written down.

Monitoring and on-call tools we run integrations on

  • OpenTelemetry
  • Grafana
  • Prometheus
  • Sentry
  • PagerDuty
  • Apache Kafka
  • Slack

An illustrative incident timeline: a dead-letter queue alert at 03:11 when depth passes fifty, an AI agent grouping the identical errors against a runbook, an engineer acknowledging in three minutes, a fix deployed, the queue replayed with no duplicates and a post-incident review with three closed actions. The chart beside it shows queue depth passing fifty at 03:11, peaking at 63 and returning to zero after the replay.

$ sla show --plans 3 plans · P1–P4

Support plans, with targets in writing.

Three plans, from business hours to round the clock. Each sets response and restore targets by severity and includes monthly engineering hours for improvements.

Two engineers in glasses sit side by side watching a monitor closely in a dim, blue-lit room, one gesturing as he talks
On call response targets set by severityPhoto: litoon dev / Unsplash

What each severity means

  1. P1Critical

    A live integration is down or moving wrong data. There is no workaround and the business stops.

    Orders stop reaching the ERP. Payments captured but not recorded.

  2. P2High

    A flow is degraded, delayed or partly failing, and someone is working around it by hand.

    The nightly stock sync fails for one warehouse. Support tickets sync late.

  3. P3Medium

    A contained fault with limited impact: single records, one connector or a non-blocking error in the log.

    One customer record will not map. A retry storm fills the log with noise.

  4. P4Low

    A question, a small change or a planned enhancement, scheduled into the monthly engineering hours.

    Add a field to an existing mapping. Change an alert threshold.

Highlight a plan

Indicative targets
Support plans compared: response and restore targets by severity, coverage hours and what each plan includes each month. Targets are indicative until the support agreement is signed.
Commitment Essential Business hours, with monitoring and patching. Business Extended hours with paging on P1. Critical Round the clock, with an engineer on call.
Response
P1 · first response A named engineer acknowledges it in person. 4 business hours 1 hour 30 minutes
P1 · restore or workaround Service restored, or a workaround agreed in writing. Next business day 8 business hours 4 hours
P2 · first response Triaged, owner assigned, impact confirmed. 1 business day 4 business hours 1 hour
P2 · restore target Flow returned to normal throughput. 3 business days 2 business days 8 hours
P3 · first response Logged, reproduced and added to the backlog. 2 business days 1 business day 1 business day
P4 · first response Answered, or scheduled into the monthly engineering hours. 5 business days 3 business days 2 business days
Coverage
Coverage window When the response clock is running. Mon–Fri · 09:00–18:00 IST Mon–Sat · 08:00–22:00 IST 24×7, every day
Out-of-hours paging Which severities wake someone up. Not included P1 only P1 and P2
Named incident lead One person owns communication during a P1. Not included Included Included
Included
Engineering hours each month Enhancements, upgrades and small features, prioritised with you. 8 hours 24 hours 60 hours
Monitoring, patching & dependency upgrades Alerting, security patches and library upgrades on the integrations we run. Included Included Included
Service review Service-level report, incident review and the improvement backlog. Monthly report Monthly call Monthly call + quarterly roadmap

The same on every plan

  • Severity is set by impact on your business, and you can escalate a call we get wrong.
  • Every P1 gets a blameless post-incident review, with actions tracked until closed.
  • Unused engineering hours are discussed at the monthly review rather than quietly lost.
  • You can move between plans at a service review, and support can be cancelled with notice.

Service management practice

Severity levels and incident, problem and change management use ITIL 4 terms, matching the language your IT team already uses. Delivery is measured with DORA metrics.

  • ISO 22301:2019Business continuity management systems
  • ISO 9001:2015Quality management systems
  • DORA metricsSoftware delivery performance

Frameworks we align support delivery with.

$ estate consolidate --dry-run 5 measures · one estate

Fewer integration tools, fewer idle jobs.

A job that polls every five minutes runs 288 times a day, whether or not anything changed. We replace polling with events and retire tools that only move data.

estate.report one mid-size commerce estate Illustrative

After: connectors consolidated onto one event bus, polling replaced where the vendor supports it.

  • SaaS licences in the estate

    Three tools existed only to move data between two others. Retiring them removes the seat cost and the integration surface at once.

    26 seats

    was 34

  • Scheduled polling jobs

    Most polls asked "has anything changed?" every five minutes and were told no. Webhooks and change data capture replaced them.

    6 jobs

    was 41

  • Integration compute

    Idle polling workers ran around the clock. Event consumers scale to zero between messages.

    430 hours / month

    was 1,240

  • Estimated energy

    Derived from compute hours and the published carbon intensity of the region, not measured at the socket.

    178 kWh / month

    was 512

  • API calls to vendor systems

    Fewer calls also means fewer rate-limit incidents and lower tiered API charges.

    0.4 million / month

    was 11.8

Four changes that cut cost and energy

Each is an ordinary integration decision that also cuts energy use, licence cost and rate-limit incidents.

  1. 01

    Replace polling with webhooks

    Where a vendor supports webhooks, updates arrive only when data changes. Otherwise, change data capture reads the database log instead of re-reading whole tables.

    poll every 5 min webhook or CDC on change

  2. 02

    Schedule heavy syncs off-peak

    Full reconciliation runs once a night in a region and a window with lower carbon intensity, instead of hourly all day.

    reconcile hourly, all day one nightly low-intensity window

  3. 03

    Retire tools that only move data

    Point-to-point connector subscriptions can be cancelled once the flows run on one event bus you already operate.

    3 point-to-point tools 1 bus you already run

  4. 04

    Send less, less often

    Filtering fields and compressing at the source cut payload size; batching cuts request count without delaying time-critical flows.

    whole record, every time changed fields, batched

The panel compares one illustrative estate before and after consolidation: 34 SaaS licences fall to 26, 41 scheduled polling jobs fall to 6, integration compute falls from 1,240 to 430 hours a month, estimated energy from 512 to 178 kWh a month and vendor API calls from 11.8 million to 0.4 million a month.

$ run phase --next 4 phases · from mapping to support

Four phases, from mapping to support.

Each integration is monitored from the day it goes live, so the team supporting it already knows its history.

Typical phase lengths

Phase 01 / 04 Wk 01–02

Map

We map systems, data flows, owners, volumes and failure points, then agree a pattern and contract per flow.

What this phase decides
Which flows matter, and who decides when systems disagree.
What we need from you
Access to the systems in scope, and the person who owns each one.

The phase is complete when

Every flow in scope has one named owner on your side and an agreed pattern on ours, signed off in writing.

What you keep

3
  • Integration map
  • Data contracts
  • Pattern decisions

Who is involved

  • Integration architect
  • Your system owners
  • Delivery lead

Where this phase usually slips

Ownership. Two teams each believe they hold the customer record, and no flow can be built until they agree which copy is correct.

Phase 02 / 04 Wk 02–08

Connect

We build each flow with retries, duplicate protection and alerts, then test it against sandboxes and recorded traffic.

What this phase decides
How each flow behaves when the other side is slow, down or wrong.
What we need from you
A sandbox or test environment for each system, and sample data that includes the awkward records.

The phase is complete when

Each flow passes its contract tests against the vendor sandbox and survives a deliberate failure with no data lost.

What you keep

3
  • Integrations
  • Contract tests
  • Alerting

Who is involved

  • Integration engineers
  • Your platform team
  • QA

Where this phase usually slips

Sandboxes. A vendor sandbox can behave differently from production, so every flow is also replayed against recorded production traffic.

Phase 03 / 04 Wk 08–10

Transition

We agree runbooks, access, monitoring and support tiers, then rehearse an incident with your team.

What this phase decides
Who is paged, what they read first and what they are allowed to do.
What we need from you
An hour with whoever will take the calls, and where your alerts should go.

The phase is complete when

Your team and ours rehearse one full incident using the production runbook and alert.

What you keep

3
  • Runbooks
  • Support model
  • Incident drill

Who is involved

  • Site reliability engineer
  • Your on-call rota
  • Service manager

Where this phase usually slips

The rota. Paging a shared mailbox is not on-call cover, so this phase stays open until a named person receives the alert.

Phase 04 / 04 Ongoing

Support

We run on-call, incidents, upgrades and improvements, with a monthly SLA review and a quarterly roadmap.

What this phase decides
What to improve next, and which changes are worth making.
What we need from you
Thirty minutes a month for the service review.

The phase is complete when

It does not close. Support is reviewed every month against the same measures.

What you keep

3
  • Service reports
  • Post-incident reviews
  • Roadmap

Who is involved

  • Named incident lead
  • Service manager
  • Your product owner

Where this phase usually slips

Silence. A quarter with no reported incidents usually means the monitoring has gaps.

Support starts in phase three, so nothing is handed over at the end. The engineers who built each flow answer its alerts.

The four phases in order: Map (Wk 01–02), Connect (Wk 02–08), Transition (Wk 08–10), Support (Ongoing). Each panel below the line lists what the phase decides, what it needs from you, when it is complete, what you keep, who is involved and where it usually slips.

$ ls artefacts/ 7 artefacts · in your repositories and accounts

Seven deliverables, and what each is for.

Maps, specifications, code, tests, runbooks and reports that let your team, a new vendor or whoever is on call understand and run your integrations.

  1. 01

    Integration architecture & data flow map

    Every system and flow, the source of truth for each field and its owner. The first document a new engineer reads.

    Diagrams

  2. 02

    API specifications & developer docs

    OpenAPI 3.1 and AsyncAPI definitions in your repository, published to a portal your own teams and vendors can read.

    OpenAPI · portal

  3. 03

    Integrations with monitoring & alerting

    The connectors in your source control, with dashboards and alert rules stored beside the code.

    Code · iPaaS · alerts

  4. 04

    Contract & regression test suites

    Consumer-driven contract tests that run in CI, so a vendor schema change fails a pipeline instead of a customer order.

    Tests · CI

  5. 05

    Support model & service levels

    Severity definitions, response and restore targets, escalation path and named contacts, agreed before go-live.

    Agreement

  6. 06

    Runbooks & on-call rota

    One page per failure mode: what the alert means, how to confirm it, how to fix it and when to escalate.

    Docs · rota

  7. 07

    Monthly service report

    Sync success, data freshness, incidents, what we changed and the improvement backlog for the month ahead.

    Report

  8. Who owns the work

    What we make for you is yours once it is paid for. Tools we already had stay ours, and you get a free, permanent licence to use them.

    Start an integration brief

Code in your repositories

Connector code, infrastructure definitions, tests and alert rules go into repositories you own from the first week.

Credentials stay in your vault

Vendor keys and OAuth clients are issued in your accounts. Our access is scoped, and you can revoke it in one step.

Documented for handover

Runbooks, decision records and the integration map are updated as the integrations change, so another team can take over support.

$ report service --period 30d same seven measures, every month

Measures we report monthly, in writing.

Every monthly service review reports these seven measures, each with its definition and data source, so the report keeps the same shape each month.

  1. 01

    Sync success rate

    Events accepted by the target system as a share of all events published, measured at the consumer after retries.

    Read from Consumer acknowledgements · OpenTelemetry

    Typical at handover

    96.4%

    Target

    99.9%

    96% of the way to target by the third review

  2. 02

    Data freshness

    Time from a change in the source system to its arrival in the target, at the 95th percentile for the month.

    Read from Event timestamps compared at both ends

    Nightly batch

    6 h

    Target

    5 min

    74% of the way to target by the third review

  3. 03

    Events in the dead-letter queue

    Failed events still waiting after all retries, counted at the end of each day. Anything older than 24 hours is escalated.

    Read from Queue depth, with an end-of-day alert

    Before monitoring

    180

    Target

    0

    88% of the way to target by the third review

  4. 04

    Manual steps removed

    Records re-typed or copied by hand each week that an integration now handles.

    Read from Counted with your team in the integration inventory

    At the start

    0

    After phase two

    400

    62% of the way to target by the third review

  5. 05

    MTTA · time to acknowledge

    Average time from an alert to a named engineer acknowledging it, for P1 incidents only.

    Read from On-call tooling · incident log

    Unmonitored estate

    42 min

    Target

    15 min

    55% of the way to target by the third review

  6. 06

    MTTR · time to restore

    Average time from an alert to service being restored for users, for P1 incidents only. The root cause may be fixed later.

    Read from Incident log · DORA metrics

    Unmonitored estate

    7 h

    Target

    2 h

    70% of the way to target by the third review

  7. 07

    Redundant SaaS licences retired

    Subscriptions that only moved data between two other systems, cancelled once the flows run on infrastructure you already operate. Polling jobs are counted separately.

    Read from Your licence register · scheduler inventory

    At the start

    0

    Year one

    8

    45% of the way to target by the third review

Illustrative

Starting points are typical of an estate with no monitoring and show the shape of the change, not a promise about yours. The progress figure is where a typical estate sits by the third monthly review. Targets are set per integration during onboarding, written into the support agreement and reviewed if traffic changes.

  • Monthly service review Thirty minutes with your team: the seven measures, every incident and what we propose to change next.
  • Missed target A missed target is written up in the same report, with the cause and the fix, before the next month starts.
  • Your copy of the data Dashboards sit in your monitoring tools, so you can check the same numbers on any day.

Seven measures are reported each month: sync success rate, targeted at 99.9 per cent; data freshness at the 95th percentile, from a nightly batch to five minutes; dead-letter queue depth to zero; manual steps removed, around four hundred a week after the second phase; time to acknowledge a P1 alert, targeted at fifteen minutes; time to restore, targeted at two hours; and redundant SaaS licences retired in the first year. Each row also shows how far a typical estate has moved towards its target by the third monthly review. All figures are illustrative.

Services & packages

Integration and support that keeps your systems connected.

We connect your applications so data is entered once and matches in every system. Engineers who know your set-up then support it, from monitoring and fixes to upgrades.

Categories
04
Services
16
Packages
04
Not sure what you need? Describe the problem

How to buy

  1. 01Pick services. Enquire about one, or add several to a brief.
  2. 02Choose a package. A sprint, a fixed project or an ongoing team.
  3. 03Send the brief. We reply within one working day.

Browse by category

Timelines are typical. Every quote follows a written scope.

01System integration

5 services
Typical timeline: 3–8 weeks

API & system integration

Connect two or more systems so data moves between them automatically, with retries, alerts and no duplicates.

What’s included

  • Integration map and data contracts
  • Retries, duplicate checks and failed-message queues
  • Contract tests against vendor sandboxes
  • Monitoring and alerting
  • APIs
  • No duplicates
  • Monitored

Best forTeams re-keying the same data into several systems.

Typical timeline: 4–10 weeks

CRM & ERP integration

Link your CRM, ERP, accounting and marketing tools so customers, orders and invoices stay in step everywhere.

What’s included

  • Salesforce, HubSpot, Zoho or SAP connectors
  • Field mapping and ownership rules
  • Two-way sync with conflict handling
  • Reconciliation reports
  • Salesforce
  • HubSpot
  • SAP
  • Salesforce

Best forSales and finance teams working from different numbers.

Typical timeline: 2–6 weeks

Payment gateway integration

Accept payments online, in your app or by subscription, with refunds, webhooks and reconciliation included.

What’s included

  • Razorpay, Stripe or PayPal integration
  • UPI, cards, subscriptions and refunds
  • Webhook handling with signature checks
  • Settlement reconciliation
  • Razorpay
  • Stripe
  • UPI

Best forBusinesses adding or changing how they take payments.

Typical timeline: 2–5 weeks

Messaging & notifications

Send order updates, one-time passwords, reminders and alerts by SMS, WhatsApp, email or Slack straight from your systems.

What’s included

  • WhatsApp Business, SMS and email providers connected
  • Template management and opt-outs
  • Delivery tracking
  • Fallback between channels
  • WhatsApp
  • SMS
  • Email
  • Twilio
  • Slack
  • Microsoft Teams

Best forBusinesses that need to reach customers or staff automatically.

Typical timeline: 4–8 weeks

API design & gateway

Well-documented, versioned APIs for your partners and apps, behind a gateway that handles security, rate limits and usage analytics.

What’s included

  • OpenAPI spec written before code
  • Gateway with authentication and rate limits
  • Developer documentation portal
  • Versioning and deprecation policy
  • OpenAPI
  • API gateway
  • Rate limits

Best forCompanies opening their platform to partners or building mobile apps.

02iPaaS & event-driven integration

3 services
Typical timeline: 3–8 weeks

iPaaS & low-code integration

Low-code flows on MuleSoft, n8n, Make or Zapier that your team can read and change, with the same monitoring as custom code.

What’s included

  • Platform chosen on volume, cost and skills
  • Flows with error handling and alerts
  • Environments and change control
  • Team training and documentation
  • Low-code
  • Change control
  • Team-editable
  • MuleSoft

Best forTeams whose tools have standard connectors and moderate data volumes.

Typical timeline: 6–12 weeks

Event-driven integration

Systems publish events, such as a paid order, and others react in real time, so you can add a system without rewiring the rest.

What’s included

  • Event design and schemas
  • Kafka or RabbitMQ set-up
  • Change data capture from existing databases
  • Replay and failed-message handling
  • Events
  • Kafka
  • CDC

Best forBusinesses with many systems where point-to-point links break easily.

Typical timeline: 2–4 weeks

Integration audit & rescue

Fix integrations that fail silently, create duplicates or need manual clean-up, then add the monitoring they lack.

What’s included

  • Review of existing flows and failure history
  • Root-cause fixes
  • Monitoring and alerting
  • Runbook for each flow
  • Rescue
  • Root cause
  • Monitoring

Best forTeams reconciling data by hand every week.

03Data sync & migration

3 services
Typical timeline: 3–8 weeks

Data sync between systems

Keep records consistent across systems in near real time, with clear rules about which system owns which field.

What’s included

  • System-of-record rules per field
  • Near-real-time sync
  • Conflict detection
  • Daily reconciliation report
  • Sync
  • Ownership rules
  • Reconciled

Best forBusinesses running more than one system for customers, products or stock.

Typical timeline: 4–12 weeks

Platform migration

Move from one CRM, ERP, e-commerce or helpdesk platform to another with every record accounted for.

What’s included

  • Mapping and cleansing rules
  • Rehearsed migration runs
  • Reconciliation: record counts, checksums and field samples
  • Switch-over with a rollback plan
  • Rehearsed
  • Reconciled
  • Rollback plan
  • Salesforce

Best forCompanies switching a core platform.

Typical timeline: 4–10 weeks

Legacy system wrapping

Put a modern API in front of an old system so new tools can use it safely while you plan its replacement.

What’s included

  • API layer over the legacy system
  • Caching and rate limits
  • Monitoring
  • Phased replacement plan (strangler pattern)
  • API layer
  • Strangler pattern

Best forOrganisations with a system that is hard to change but still essential.

04Managed support

5 services
Typical timeline: Onboarding 2–4 weeks, then monthly

Managed support with SLAs

Engineers who monitor your systems, respond to incidents within agreed times and keep you informed, with a monthly service review.

What’s included

  • Response and resolution targets by severity
  • Monitoring and alerting
  • Incident management and post-incident reviews
  • Monthly service report
  • SLA
  • On-call
  • Monthly review

Best forBusinesses whose key systems cannot go unsupported.

Typical timeline: Onboarding 2–4 weeks, then monthly

L2/L3 engineering support

Second- and third-line support behind your helpdesk: investigating bugs, fixing code and resolving data issues your first line cannot.

What’s included

  • Ticket intake from your helpdesk
  • Root-cause analysis and code fixes
  • Knowledge base for your first-line team
  • Escalation and monthly reporting
  • L2
  • L3
  • Root cause

Best forProduct companies whose developers keep being pulled into support.

Typical timeline: 1–3 weeks to set up, then monthly

Uptime & performance monitoring

Automated checks on your websites, APIs and integrations, with alerts routed to the right person when something fails.

What’s included

  • Uptime checks and scripted user-journey tests
  • Error and performance tracking
  • Alert routing and escalation
  • Public or internal status page
  • Journey checks
  • Alerting
  • Status page

Best forAny business whose website or API earns revenue.

Typical timeline: Ongoing, monthly

Continuous improvement retainer

A monthly allowance of engineering hours for upgrades, security patches, performance work and the small features that pile up.

What’s included

  • Agreed hours each month
  • Dependency and security updates
  • Backlog prioritised with you
  • Quarterly roadmap review
  • Retainer
  • Upgrades
  • Roadmap

Best forTeams with a steady stream of small changes and no spare developers.

Typical timeline: 3–6 weeks

Support takeover of existing systems

We take over support for systems we did not build, first reviewing the code, infrastructure and documentation so service targets are realistic.

What’s included

  • Onboarding assessment
  • Gap fixes before service levels start
  • Runbooks and access set-up
  • Knowledge transfer from the previous team
  • Takeover
  • Onboarding
  • Knowledge transfer

Best forCompanies changing vendor or losing the original developers.

Your brief

Tick “Add to brief” on any service, choose a package, then continue. Or enquire about one service directly.

How we work with you

Ways to engage, from a question to an RFQ.

Ask a quick question, send a project brief or issue a formal RFQ. The lead for the work reads each one in full, and any services already in your brief go with it.

Or book a thirty-minute call

What are you sending?

  1. 01

    About 2 minutes4 required answers

    For a first conversation, a press request or anything that does not need a scope yet.

    You get A reply from a named lead

  2. 02Recommended

    About 8 minutes5 short steps

    Goals, audiences, a budget band and timing, so our first reply can outline the work.

    You get Options and a first scope after one call

  3. 03

    About 15 minutesYour documents attached

    Your documents, deadlines and the procurement and security rules the work must meet.

    You get Receipt confirmed and a named bid lead

How it is priced

Each package shows its pricing model. Work starts once a written scope and quote are agreed.

  • Typical length
    4–12 weeks
    Pricing
    Fixed price
  • Typical length
    Ongoing · 6-month minimum
    Pricing
    Monthly fee
  • Typical length
    3–9 months
    Pricing
    Fixed price per milestone
  • Typical length
    6–18 months
    Pricing
    Programme fee · by statement of work
Compare what each package includes
What each package includes and who it suits
PackageEvery engagement includesBest for
ProjectA defined scope, delivered for a fixed price.
  • Statement of work with deliverables and acceptance criteria
  • A named project lead and a fixed team
  • A shared plan with dated checkpoints
  • Source files, yours once paid for
Work you can describe up front: an identity, a platform or a set of tools
RetainerReserved monthly capacity to run, improve and extend what we built.
  • A reserved block of team time every month
  • Agreed response times for requests and fixes
  • A monthly review and a rolling backlog
  • Planned improvements as well as upkeep
Live brands and products that need a steady team without hiring one
MilestoneA larger build in phases you approve and pay for one at a time.
  • Phases with their own scope, output and sign-off
  • A go or no-go review at every gate
  • Re-planning between phases as you learn
  • Payment tied to accepted milestones
Programmes too large for one contract, where you want control at each step
EnterpriseA multi-workstream programme with a dedicated team, governance and agreed service levels.
  • An engagement director and a steering group
  • A dedicated team across several workstreams
  • Service levels, reporting and a risk register
  • Security, legal and procurement reviews in the plan
Large organisations running change across markets, portfolios or business units

$ ask --plainly seven common questions

Integration and support, your questions answered.

Seven questions teams ask before starting an integration programme. If yours is missing, add it to your brief and we will answer in writing before we discuss price.

01 iPaaS or custom integration? Approach

You can use both, chosen per flow under the same monitoring. iPaaS suits standard connectors, moderate volumes and teams who edit flows themselves. Custom code suits high volumes, complex transformations, strict latency or high per-run costs.

02 What service levels do you offer? Service levels

Support is agreed per system, typically with response targets by severity, business-hours or extended coverage, and a monthly improvement allowance. The exact terms are set in the support agreement.

03 Can you support systems you did not build? Onboarding

Yes, after we assess the code, infrastructure, monitoring and documentation. We fix the gaps first, so support targets are realistic.

04 How do you handle incidents? Incidents

On-call engineers respond within set times per severity. A named incident lead updates your stakeholders, and a blameless review tracks actions to closure.

05 What does a retainer include? Retainer

It covers monitoring, incident response, security patches and dependency upgrades. It also includes agreed engineering hours each month for improvements, prioritised with you.

06 What happens when a vendor changes their API? Change

A failing test flags it, so we migrate within the vendor’s notice period. We track changelogs and deprecation notices for every connector we run, and contract tests run against vendor sandboxes in CI. If a vendor gives no notice, failed messages wait in the dead-letter queue and replay once the fix is live, so nothing is lost.

07 Can we end the support agreement? Exit

Yes, with the notice period set in your contract. Support runs on a rolling term, and connectors, infrastructure definitions, tests, dashboards and runbooks sit in your repositories throughout. Credentials stay in your vault, so handover is a planned piece of work.

Tell us what you need built.

You will speak to a lead who would run the work, and get a straight answer on fit.

Book a call

Three ways to start

Every engagement starts with a written scope and a quote agreed before work begins.

Choose one of the three ways above