NogaTech

Automation & Integrations

System Integration: What It Is, Types, Examples & How Businesses Connect Software

System integration connects software so information and workflows move between systems reliably. Learn the common integration methods, architecture choices, failure risks, and planning decisions businesses should understand before implementation.

Published September 4, 202626 min readIntegration guide
Connected business systems

Website

New leads

CRM

Customer records

Integration
layer

Operations

Delivery status

Finance

Invoices

Define ownership and flow before connecting systems.

A lead arrives through the website. An employee manually re-enters it into the CRM. When the lead becomes a customer, someone recreates the same customer in the operations platform used to track fulfillment. Finance recreates the customer a third time in the accounting system to issue an invoice. The customer portal shows yet another copy of the same information, pulled in whenever someone remembers to update it.

Now four systems each hold their own version of the same customer. Which record is correct? Which system actually owns the customer? What happens when the customer changes their billing address — does every system update, or just one? What happens if the accounting platform is down when an order closes? What happens if two systems try to update the same field at the same time?

These are the real questions behind system integration. Connecting software is rarely the hard part — most modern platforms already have an API. The hard part is deciding who owns which data, how information should flow between systems, what should happen when something fails, and how anyone finds out when it does. This guide works through those decisions using one realistic business environment — a website, a CRM, an operations platform, an accounting system, and a customer portal — and explains the methods, tradeoffs, and planning questions that make an integration reliable rather than merely functional.

What Is System Integration?

System integration — also commonly called systems integration — is the process of connecting software, applications, data sources, and business systems so they can exchange information and support coordinated workflows. Instead of each system operating as its own island, integrated systems share the data and events each one needs, when it needs them.

Common examples include a website sending new leads to a CRM, a CRM and an operations platform staying in sync on customer status, an accounting system feeding invoices to a customer portal, or a payment platform notifying a SaaS application when a subscription changes.

Integration may use APIs, webhooks, native connectors, middleware, an integration platform (iPaaS), files, shared databases, or event-driven messaging — the mechanism varies by situation. What should not vary is the underlying discipline: a reliable integration preserves data ownership, accuracy, security, and the ability to recover when something goes wrong. Data that merely moves between systems is not the same as data that moves correctly.

Why Businesses Need System Integration

Most organizations do not set out to build disconnected systems. Software gets adopted one decision at a time — a CRM to manage sales, an accounting platform for finance, an operations tool for fulfillment, a portal because customers asked for self-service access. Each tool solves its own problem well. What nobody planned for is what happens at the seams between them.

Without integration, the same information gets typed into multiple systems by different people, at different times, with no guarantee it stays consistent. Records drift apart. A customer’s new phone number lands in the CRM but never reaches the operations platform. Reports built from one system quietly disagree with reports built from another, and nobody notices until a customer points it out. Employees spend real hours each week copying information a computer could move automatically, and every manual step is another chance for a typo, a missed field, or a forgotten update.

System integration exists to remove that friction — not by adding more software, but by making the software organizations already use work together. A connected environment means a lead only needs to be entered once, a customer’s status updates everywhere it needs to be seen, and an invoice generated in accounting shows up automatically in the portal the customer already checks. The goal is not simply “less manual work” in the abstract. It is fewer places where the business depends on someone remembering to do something correctly, every time, forever.

System Integration Example: Connecting a Website, CRM, Operations Platform, Accounting & Customer Portal

To make the rest of this guide concrete, it uses one recurring business environment: a website that generates leads, a CRM that manages the sales relationship, an operations platform that tracks fulfillment or service delivery, an accounting system that handles invoicing and payment, and a customer portal where clients check status and pay their bills. This is a realistic setup for many service, product, and B2B businesses.

The disconnected version

Without integration, this environment looks like five separate filing cabinets. A website form submits a lead by email, which someone manually copies into the CRM. Once the deal closes, someone else creates the same customer in the operations platform to schedule delivery. Finance creates the customer a third time in accounting to send an invoice. The portal either does not reflect current status at all, or a different employee manually updates it once a week. Every handoff is a place where information can be delayed, mistyped, or simply forgotten.

The integrated version

In the integrated version, the same environment behaves as one connected system, even though each application still runs independently:

WebsiteLead capture
CRMOwns the lead & customer identity
Operations PlatformOwns fulfillment status
AccountingOwns invoices & payment
Customer PortalDisplays status, documents & billing

Each arrow represents a defined, monitored data flow — not simply “everything talks to everything.”

A website submission creates a lead directly in the CRM — no manual re-entry. When the deal closes, the CRM sends the customer record to the operations platform, which becomes the system of record for fulfillment status. As status changes, the operations platform notifies the CRM and the portal so everyone, internally and externally, sees the same picture. Accounting generates the invoice and pushes it to the portal automatically once it exists, along with payment status. Nobody is manually retyping the same customer three times, and no single system is expected to “own everything.”

The important design decision is not simply which systems are connected — it is which system is treated as the authoritative source for each piece of information. That is the idea behind a system-of-record matrix.

Example System-of-Record Matrix

DataPrimary System (Source of Truth)Other Consumers
LeadCRMOperations Platform
Customer identity (name, email, contacts)CRMPortal, Accounting, Operations
Operational status (in progress, complete)Operations PlatformCRM, Customer Portal
InvoiceAccountingCustomer Portal
Payment statePayment provider / AccountingOperations, Portal

Swipe the table to see more →

This is an illustrative example, not a universal template — a different business might make accounting the source of truth for customer identity, or treat the operations platform as the lead owner. What matters is that the decision is made deliberately, before development starts, rather than left implicit and discovered the first time two systems disagree.

System Integration vs API Integration

These two terms are often used interchangeably, but they describe different things. API integration is a specific technical mechanism — one system calling another system’s API to request data or trigger an action. System integration is the broader business and architecture objective: getting the right information to the right systems, in the right direction, at the right time, with a defined plan for what happens when something goes wrong.

A system integration project may use an API as one of its building blocks, but it just as often combines an API with a webhook for real-time notifications, a scheduled file transfer for a legacy system that has no API at all, and a reconciliation job that checks the two systems still agree at the end of the day. API integration answers “how do these two systems talk?” System integration answers the larger question: “how should this business’s software work together, reliably, as a whole?” An API is a tool inside that larger effort, not a substitute for it. See what API integration costs for more detail on the technical side of building and maintaining that layer.

System Integration vs Data Integration

Data integration usually focuses on moving and combining data for analysis — pulling records out of several systems into a warehouse or reporting tool so a business can see everything in one place. The goal is typically a consolidated view: a dashboard, a report, a single dataset used for decisions.

System integration more often focuses on operational workflows — keeping live applications working together so a transaction, a status change, or a customer action in one system correctly triggers the right behavior in another, in near real time. A data integration pipeline that refreshes a reporting warehouse once a night can tolerate delay. A system integration that updates a customer’s fulfillment status usually cannot. In practice these overlap constantly — the same event feed that updates an operational system can also feed a reporting pipeline — so the distinction is about intent and freshness requirements more than a hard technical boundary.

System Integration vs Workflow Automation

Integration is what lets systems communicate. Workflow automation is the business logic layered on top of that connection — the rules that decide what should happen, and under what conditions, once systems can talk to each other.

In the running example, the website sending a lead into the CRM is integration. The CRM automatically assigning that lead to a salesperson based on territory, and creating a follow-up task with a deadline, is automation. Integration without automation just moves data from one place to another. Automation without integration has nothing reliable to act on. Most valuable business projects need both — a dependable connection between systems, and defined logic for what that connection should trigger.

System Integration vs Application Integration & Enterprise Application Integration

Application integration is generally used to describe one category within the broader system integration effort — specifically, connecting software applications (as opposed to raw databases, files, or hardware) so they can share data and functionality. In everyday use, application integration and software integration mean roughly the same thing: getting two or more applications to work together as part of the same business process.

Enterprise Application Integration (EAI) is an older term for the same idea at larger scale, usually describing a dedicated integration layer or middleware platform that connects many applications across a large organization, rather than a single point-to-point connection between two systems. The underlying goals are the same regardless of company size: shared data, consistent workflows, and a defined place where the rules for connecting systems live — the scale and formality of the tooling is really the only thing that changes.

System Integration vs Related Concepts

ConceptWhat It MeansHow It Relates to System Integration
API IntegrationA specific technical mechanism for two systems to exchange data on demandBuilding block used inside a system integration project
Data IntegrationCombining data from multiple systems, usually for analysis and reportingOften tolerates delay; optimized for a consolidated view
Workflow AutomationBusiness logic that decides what should happen once systems can communicateBuilt on top of an integration, not a replacement for one
Application / Software IntegrationConnecting software applications specifically, as opposed to files or databasesA common category within the broader system integration effort

Swipe the table to see more →

Main Types of System Integration

Most real-world integrations combine more than one of the following methods. Understanding each on its own makes it easier to evaluate what a developer or integration platform is actually proposing.

Point-to-Point Integration

A direct connection between two specific systems — System A talks to System B, with logic built specifically for that pair. In the running example, the website connecting directly to the CRM to create leads is a point-to-point integration. It is simple to build and easy to reason about when there are only a few connections. The tradeoff shows up as the environment grows: each new system added can require its own direct connection to every other system it needs to talk to, and the number of connections grows much faster than the number of systems.

Hub-and-Spoke Integration

Instead of every system connecting directly to every other system, each system connects once to a central hub, which routes data to wherever it needs to go. If the operations platform, accounting system, and portal all connect through a central hub rather than directly to each other, adding a sixth system only requires one new connection to the hub, not five new point-to-point connections. The tradeoff is that the hub becomes a critical piece of infrastructure in its own right — it needs its own reliability, monitoring, and ownership.

Integration Layer / Middleware

A dedicated software layer that sits between applications, handling connections, data transformation, and shared business rules in one place rather than scattering that logic across every individual connection. This becomes worthwhile once several systems need to share business rules — for example, the same customer-matching logic used whenever data flows between the CRM, operations platform, and accounting system. Centralizing that logic in one layer avoids reimplementing (and potentially reimplementing inconsistently) the same rules three separate times.

API-Based Integration

One system requests data or triggers an action in another system on demand, through a defined interface. This is the most common building block in modern integration work because most current software — CRMs, accounting platforms, operations tools, and portals alike — exposes a documented API. MDN’s overview of APIs is a useful primer on the underlying concept if you want the technical fundamentals.

Webhook / Event-Based Integration

Instead of one system repeatedly asking “has anything changed yet?”, the source system sends a notification the moment an event occurs — a payment completing, an invoice being marked paid, a status changing. This is generally more efficient and closer to real time than checking on a fixed schedule. Stripe’s webhook documentation is a good real-world example of how a mature platform structures event delivery, retries, and verification.

Batch / File-Based Integration

Data is exchanged in scheduled batches — a nightly CSV export, an SFTP file drop, a recurring data dump — rather than continuously. This sounds old-fashioned, but it remains a genuinely valid choice for legacy systems with no API, for very large data volumes, or for situations where real-time synchronization is not actually required. The tradeoff is that data is only ever as fresh as the last batch, and a missed or partial batch can go unnoticed without a deliberate reconciliation check.

Database Integration

One system reads from or writes directly to another system’s database rather than going through an API. This should be approached carefully: it creates tight coupling between systems, since a database schema change on one side can silently break the other, and it can bypass business rules and validation that only exist in the application layer. Direct database integration is sometimes reasonable between systems under common internal ownership, but it is rarely a good choice for connecting to third-party or vendor-managed systems.

Event-Driven Integration

A publisher system emits an event — “invoice paid,” “order fulfilled” — onto a shared stream, and any number of interested consumer systems can react independently, without the publisher needing to know who is listening. This scales well when several systems need to respond to the same event (the CRM, the portal, and a notification service all reacting to “order fulfilled,” for example) without creating a direct connection between every pair. The AWS Well-Architected Framework covers this kind of architectural tradeoff in more depth, particularly around reliability and operational excellence — worth a look for teams evaluating this pattern, without implying AWS itself is required to use it.

Integration Methods Comparison

MethodBest ForStrengthTradeoff
Native ConnectorTwo well-supported SaaS tools with a common workflowFast to set up, low technical overheadLimited to what the vendor built; little control over logic
APIOn-demand data or actions between two systemsFlexible, works in both directions, widely supportedRequires development, authentication, and error handling
WebhookReacting immediately when something happens elsewhereNear real-time, efficient compared to pollingRequires a receiving endpoint, retries and duplicate handling
iPaaS / Automation PlatformConnecting several SaaS tools with moderate logicVisual workflow builder, faster than custom codeOngoing subscription cost; logic limits at scale
File / BatchLegacy systems, scheduled exports, large volume transfersSimple, well understood, works with almost any systemNot real-time; failures can go unnoticed until reviewed
DatabaseInternal systems under the same ownership boundaryDirect, no intermediate layerTight coupling; schema changes can break consumers silently
Event-Driven ArchitectureMultiple systems that need to react to the same eventDecoupled, scalable, supports many consumersMore moving parts to design, test, and monitor

Swipe the table to see more →

One-Way vs Two-Way Integration

One of the most consequential early decisions in any integration project is whether data should flow in one direction or both.

CRMSource of truth
Customer PortalRead-only display

One-way: CRM is the only system that can change the record; the portal only displays it.

CRM
Operations Platform

Two-way: both systems can create or change the record, which requires rules for what happens when they disagree.

One-way integration is simpler and safer by default: one system is the authoritative source, and the other simply reflects it. In the running example, the portal showing invoice status from accounting is naturally one-way — the portal has no legitimate reason to change an invoice.

Two-way integration is genuinely necessary in some cases — a CRM and an operations platform may both need to update the same customer record depending on who touches it first. But two-way sync introduces real questions that a one-way flow avoids entirely: Which system wins if both are updated within the same minute? What happens if a field is only meant to be owned by one system, but the other system also has a field with the same name? Two-way sync should be a deliberate decision made because the workflow requires it, not a default setting left on because it seemed more complete.

One-Way vs Two-Way Integration

FactorOne-WayTwo-Way
OwnershipOne system is authoritative; the other only displays or consumesBoth systems can create or change the record
Conflict riskVery low — there is only one place a change can originateReal risk if both systems update at nearly the same time
Design complexitySimple to reason about and testRequires explicit conflict-resolution rules
Typical usePortal displaying status or invoices from a source systemTwo operational systems that both legitimately edit a shared record

Swipe the table to see more →

What Is a Source of Truth?

A source of truth — sometimes called a system of record — is the one system designated as authoritative for a specific piece of data. Other systems may store a copy of that data for their own purposes, but when there is a disagreement, the source of truth’s value is treated as correct.

In the running example: the CRM owns customer identity, because sales is where the relationship starts and where duplicate-checking against existing contacts naturally happens. The operations platform owns fulfillment status, because that is where the actual work is tracked. Accounting owns the invoice and payment record, because that is the system built for financial accuracy and audit requirements. The payment provider (or accounting, depending on setup) owns payment state, because that is where the transaction actually settles.

This matters because “sync everything both ways” sounds thorough but is often the riskiest possible design. If both the CRM and the operations platform can independently edit a customer’s billing address, the business has no reliable answer to “which one is correct” without additional rules — and without those rules, the two systems will eventually disagree, quietly, in a way nobody notices until a customer is billed incorrectly. Assigning ownership deliberately, field by field where necessary, is what turns “these systems are connected” into “these systems can be trusted.”

Data Mapping

Two systems rarely describe the same thing the same way. Data mapping is the work of defining exactly how a field or concept in one system corresponds to a field or concept in another.

Simple mapping is mechanical: first_name in the CRM maps to givenName in the operations platform. Complex mapping requires a real business decision. Consider a customer status field: the CRM might track Lead, Qualified, Active, Inactive, while the operations platform tracks Onboarding, In Service, Paused, Closed. There is no purely mechanical way to connect these lists — someone has to decide, for example, that “Active” in the CRM should correspond to either “Onboarding” or “In Service” depending on whether fulfillment has actually started. Getting this mapping wrong is one of the most common causes of an integration that runs successfully but quietly produces incorrect results.

Data Transformation

Beyond mapping field names, data often needs to be transformed in format: converting date formats between systems, normalizing currency values, generating or translating IDs, standardizing status values, or flattening a nested record from one system into the flatter structure another system expects. None of this is exotic, but it needs to be planned deliberately rather than discovered when a report suddenly shows the wrong totals.

Duplicate Records, Conflicts & Record Matching

Duplicate Records

Duplicates typically appear for a few predictable reasons: a retried request that was not designed to be safe to repeat, inconsistent identifiers between systems, manual record creation happening alongside an automated one, or the same customer entering through more than one source. Prevention relies on stable, shared identifiers between systems, clear matching rules, idempotent operations (covered below), and periodic reconciliation that actively looks for records that should have matched but did not.

Conflict Resolution

Consider a case from the running example: a customer’s address is updated in the CRM at the same time an employee updates it in the operations platform. Which value should win? There is no universally correct answer — it is a business decision, not a technical one — but common policies include: the source of truth for that field always wins regardless of where the change originated; the most recent change wins based on timestamp; or the conflict is flagged for a person to resolve manually rather than resolved automatically. The mistake is treating this as a technical detail to figure out mid-project instead of a decision to make before development starts.

IDs and Record Matching

Matching the “same” record across two systems needs a reliable key. Internal database IDs are the strongest match when both systems can store each other’s ID. External identifiers (an email address, an account number) are the next best option, and composite matching — combining several fields such as email plus name plus company — can help when neither system has a perfect shared key. Matching records by display name alone is one of the weakest approaches available: names are not unique, they change, and formatting varies enough between systems that “Bob Smith” and “Robert Smith” will not reliably match without additional logic.

APIs in System Integration

Most system integration work today is built on APIs, so it is worth understanding the core vocabulary even without a technical background.

  • Authentication confirms which application or account is making a request — typically an API key, a token, or an OAuth flow.
  • Endpoints are the specific addresses an API exposes for a given action — “get customer,” “create invoice.”
  • Requests and responses are the structured data sent to and received from the API, usually including a status indicating success or the type of failure.
  • Errors need to be handled deliberately — a failed request should never be silently ignored.
  • Rate limits cap how many requests can be made in a given period, which matters directly for retry design and queue sizing at any real volume.

For a deeper look at how these connections are actually planned and priced, see API integration explained for businesses and API integration cost.

Webhooks

A webhook flips the usual request pattern around: instead of one system repeatedly polling another to check for changes, the source system sends a notification the instant something happens. In the running example, a payment completing in the payment platform triggers a webhook that updates the order and invoice status in accounting automatically, rather than accounting checking every few minutes to see if anything changed.

Polling vs Webhooks

FactorPollingWebhooks
TimingDelay depends on check frequencyNear real-time notification
EfficiencyMany unnecessary requestsRequests only when something happens
SetupSimpler to build initiallyRequires a receiving endpoint
Reliability needsMissed checks are self-correcting next cycleRequires retry, verification & duplicate handling

Swipe the table to see more →

A reliable webhook implementation needs to verify that a payload genuinely came from the expected source, handle the same event being delivered more than once (which happens routinely with real providers), and account for events arriving out of order. Stripe’s webhook documentation is a useful concrete reference for how a mature platform handles signing, retries, and delivery guarantees.

Queues, Retries, Idempotency & Reconciliation

Queues and Asynchronous Processing

When a receiving system is temporarily unavailable, the transaction does not have to be lost. Placing the work in a queue lets it be held and processed once the system recovers, rather than failing outright the moment something is briefly down. This is particularly important for anything customer-facing — a lost webhook because accounting happened to be mid-deployment should not mean a paid invoice is never recorded.

Retry Logic

Not every failure deserves the same response. A temporary timeout or a rate limit is usually safe to retry automatically, often with an increasing delay between attempts. An authentication failure or invalid data generally should not retry indefinitely — it should fail visibly and route to a person, because retrying broken data simply repeats the same failure forever.

Idempotency

An operation is idempotent if running it more than once produces the same result as running it once. This matters directly for retries: if a request to create an invoice times out after the invoice was actually created, and the system retries automatically, a non-idempotent integration will create a second invoice. A well-designed integration uses a unique reference for each operation so a retry is recognized as “the same request again” rather than treated as a brand-new one — preventing duplicate payments, duplicate orders, and duplicate customer records.

Reconciliation

Even a well-built integration should not simply be trusted to have worked. Reconciliation is a scheduled check that compares the two sides of an integration — record counts, statuses, or identifiers — and surfaces anything that does not match. If the accounting system generated 1,000 invoices today but the portal only received 997, reconciliation is what actually catches that gap, rather than a customer noticing a missing invoice weeks later.

Request Sent
Success?Yes → Complete
Retryable?Yes → Queue & Retry
Not RetryableLog, Alert, Manual Review
ReconciliationScheduled cross-check

Integration Failure Recovery Flow: most failures should resolve automatically; only genuine exceptions should reach a person.

CRM Integration

The CRM is usually the system every other integration in the environment eventually touches, because it holds the customer relationship. In the running example, the website feeds new leads directly into the CRM; the CRM then exchanges data with the operations platform as a deal moves toward fulfillment, and selectively shares status with the portal.

CRM integrations typically need to account for contacts, accounts (companies), opportunities or deals, and custom fields specific to the business. Duplicate prevention deserves particular attention here, since a CRM is often the first system a new lead touches and the easiest place for the same person to end up entered twice through different channels. Ownership also needs to be explicit: if the CRM is the source of truth for customer identity, other systems should generally be consuming that identity, not independently creating their own version of it. See custom CRM development for more on when a CRM needs custom capability rather than off-the-shelf configuration.

ERP Integration

ERP systems typically sit at the center of inventory, order management, finance, and operational processes, which is exactly what makes ERP integration more complex than most other connections. An ERP often needs to synchronize with a CRM (for order and customer visibility), a website or ecommerce platform (for orders and inventory), and an accounting or portal layer (for invoicing and status).

The complexity comes from three directions at once: ERPs frequently encode business rules that are not obvious from the outside (how inventory is allocated, how partial shipments are handled), the data volume is often significantly higher than a CRM alone, and many ERP platforms — especially older or heavily customized ones — expose integration paths that are less straightforward than a modern SaaS REST API. Treat ERP integration as its own discovery phase rather than assuming it will behave like any other system in the environment.

Accounting Integration

Accounting integration usually centers on invoices, payments, customer records, and tax categorization flowing between the accounting platform and the rest of the environment. In the running example, accounting is the source of truth for the invoice itself, and the portal simply displays what accounting has already generated rather than creating or editing financial records independently. Reconciliation matters more here than almost anywhere else in the environment, since a mismatch involves real money rather than just an out-of-date status label. This guide does not offer accounting advice — the point is architectural: treat the accounting system as authoritative for financial data, and design every other system to consume that data rather than duplicate it.

Ecommerce Integration

An ecommerce storefront typically needs to stay synchronized with inventory, shipping, payments, and — depending on the business — a CRM and an ERP as well. Inventory sync is usually the most time-sensitive piece: a storefront that does not reflect current stock in near real time will oversell, which creates a much more visible customer-facing problem than most other integration failures in this guide. Order and payment status generally flow one way, from the store outward to fulfillment and accounting systems, while inventory levels often need to flow back in from operations to the storefront.

Customer Portal Integration

A customer portal is generally a consumer of information rather than a system of record in its own right. In the running example, the portal displays fulfillment status owned by the operations platform and invoices owned by accounting — it should rarely, if ever, be the authoritative source for either. This is a deliberate architectural choice, not a limitation: keeping the portal read-mostly for operational and financial data avoids the two-way synchronization conflicts discussed earlier, while still letting customers submit specific requests (a support ticket, a document upload) that legitimately originate in the portal itself. See customer portal development for a deeper look at portal features and architecture.

Payment Integration

Payment integration typically involves a checkout or billing flow, webhooks that notify the business when a payment succeeds or fails, and ongoing subscription or order status that other systems depend on. Payment platforms are a good practical example of why webhooks and idempotency both matter: a payment confirmation should update order and invoice status exactly once, even if the webhook happens to be delivered twice. Card data should never be stored directly by the business unless there is a specific, well-understood reason to do so — established payment providers exist specifically to handle that responsibility. Stripe’s payments documentation is a useful reference for how a mature payment platform structures this, used here as one example of an established provider rather than a requirement to use it specifically.

Legacy System Integration

Older business systems are frequently the most consequential part of an integration project precisely because they are the least cooperative. A legacy system might expose data only through a SOAP interface, a fixed-format file export, direct database access, an SFTP folder, a proprietary desktop application, or no documented interface at all.

The practical approach in almost every legacy case is to build an adapter — a small, purpose-built piece of software that translates between the legacy system’s native format and the modern interface the rest of the environment expects. The adapter absorbs the legacy system’s quirks so nothing else in the integrated environment has to know or care that the underlying system is decades old. This is usually more practical than trying to force a legacy system to behave like a modern API, and it isolates risk: if the legacy system is eventually replaced, only the adapter needs to change, not every downstream integration. For a deeper look at modernization paths, including when replacement makes more sense than integration, see legacy application modernization.

SaaS Integration

Most businesses now run on a stack of SaaS tools rather than one monolithic system, which raises its own integration questions: which tool owns each piece of identity and data, how each platform’s API constraints (rate limits, data export rules, plan-tier restrictions) affect what is realistically possible, and how much the business is willing to depend on any single vendor’s roadmap. Multiple SaaS tools each claiming to be the “customer” system of record is one of the more common sources of the exact drift problem described at the start of this guide — the fix is the same source-of-truth discipline covered earlier, applied consistently across every SaaS tool in the stack, not just the core business systems.

Native Connectors vs iPaaS vs Custom Integration

Three broad approaches cover most integration projects, and none of them is universally correct.

Native Connector

A built-in integration a vendor already provides between two popular tools — fastest to set up, requires little technical work, but limited to whatever logic the vendor decided to support.

iPaaS / Automation Platform

Platforms such as Zapier, Make, Microsoft Power Automate, Workato, or MuleSoft provide a visual way to connect many applications and add moderate logic without writing custom code. These are a reasonable middle ground for connecting several well-supported SaaS tools with workflows that are not deeply custom, though cost and flexibility limits tend to appear as volume and complexity grow.

Custom Integration

Purpose-built code connecting the specific systems in question, with full control over logic, error handling, retries, and monitoring. This costs more to build initially, but removes the platform limits above and is usually the more durable choice for anything business-critical, high-volume, or built around a legacy system without a supported connector.

None of these three platforms is a universal answer — the right choice is determined by the specific requirement, not by defaulting to whichever option is easiest to try first.

Native Connector vs iPaaS vs Custom Integration

SituationNative ConnectoriPaaSCustom Integration
Standard SaaS-to-SaaS syncOften sufficientGood fitUsually unnecessary
Complex, branching business logicRarely sufficientSometimes sufficientOften required
High reliability / business-criticalDepends on vendorDepends on platformUsually the safer choice
Large or growing data volumeLimitedCan get costlyBuilt to fit actual volume
Legacy or undocumented systemRarely availableRarely availableOften the only real option
Product-critical workflowRarely appropriateSometimes appropriateUsually appropriate
Highly custom data modelNot flexible enoughPartially flexibleFully flexible

Swipe the table to see more →

System Integration Decision Tree

This is a planning framework, not a rigid rule — treat it as a starting point for the conversation, not a substitute for evaluating the specific systems involved.

  1. 1. Does a native connector meet the workflow’s needs? If yes, use it and stop there — building something more elaborate than the workflow requires is its own risk.
  2. 2. If not, does an iPaaS platform support the required logic and reliability? If yes, evaluate it against the comparison above before committing.
  3. 3. If not, are usable APIs available on both sides? If yes, a custom API integration is usually the right next step.
  4. 4. If not, treat it as a legacy, file-based, or database integration project and start with a discovery phase to understand what the system can actually expose before committing to an approach.

Integration Security

An integration is, by definition, a set of credentials with access to real business systems — which makes it a genuine security surface, not a background detail to handle after the workflow is working.

  • Authentication and authorization should follow least-privilege: an integration should only be able to do what it genuinely needs to do, not hold broad administrative access “just in case.”
  • API keys and OAuth tokens should be stored in a proper secrets manager, never embedded in code, spreadsheets, or shared documents.
  • Production access should be limited to the people who genuinely need it, with access reviewed periodically as staff and systems change.
  • Webhook verification should confirm a payload genuinely came from the expected source before acting on it.
  • Encryption in transit should be standard for every connection, with sensitive data never logged in plain text.
  • Offboarding — revoking access and rotating credentials when an employee, vendor, or contractor no longer needs them — is a routine step that is easy to skip and expensive to skip badly.

OWASP’s Cheat Sheet Series includes practical, vendor-neutral guidance on authentication and authorization that applies directly to integration credentials, and the NIST Secure Software Development Framework outlines how security practices should be built into the development lifecycle rather than added at the end. Neither implies certification or compliance on NogaTech’s part — they are referenced here as established, vendor-neutral guidance worth applying to integration work specifically.

Integration Testing

Testing an integration only against its happy path is one of the most common reasons a project that worked perfectly in a demo fails quietly in production. Real integrations should be tested against the full range of scenarios they will eventually encounter — including the ones nobody hopes to see.

System Integration Testing Scenarios

ScenarioWhat It TestsWhy It Matters
Happy pathValid data flows from System A to System B as expectedConfirms the basic integration actually works
Invalid dataA required field is missing, malformed, or out of rangeConfirms the receiving system rejects it safely, not silently
Authentication failureA token expires or credentials are revoked mid-runConfirms the workflow fails visibly instead of silently
Rate limitThe remote system throttles or rejects requestsConfirms backoff and retry behavior instead of data loss
TimeoutThe remote system is slow or unresponsiveConfirms the request is retried or queued, not dropped
Duplicate eventsThe same webhook or message is delivered twiceConfirms idempotency prevents a duplicate record
Out-of-order eventsA later event arrives before an earlier oneConfirms the final state is still correct
Retry behaviorA transient failure is retried automaticallyConfirms retries stop and escalate appropriately
Permission failureA user or service account lacks required accessConfirms the system fails safely without exposing data
Partial failureOne step in a multi-step sync succeeds, another failsConfirms the system does not leave inconsistent records
ReconciliationScheduled comparison between systems after a runConfirms missing or mismatched records are surfaced
Production-like testingRealistic data volume and timing in stagingConfirms behavior under conditions close to real use

Swipe the table to see more →

The common thread across every row in that table is the same: production reliability comes from testing failure paths, not only success paths. An integration that has never been deliberately broken in staging has not really been tested — it has only been demonstrated.

System Integration Monitoring, Logging & Alerts

Once an integration is live, someone needs a way to see whether it is actually working — not assume it is, because nobody has complained yet. Useful things to monitor include success and failure counts, latency, queue depth, retry volume, authentication errors, rate-limit hits, reconciliation mismatches, and webhook delivery failures. Even a simple daily summary turns an integration from a black box into something the business can actually trust.

Logging

Logs should contain enough detail to diagnose a failure — what was attempted, when, and what the system returned — without capturing sensitive data such as full payment details or unnecessary personal information. Logging everything indiscriminately is its own risk; logging too little makes failures impossible to diagnose after the fact.

Alerts

Not every failure needs an immediate page. A single transient retry that succeeded on its second attempt is normal operation, not an emergency. Alerts should be reserved for genuinely business-critical failures — a payment that could not be recorded, an integration that has been failing for an extended period, a reconciliation mismatch above an expected threshold — so that alerts stay meaningful instead of becoming background noise nobody reads.

System Integration Maintenance & Ownership

Launch is not the end of an integration project. APIs change versions, tokens expire, vendors deprecate old endpoints, fields get renamed, business rules evolve, and new systems get added to the environment over time. An integration with no owner and no maintenance plan tends to degrade quietly — it does not usually fail all at once, it fails a little at a time until someone eventually notices a growing pile of mismatched records.

Vendor Lock-In

Relying heavily on a specific iPaaS platform or a specific vendor’s proprietary format creates a dependency worth being deliberate about — not necessarily worth avoiding, but worth understanding. Ask what happens to the integration logic, documentation, and historical data if that platform is ever replaced.

Ownership

Businesses should generally control their own repositories, cloud accounts, integration-platform accounts, and API credentials rather than leaving them exclusively in a vendor’s or contractor’s personal account. This is a practical continuity question, not a legal one — this guide is not offering legal advice — but it is worth resolving explicitly at the start of a project rather than discovering the answer later.

How Much Does System Integration Cost?

There is no universal price for system integration, and any number offered without knowing the specific systems involved should be treated skeptically. What actually drives cost is a fairly consistent list of factors:

  • How many systems are involved, and how well documented their APIs are
  • Authentication complexity, including OAuth flows and token management
  • How much data mapping and transformation the integration requires
  • Whether the flow is one-way or two-way, and how conflicts are resolved
  • Data volume and how close to real time the integration needs to be
  • Whether webhooks, queues, and retry logic are required
  • Security requirements and the sensitivity of the data involved
  • How thoroughly the integration needs to be tested, including failure paths
  • Whether legacy systems require a custom adapter
  • How much monitoring, reconciliation, and ongoing maintenance are expected

A single point-to-point connection between two well-documented SaaS platforms is a fundamentally different project from a two-way, high-volume integration spanning a legacy ERP, a CRM, and a customer portal — even though both might be described casually as “an integration.” See API integration cost and custom software development cost for related detail on how these estimates are actually built.

How Long Does System Integration Take?

Timelines vary just as widely, and for similar reasons: access to systems and credentials, the quality and completeness of API documentation, whether a sandbox or test environment is available, the complexity of data mapping, how much testing the workflow genuinely requires, and how many stakeholders need to approve the source-of-truth and conflict-resolution decisions before development can start. A focused, one-way connection between two modern SaaS tools can move quickly. A two-way integration touching a legacy system with no test environment and unclear documentation cannot — and treating the two as comparable in scope is a common source of project frustration on both sides.

Trying to Connect Systems Without Creating More Complexity?

Start by defining which system owns each record, what data needs to move, when synchronization should happen, and what the workflow should do when one system is unavailable.

Common System Integration Mistakes

1. Integrating Before Defining Source of Truth

Connecting systems before deciding who owns each piece of data guarantees a conflict later — the integration will move data reliably, but nobody will have decided which copy is correct when it disagrees with itself.

2. Syncing Everything Both Ways by Default

Two-way sync should be a deliberate answer to a real requirement, not the default setting because it seemed more complete than a one-way flow.

3. Matching Records by Name Only

Names are not unique and are formatted inconsistently across systems. Matching on name alone reliably produces duplicate and mismatched records.

4. Ignoring Failure States

An integration designed only for the case where everything works will handle the first real outage badly — usually by losing or duplicating data silently.

5. No Retry Strategy

Treating every failure the same — retry forever, or never retry at all — causes either data loss on transient errors or endless repeated failures on permanent ones.

6. No Idempotency

Without a safe way to recognize a retried request as “the same request again,” a timeout followed by an automatic retry can create a duplicate order, invoice, or customer record.

7. No Reconciliation

An integration with no scheduled check comparing both sides relies entirely on someone noticing a discrepancy manually — usually a customer, not the business.

8. No Monitoring

An integration nobody is watching can fail quietly for weeks. The absence of complaints is not the same as evidence that everything is working.

9. No Ownership

An integration with no clear owner after launch tends to drift out of date as the connected systems change around it, with nobody responsible for noticing.

10. Too Many Point-to-Point Integrations

As more systems get connected directly to each other rather than through a shared layer, the number of connections grows faster than the number of systems, and the environment becomes harder to reason about with each addition.

11. Choosing Tools Before Mapping the Workflow

Picking an iPaaS platform or integration approach before understanding what actually needs to happen tends to produce a solution shaped by the tool’s limits rather than the business’s requirements.

12. Ignoring Rate Limits

An integration built without accounting for a vendor’s rate limits will work fine in testing and fail unpredictably once real volume arrives.

13. Testing Only the Happy Path

An integration that has only ever been tested when everything works correctly has not really been tested against the conditions it will eventually meet in production.

14. Exposing Too Much Production Access

Granting an integration broader permissions than it needs — often for convenience during development — turns a normal integration failure into a much larger security exposure.

15. No Maintenance Plan

Treating launch as the finish line, rather than the start of an ongoing responsibility, is how a working integration slowly becomes an unreliable one as the connected systems change over time.

20 Questions Before Starting a System Integration Project

A practical, bookmarkable checklist to work through before development begins.

  1. Which systems need to connect?
  2. What business process should this integration actually improve?
  3. What specific data needs to move between the systems?
  4. Which direction does each piece of data need to move?
  5. Which system owns each object — leads, customers, invoices, status?
  6. Which system owns each important shared field?
  7. Does this need to happen in real time, or is scheduled sync acceptable?
  8. Are usable, documented APIs available on both sides?
  9. Are webhooks available for the events that matter?
  10. Are sandbox or test environments available for development?
  11. How does authentication work for each system?
  12. What data volume is expected, now and as the business grows?
  13. Are there rate limits that will affect design or timing?
  14. How will duplicate records be prevented?
  15. How will conflicts be resolved when two systems disagree?
  16. What should happen if one system is temporarily unavailable?
  17. Which failures should retry automatically, and which should not?
  18. Is scheduled reconciliation required, and how often?
  19. Who will monitor the integration after launch?
  20. Who will own and maintain the integration going forward?

When Do You Need Professional System Integration Services?

Not every connection needs a development team. A straightforward sync between two well-supported SaaS tools, with low business criticality and a native connector or simple iPaaS workflow available, is often perfectly reasonable to set up in-house or with a low-code platform.

Professional system integration services tend to make sense once the project involves several systems working together rather than one simple pair, complex or branching business logic that a connector platform cannot express, a workflow that is genuinely business-critical and cannot tolerate silent failure, a legacy system without a documented API, two-way synchronization with real conflict scenarios, sensitive data that requires deliberate security design, or a reliability bar — monitoring, retries, reconciliation — beyond what a no-code platform provides out of the box. This is a scope question, not a judgment about any particular team’s technical ability: some integrations are genuinely simple, and some are genuinely not.

What Should a System Integration Proposal Include?

System Integration Proposal Checklist

  • Which systems are in scope, and which are explicitly out of scope
  • The specific data objects being moved (leads, customers, invoices, statuses, files)
  • The direction of each data flow — one-way or two-way
  • How authentication and authorization will work for each connection
  • How fields in one system map to fields in the other, including status values
  • Which system is the source of truth for each object and field
  • What happens when a system is unavailable or a request fails
  • How retries, queues, and idempotency are handled
  • How the integration will be tested, including failure scenarios
  • How the integration will be monitored after launch
  • How and where the integration will be deployed
  • What documentation will be delivered
  • Who is responsible for maintenance after launch
  • Who owns the credentials, repository, and infrastructure

System Integration Proposal Checklist — What Each Item Confirms

Proposal ItemWhat It CoversWhy It Matters
ScopeWhich systems are in scope, and which are explicitly out of scopePrevents the project from quietly expanding mid-build
Data objectsThe specific records being moved — leads, customers, invoices, statuses, filesConfirms both sides agree on exactly what is exchanged
DirectionWhether each data flow is one-way or two-wayDetermines how much conflict-handling logic is needed
AuthenticationHow authentication and authorization work for each connectionConfirms access is scoped correctly before development starts
Data mappingHow fields and status values in one system map to the otherThe most common source of quietly incorrect results if skipped
Source of truthWhich system is authoritative for each object and fieldPrevents disagreements once both systems are live
Failure behaviorWhat happens when a system is unavailable or a request failsDetermines whether the business loses data during an outage
Reliability designHow retries, queues, and idempotency are handledPrevents duplicate records and lost transactions
Testing planHow the integration will be tested, including failure scenariosConfirms the project is validated beyond the happy path
MonitoringHow the integration will be monitored after launchDetermines how quickly a real failure is noticed
DeploymentHow and where the integration will be deployedClarifies environments, credentials, and release process
DocumentationWhat documentation will be deliveredEnables the business to maintain or hand off the integration later
MaintenanceWho is responsible for maintenance after launchPrevents the integration from silently drifting out of date
OwnershipWho owns the credentials, repository, and infrastructureProtects business continuity independent of any one vendor

Swipe the table to see more →

How NogaTech Approaches System Integration

NogaTech starts every integration project with the business workflow, not the technology: which systems are involved, what data actually needs to move, who should own each piece of it, what direction it should flow, and what the business rules are when systems disagree. From there, we look at the APIs and constraints each system actually exposes, and design for the failure cases — what happens when a system is unavailable, how retries and reconciliation work, and how the integration will be monitored — before writing the integration logic itself.

Depending on what the workflow actually requires, that can mean a native connector, an automation platform, a direct API integration, custom middleware or an integration layer, a broader application change, or a legacy modernization effort. Explore automation and connected systems, custom applications and modernization, and business portals and admin systems to see how these projects are approached, or view our portfolio for examples of the kinds of connected systems NogaTech has built.

Frequently Asked Questions

What is system integration?

System integration is the process of connecting software, applications, data sources, and business systems so they can exchange information and support coordinated workflows, using methods such as APIs, webhooks, native connectors, middleware, or file transfer.

What is systems integration?

Systems integration is the same concept as system integration — the terms are used interchangeably to describe connecting business software so it works together reliably.

Why do businesses need system integration?

To remove duplicate data entry, keep records consistent across systems, reduce manual handoffs, and give employees and customers a more accurate, current view of information that would otherwise live in disconnected tools.

What are the main types of system integration?

Common types include point-to-point integration, hub-and-spoke integration, integration layers or middleware, API-based integration, webhook or event-based integration, batch or file-based integration, database integration, and event-driven architecture.

What is software integration?

Software integration generally refers to the same idea as application integration — connecting software applications so they can share data and functionality as part of a business process.

What is application integration?

Application integration is one category within the broader system integration effort, focused specifically on connecting software applications rather than raw databases or files.

What is the difference between system integration and API integration?

API integration is a specific technical mechanism for two systems to exchange data. System integration is the broader objective of getting the right information to the right systems reliably, which may use APIs, webhooks, files, or other methods together.

What is the difference between system integration and data integration?

Data integration typically focuses on combining data for analysis and reporting. System integration more often focuses on keeping live applications and operational workflows working together in near real time.

What is the difference between system integration and workflow automation?

Integration lets systems communicate. Workflow automation is the business logic layered on top that decides what should happen, and under what conditions, once systems can talk to each other.

What is point-to-point integration?

A direct connection built specifically between two systems. It is simple for a small number of connections but does not scale well as more systems are added, since the number of direct connections grows quickly.

What is an integration layer?

A dedicated software layer that sits between applications, handling connections, data transformation, and shared business rules in one place rather than duplicating that logic across many separate connections.

What is middleware?

Middleware is software that sits between two or more applications and manages how they communicate, often handling data transformation, routing, and shared business logic on their behalf.

What is iPaaS?

iPaaS (Integration Platform as a Service) is a cloud platform, such as Zapier, Make, or Power Automate, that provides a visual way to connect applications and build moderate integration logic without writing custom code.

What is one-way integration?

A data flow where one system is the source and another system only receives or displays that data, without sending changes back — for example, a CRM feeding read-only status into a customer portal.

What is two-way integration?

A data flow where both systems can create or update the same record, which requires defined rules for which system wins when they disagree.

What is a source of truth?

A source of truth, or system of record, is the one system designated as authoritative for a specific piece of data. When systems disagree, its value is treated as correct.

How do you prevent duplicate records?

Use stable shared identifiers between systems, clear matching rules beyond name alone, idempotent operations so retries do not create new records, and periodic reconciliation to catch anything that slipped through.

What happens if one integrated system goes down?

A well-designed integration queues the work and retries once the system recovers, rather than losing the transaction. Non-retryable failures should be logged and routed to a person rather than silently dropped.

How do you test system integration?

Test the happy path along with realistic failure scenarios — invalid data, authentication failures, rate limits, timeouts, duplicate and out-of-order events, permission failures, and reconciliation — not only the ideal case.

How do you monitor system integration?

Track success and failure rates, latency, queue depth, retry volume, authentication errors, rate-limit hits, and reconciliation mismatches, with alerts reserved for genuinely business-critical failures.

How much does system integration cost?

There is no universal amount. Cost depends on the number of systems, API quality, authentication complexity, data mapping, direction, reliability requirements, testing scope, and ongoing monitoring and maintenance.

How long does system integration take?

There is no universal timeline. It depends on access to systems and documentation, data mapping complexity, testing requirements, and how many stakeholders need to approve source-of-truth and conflict decisions before development starts.

When should I use an iPaaS platform?

When connecting a small number of well-supported SaaS tools with moderate, mostly linear logic, and the workflow is not so business-critical that platform limitations would create unacceptable risk.

When do I need custom system integration?

When the workflow involves complex branching logic, high reliability requirements, legacy systems without supported connectors, or a data model specific enough that a generic platform cannot represent it well.

When should I hire a system integration company?

When the project involves several interconnected systems, business-critical reliability requirements, legacy or undocumented systems, or the kind of monitoring, security, and failure handling a no-code platform is not built to provide.

Connect the Systems Around the Business Workflow

Reliable integration starts with more than an API. Define data ownership, direction, business rules, failure behavior, monitoring, and long-term ownership before choosing the technical approach.

Tell Us About Your Integration

You can also explore automation and system integration to see how NogaTech approaches these projects.