Most growing businesses don't have an integration problem. They have five of them. CRM doesn't talk to the accounting system. The inventory database feeds the website through a manual CSV export that someone runs every morning. The new payment gateway works, but nobody updated the invoice system to match. Each of these is a small problem on its own. Together, they're why your team spends more time on data entry than on actual work.
System integration is the discipline of making software talk to other software. It's not glamorous — it's plumbing. But when it's done well, it's the difference between a business that runs smoothly and one that leaks time and money through data gaps nobody can see.
What System Integration Actually Is
At its core, integration is about moving data between systems in a reliable, consistent way. Customer creates an order in your e-commerce platform — your accounting system knows about it. Employee submits an expense — it shows up in the ERP without manual re-entry. Stock levels update in real time across all sales channels.
The reason this is harder than it sounds is that every system has its own data model, its own authentication, its own idea of what "customer" or "order" means. Making them agree requires translation — and that translation layer is where most integration projects either succeed or fail.
The Four Main Approaches
Not every integration needs the same solution. The right approach depends on the systems involved, the data volumes, and how quickly things need to move.
- API integration. Two systems talk directly through exposed APIs. This is the most common approach for modern SaaS tools — most of them offer REST or webhook endpoints. Fast to set up for simple data flows, harder when the data models don't align cleanly.
- ETL (Extract, Transform, Load). Data is pulled from one system, reshaped to match the target, and pushed on a schedule. Common for reporting — pulling data from multiple sources into a data warehouse. Slower (batched, not real-time) but more forgiving of format mismatches.
- Event-driven architecture. Systems publish events ("order.created", "payment.received") and other systems subscribe to the ones they care about. Decoupled by design — the CRM doesn't need to know the accounting system exists. Powerful for complex environments, expensive to build and maintain.
- Middleware / iPaaS. Platforms like Make (formerly Integromat), Zapier, or enterprise tools like MuleSoft sit between systems and handle the translation. Fastest to set up, most limited in capability. Good for simple workflows, brittle under load.
The mistake most businesses make is defaulting to middleware because it's the cheapest option upfront, then spending months working around its limitations as the integration surface grows. There's nothing wrong with middleware for the right use case — but "right use case" usually means "low volume, low complexity, no custom logic."
Where Integration Projects Go Wrong
The failure modes are predictable. Not because integration is technically difficult, but because the scoping is usually wrong.
- Underestimating data quality. The integration works perfectly in testing because the test data is clean. In production, the source system has duplicates, missing fields, format inconsistencies, and records that don't match the expected schema. The integration doesn't break — it faithfully copies bad data into your target system. Now you have a data quality problem in two places instead of one.
- Ignoring error handling. What happens when the target system is down? When a record fails validation? When the API rate limit kicks in? Most first-pass integrations assume everything always works. Real systems fail in ways the documentation doesn't describe.
- Not accounting for change. The source system updates its API. The target system adds a required field. The middleware vendor changes their pricing model. Integrations are living things — the cost isn't in building them, it's in maintaining them.
- Scope creep through "one more system." An integration project starts with two systems. Then someone adds a third. Then a fourth. Each new connection multiplies the testing surface and the failure points.
The cost of an integration isn't in the pipes. It's in the assumptions about what flows through them.
How to Scope an Integration Project
If you're commissioning integration work — or evaluating whether you need it — the questions that matter are:
- What data needs to move, and in which direction? One-way sync is simpler than bidirectional. Real-time is harder than batched.
- What happens when something fails? Retry logic, dead letter queues, manual fallback — the answer is never "nothing."
- Who monitors it after handoff? Integrations need ongoing attention. The team that built it will understand the failure modes; a new team won't.
- What's the rollback plan? If the integration starts corrupting data in the target system, you need a way to stop it and restore the previous state. That's a design decision, not an afterthought.
A well-scoped integration project typically starts with two systems and one data flow. It proves the pattern before expanding. The teams that try to connect everything at once are the ones that end up with systems that talk to each other, but say the wrong things.
When You Need More Than Middleware
Low-code platforms work for moving data between CRMs, email tools, and spreadsheets. They stop working when you need transformation logic that the platform can't express, when data volumes exceed the rate limits, or when you need sub-second latency between systems.
That's the line. If your integration fits within the capabilities of a no-code tool, use it — the speed advantage is real. If it doesn't, you're building custom integration infrastructure, and the team building it needs to understand not just the APIs involved, but the business processes the data represents.
This is the kind of work where the cost difference between a good team and a cheap one becomes visible quickly. A cheap integration connects the systems. A good one connects the systems, handles failure gracefully, and documents the assumptions so the next person doesn't have to reverse-engineer the logic.
If you're looking at an integration problem — or realizing the middleware approach isn't scaling with your business — we should talk about what a proper integration architecture looks like for your stack.
Start a conversation →