What Is System-to-System Integration? A Guide

Your ops person is copy-pasting order numbers from Shopify into QuickBooks. Your sales lead exports HubSpot contacts to CSV every Monday and re-uploads them into Mailchimp. Somebody just asked why the customer in Stripe doesn't exist in your CRM. If any of that sounds familiar, you already have an integration problem — you just haven't named it yet.
System-to-system integration is the discipline of making software talk to other software without a human in the middle. This guide walks through what that actually means, the three architectures most small businesses end up choosing between, and how to pick one without hiring a middleware consultant.
What system-to-system integration actually means
System-to-system integration (often shortened to S2S) is the automated exchange of data or events between two or more software systems, without a human manually moving the data. In practice that means one application (say, Stripe) fires an event or exposes an API, and another application (say, QuickBooks) receives that data and does something with it — creates a record, updates a status, triggers a workflow.
Three things distinguish real integration from "we have a spreadsheet for that":
- It's automated. No human triggers the transfer for a normal case.
- It's structured. Data moves in a defined shape (JSON, XML, database row), not free text.
- It's reliable. Failures are detected, logged, and either retried or surfaced for a human to fix.
Anything less is a workaround. A Zapier zap that silently fails and nobody notices for six weeks is not integration — it's a time bomb.
The building blocks are almost always the same: APIs (REST or GraphQL, sometimes SOAP if you're dealing with older enterprise systems), webhooks (a system pushes an event when something happens, instead of you polling for it), message queues (systems drop messages into a queue for reliable async processing), and data transformation (the customer record in system A doesn't look like the customer record in system B — someone has to reshape it).
Point-to-point: the architecture you get by accident
Point-to-point integration means each pair of systems talks directly to each other. Stripe → QuickBooks. Stripe → HubSpot. HubSpot → Mailchimp. HubSpot → QuickBooks. Every connection is its own bespoke integration.
This is what almost every small business builds first, usually without realizing they're building an architecture at all. Someone wires up a Zapier flow between two apps. Then another. Then a custom script for a third. Six months later you have twelve integrations held together by three different tools and one person who remembers how any of it works.
Stripe ──────► QuickBooks
│ ▲
│ │
▼ │
HubSpot ──────► Mailchimp
│ ▲
▼ │
Slack ────────────┘
Where it works: You have 2-4 systems and 3-5 connections. The data shapes are simple. Nothing needs to be transformed heavily. You can afford the occasional silent failure because a human reviews things anyway.
Where it breaks: The math is unforgiving. With n systems, you can have up to n * (n-1) / 2 connections. Five systems = 10 potential integrations. Ten systems = 45. Each connection has its own retry logic, its own credentials, its own error handling, and its own person who wrote it and then left the company.
The specific pain shows up when a field changes upstream. Stripe adds a new payment method type. Now you have to update every downstream integration that touches Stripe. Nobody has a list of which ones those are. Two weeks later you find out invoices for a specific customer segment have been quietly wrong.
Hub-and-spoke: one central broker
Hub-and-spoke architecture routes everything through a single central system (the hub). Systems don't talk to each other directly — they talk to the hub, and the hub decides what goes where.
Stripe ────►│ │◄──── HubSpot
│ HUB / │
QuickBooks ►│ ESB / │◄──── Slack
│ Queue │
Mailchimp ─►│ │◄──── Shopify
The hub is usually one of three things: an enterprise service bus (ESB) in bigger companies, a message broker like RabbitMQ or Kafka in more engineering-heavy setups, or a workflow orchestrator like Temporal, Airflow, or n8n in modern small teams.
What you gain: One place to see every data flow. One place to add logging, monitoring, and retries. When a new system joins, you connect it to the hub once and it can talk to everything else. Field changes get handled in one place.
What you pay: Complexity upfront. You have to design the hub, define the message shapes, and run the infrastructure. If the hub goes down, everything stops. And someone has to actually own it — hub-and-spoke without an owner degrades into "point-to-point with extra steps."
For a small team, self-hosted hub-and-spoke is usually overkill unless you have an engineer whose job includes running it. Which is why the third option exists.
iPaaS: hub-and-spoke as a managed service
iPaaS stands for Integration Platform as a Service. It's hub-and-spoke architecture where a vendor runs the hub for you. Zapier, Make, Workato, Tray.io, Boomi, MuleSoft, and n8n Cloud all fit this category, though they target very different customer sizes and budgets.
The value proposition is straightforward: you don't want to run integration infrastructure, so you rent it. You get pre-built connectors (they've already figured out how to authenticate to Salesforce), a visual workflow builder, logging, retries, and version control — all as a subscription.
Here's a rough map of where each type fits:
| Category | Typical user | Strength | Weakness |
|---|---|---|---|
| Zapier / Make | Solopreneur, SMB ops | Fastest to first working integration; huge connector library | Cost scales badly at high volume; limited logic |
| n8n / Windmill | Technical founder, small dev team | Self-hostable, code-friendly, cheaper at scale | You maintain it |
| Workato / Tray.io | Mid-market with real budget | Enterprise features, governance | Priced for companies with an IT budget line |
| MuleSoft / Boomi | Large enterprise | Deep transformation, compliance | Overkill and expensive for anyone under a few hundred employees |
For most solopreneurs and SMBs, the real choice is between Zapier/Make (fastest to ship, gets expensive) and n8n (cheaper long-term, requires someone comfortable with self-hosting or n8n Cloud).
One honest note: iPaaS is not magic. If the underlying APIs are inconsistent, or the two systems disagree about what a "customer" is, no platform fixes that for you. iPaaS handles plumbing, not semantics.
When AI-driven automation is the right fit (and when it isn't)
There's a newer category of tools that layer AI on top of integration workflows — using LLMs to make decisions inside the flow, not just to move data. This is worth understanding because the marketing around it is confused.
AI-driven automation makes sense when the work involves unstructured input or judgment:
- Classifying inbound emails and routing them (support vs. sales vs. billing)
- Extracting structured data from PDFs, contracts, or invoices
- Summarizing long inputs (call transcripts, support threads) before writing to a CRM
- Deciding which of several downstream systems should receive a record based on messy signals
Here's a small example — a webhook handler that classifies inbound leads and routes them, with a fallback for low-confidence cases:
def route_lead(payload: dict) -> str:
prompt = f"""Classify this lead as: enterprise, smb, or spam.
Return JSON: {{"category": "...", "confidence": 0.0-1.0}}
Lead:
Company: {payload['company']}
Message: {payload['message']}
Email: {payload['email']}
"""
result = llm.complete(prompt, response_format="json")
if result["confidence"] < 0.75:
return "human_review_queue"
return {
"enterprise": "salesforce",
"smb": "hubspot",
"spam": "trash",
}[result["category"]]
Note the confidence threshold. Every AI-in-the-loop integration needs one, plus a human review queue for anything below it. Skip that and you'll be quietly misrouting records for months.
AI does not belong in the integration layer when:
- The transformation is deterministic (map
field_a→field_b) - You need 100% accuracy (financial totals, tax calculations, legal identifiers)
- The API contracts are stable and well-documented
Running an LLM to convert a Stripe amount into a QuickBooks amount is slower, more expensive, and less reliable than three lines of Python. Use AI where judgment is actually needed. Use deterministic code everywhere else. Most real systems are a mix.
A decision framework you can actually use
Skip the vendor comparison matrix. Ask these five questions in order:
1. How many systems and connections? Under 5 systems and under 8 connections, point-to-point with a lightweight iPaaS (Zapier, Make) is fine. Above that, you want a hub.
2. What's the volume? Under a few thousand operations per month, iPaaS pricing is manageable. Above that, self-hosted n8n or a custom hub starts looking cheaper by the month. Do the math on your actual expected volume before signing an annual contract.
3. What's the cost of a silent failure? If a missed sync means a delayed email, tolerate simple retries. If it means a customer gets charged twice or an invoice never goes out, you need proper observability — dead letter queues, alerting, and audit logs. Not every iPaaS gives you that by default.
4. Who owns it after launch? The number one predictor of integration failure isn't the tool — it's whether anyone is responsible for it six months later. If the answer is "we'll figure it out," pick the tool with the best built-in monitoring, because you won't add your own.
5. Does the work require judgment on unstructured input? If yes, you need AI somewhere in the flow. If no, keep AI out of the hot path.
Here's the same logic as a rough diagram:
Start
│
▼
Under 5 systems? ──► Yes ──► Zapier / Make / n8n Cloud
│
No
▼
High volume or complex logic? ──► Yes ──► Self-hosted n8n / custom orchestrator
│
No
▼
Regulated / high-stakes data? ──► Yes ──► Workato / Boomi / custom
│
No
▼
Default: managed iPaaS with monitoring turned on
What a real integration project actually looks like
Most integration projects fail not on the technology but on the discovery. Before writing a single line of code or dragging a single node into a workflow builder, you should have written down:
- The systems of record. For each entity (customer, order, invoice, contact), which system is the source of truth? If two systems both think they own "customer," you have a data governance problem, not an integration problem.
- The field mapping. A spreadsheet with columns: source field, source type, target field, target type, transformation rule, default value if missing.
- The trigger. Is this event-driven (webhook fires), scheduled (every 15 minutes), or on-demand (a user clicks a button)? Each has different failure modes.
- The error contract. What happens when the target system rejects the record? Retry how many times, with what backoff, and when do you give up and page a human?
Here's a minimal spec you can copy for any new integration:
integration: stripe_customer_to_hubspot_contact
trigger:
type: webhook
source: stripe
event: customer.created
source_of_truth: stripe
mapping:
- source: email
target: email
required: true
- source: name
target: firstname + lastname
transform: split_on_first_space
- source: metadata.plan
target: lifecyclestage
transform: map({"trial": "opportunity", "paid": "customer"})
error_handling:
retries: 3
backoff: exponential
on_final_failure: dead_letter_queue + slack_alert
observability:
log_every_run: true
alert_on_failure_rate_above: 5%
If you can't fill this out for an integration, don't build it yet. Half the failed integration projects I've seen started because someone said "just connect them" without ever defining what "connected" meant.
How BizFlowAI approaches this
Most of the client work we do sits exactly in this space: a founder or ops lead has four to eight systems that all matter (Stripe, HubSpot, a CRM, a database, email, Slack, sometimes an ERP), a few real-time flows that can't fail silently, and no appetite for hiring a dev team to run middleware. What we build is closer to a modern hub-and-spoke than a pile of Zaps — an orchestration layer (usually n8n or a small custom service) with proper logging, retries, dead letter queues, and a written spec for every flow.
Where AI genuinely helps — email triage, PDF extraction, lead classification, meeting summarization — we plug it into specific nodes with confidence thresholds and human review queues. Where it doesn't help, we use plain code. The goal isn't to put AI in every step; it's to make the whole system boring, observable, and something the client can actually reason about six months later. If you want to see what that looks like on your stack, the site has a few write-ups of real deployments and the specs behind them.
Work with BizFlowAI
If you'd rather have this built for you, that's what we do: production AI automation for solo founders and small teams — agents, integrations, and document pipelines that actually ship.
Book a free discovery call — 30 minutes, we map the highest-ROI automation in your workflow. No pitch deck, just engineering.
More guides like this on the BizFlowAI blog.
Frequently asked questions
What is system-to-system integration?
System-to-system integration (S2S) is the automated exchange of data or events between two or more software applications without a human manually moving data. One system exposes an API or fires a webhook event, and another system receives that data and acts on it—creating records, updating statuses, or triggering workflows. Real integration is automated, structured (using JSON, XML, or database rows), and reliable, with failure detection and retries. Common building blocks include REST APIs, webhooks, message queues, and data transformation logic.
What is the difference between point-to-point and hub-and-spoke integration?
Point-to-point integration connects each pair of systems directly, so every new system multiplies the number of connections you must maintain (n systems can require up to n*(n-1)/2 links). Hub-and-spoke routes all traffic through a central broker like an ESB, message queue, or workflow orchestrator, so each system only connects once to the hub. Point-to-point is faster to start but degrades quickly past 4-5 systems. Hub-and-spoke costs more upfront but scales cleanly and centralizes logging, retries, and field-change handling.
Should a small business use Zapier, Make, or n8n?
Zapier and Make are fastest to a working integration and have huge connector libraries, but pricing scales badly at high event volumes. n8n is cheaper long-term and self-hostable, but requires someone comfortable running infrastructure or paying for n8n Cloud. Solopreneurs and non-technical SMBs usually start with Zapier or Make; technical founders and small dev teams often prefer n8n. Enterprise tools like Workato, MuleSoft, or Boomi are overkill for teams under a few hundred employees.
When should you use AI inside an integration workflow?
Use AI when the work involves unstructured input or judgment—classifying inbound emails, extracting data from PDFs, summarizing call transcripts, or routing records based on messy signals. Always include a confidence threshold and a human review queue for low-confidence outputs. Do not use AI for deterministic field mapping, financial calculations, or anything requiring 100% accuracy—plain code is faster, cheaper, and more reliable. Most production systems blend LLM steps with deterministic code.
What is iPaaS and how does it differ from an ESB?
iPaaS (Integration Platform as a Service) is hub-and-spoke integration architecture delivered as a managed cloud subscription—vendors like Zapier, Make, Workato, and n8n Cloud run the hub for you. An ESB (enterprise service bus) is traditionally self-hosted middleware that a company runs and operates internally, common in larger enterprises. iPaaS trades control and per-event cost for speed of setup, pre-built connectors, and no infrastructure to maintain. Both handle the plumbing of moving data, but neither resolves semantic mismatches between systems.