Home  ›  Guides  ›  Integrations between core business platforms  ›  Native connector, middleware or custom integration: how to choose

Native connector, middleware or custom integration: how to choose

There are three common ways to build an integration between business systems. Many integrations combine them, so compare each option against written requirements.

A native connector is an app or setting offered by one of the vendors. Middleware is a separate integration platform that runs flows between systems. A custom integration is code your team or a partner writes and hosts. Custom code can itself act as middleware when it sits between several systems.

The options can work together. A native connector can sync customers while custom code handles one complex order rule.

Before you compare options, agree which system owns each field and which identifiers link the records. The requirements below depend on those decisions.

Decide when a process needs orchestration

An orchestration runs a whole business process across several systems. One business event starts a run. The orchestration tracks where each run is and handles waits, approvals and failures.

Point-to-point syncs are enough when each flow copies records between two systems and no flow depends on another. Consider orchestration when a process shows one or more of these signs:

An orchestration can also run processes that involve people as well as systems. For example:

Check what the orchestration layer must do

Example (illustrative): an accepted quote in the CRM starts a run. All times and counts are illustrative.

StepSystemWaits forIf it fails
1. Create or match the customerERPThe accepted quoteRetry, then alert.
2. Create the sales orderERPStep 1Retry, then alert. The customer record can stay.
3. Raise the first invoiceERPStep 2Retry, then cancel the sales order.
4. Wait for payment or credit approvalERP and a credit approverPayment or a decision, for up to 5 business daysOn a decline or timeout, void the invoice and cancel the sales order.
5. Provision the serviceProvisioning systemStep 4Retry, then credit the invoice, cancel the sales order and refer any payment to finance.
6. Update the quote with order and service statusCRMStep 5Retry, then alert. Nothing is undone.

In this example, each retry allows up to 5 attempts, with gaps of 1, 2, 4 and 8 minutes. Undo steps need their own retries and alerts, because a cancellation can fail too.

A connector or custom code can still carry out a single step. The orchestration layer decides the order, the waits and the recovery.

Write down what the integration must do

Start with requirements. Without them, the choice tends to follow whichever option someone already knows.

Example (illustrative): a business sends accepted quotes from a CRM to an ERP as sales orders, then invoices and provisions them. Fill in the same questions for your integration.

QuestionExample answer
Which systems are involved?CRM, ERP and a provisioning system. An online store may join next year.
Which records move, and in which direction?Customers and orders from CRM to ERP. Invoice status from ERP to CRM.
How many records each day, at peak?About 200 orders on a normal day, 1,500 at end of quarter.
How fast must a change arrive?Orders within 15 minutes. Invoice status overnight is fine.
What has to change on the way?Map CRM product codes to ERP item codes. Split one deal into several order lines.
Does the order of changes matter?Yes. A customer must exist in the ERP before its first order arrives.
What happens to cancellations and deletes?A cancelled order updates its status in the CRM. Deleted customers are reviewed by hand.
What is the matching key?ERP customer ID stored on the CRM record. ERP order ID stored on the CRM order.
Which steps run across systems, in what order?Customer, sales order and first invoice in the ERP. Provisioning after payment or approval. Then a CRM update.
Which steps wait, and for how long?Payment or credit approval, for up to 5 business days.
What is undone if a later step fails?If provisioning fails, credit the invoice and cancel the order.
Who tracks each run?Sales operations sees each run's status. A named person handles stopped runs.
Who will support it?One systems administrator. No in-house developers.

Understand what each option involves

Native connector

You install it and configure it through settings. The vendor maintains it and updates it when either system changes. Some connectors offer fixed mappings only. Others support transformations, filters and business rules. You work within the features, timing and error handling it provides.

Middleware

You build each flow on a separate integration platform, often with visual steps and some scripting. Many platforms offer scheduling, retries and logs, but features vary by plan. Your team or a partner builds and maintains the flows, and you pay for the platform.

Custom integration

You write code against each system's API and host it yourself. You control every rule. You also own every failure, upgrade and security patch.

Compare the options against your requirements

This matrix describes common patterns, and individual products vary. Check each point against the product you are considering.

CriterionNative connectorMiddlewareCustom build
TransformationCheck the connector's supported mappings, transformations and business rules.Mapping, lookups and conditional logic, within the platform's features.Any logic you can write and test.
Number of systemsUsually the two systems it was built for.Several, managed in one place.Any, but each adds code to maintain.
Retries, logs and recoveryVerify what the connector provides.Verify what the platform and plan provide.Whatever you build and run.
Support ownershipThe vendor, for the connector itself.Your team or partner, plus the platform vendor.Your team or partner only.
Skills neededSystem administrator.Integration specialist.Developer and someone to host and monitor it.
Ongoing costLicence or included in a plan.Platform fee plus build and change work.Hosting plus developer time for every change.

Reject any option that fails a mandatory requirement. Compare the rest on support, total cost and maintainability. Compare total cost over the same period for each option, including build, licences, hosting and change work.

Check transformation and capacity

Every option has to work within each system's API limits, including a custom build.

Check how each option handles failure

Treat each of these as a capability to verify. Ask for a written answer, then test it.

A common way to make retries safe is to send a unique key with each create request. The receiving system then recognises a repeat and returns the first result. For further reading, see Stripe's post on idempotency.

Also check security and data location before you sign or build.

Decide who supports it

An integration needs someone to watch it after go-live. Choose an option your team can support, even if another option meets more requirements.

TaskOwner (example)
Works the alert queue each morningSystems administrator, with a named backup
Changes mappings when a field is addedSystems administrator or integration partner
Fixes faults in the integration itselfConnector vendor, middleware partner or developer
Reviews the integration after each system upgradeSystems administrator

Data errors in a field go to the team that owns it, as set in your field ownership table. A custom build with no developer to maintain it becomes a risk the first time an API changes.

Test the shortlist at peak load

Run a proof of concept before you commit. Use a sandbox or test environment loaded with production-sized data, with personal information masked.

  1. Load a full day of peak records and time the sync.
  2. Include records with missing keys, long text and unusual characters.
  3. Make one system unavailable for an hour, in the test environment or with a simulated outage. Check that records queue and then catch up in order.
  4. Send the same create request twice and confirm that only one record is created.
  5. Cancel and delete test records, and check the result in the other system.
  6. For an orchestrated process, make the last step fail and check that the undo steps run.
  7. Confirm the alert reaches the named person with enough detail to act.

Check the test results record by record, using the method in reconciling ERP, finance and CRM data.

Plan the discovery work

Here is an example two-week discovery schedule. It assumes you have system access and that vendors reply within a few days. Allow more time if they do not.

Common questions

What is the difference between an integration and an orchestration?

An integration moves data between systems, such as copying an order from a CRM to an ERP. An orchestration runs a business process across systems and decides which step comes next. It often uses integrations to carry out each step.

Can we start with a connector and move to custom code later?

Yes. Store external IDs and keep your field ownership table current. Both carry over to any later option.

Should we build a custom integration because we have developers?

Developers make custom code possible. It also commits them to hosting, monitoring and upgrades for as long as the integration runs. Compare that ongoing work with a connector or platform that meets the same requirements.

More on integrations between core business platforms

All guides in this area

How to decide which system owns each field

When your CRM and ERP hold the same customers and orders, agree which system owns each shared field and which identifier links them.

Read the guide: How to decide which system owns each field

Keep ERP, finance and CRM data in sync: reconciliation basics

A successful sync log does not prove your CRM, ERP and finance data agree. Compare record keys, fields and totals for the same records.

Read the guide: Keep ERP, finance and CRM data in sync: reconciliation basics

Browse guides by area

All guides