API integrations are how separate pieces of business software share information automatically, without anyone retyping it. When a booking made on your website appears in your diary, an invoice raised in your job system turns up in Xero, or a card payment taken through Stripe marks that invoice as paid, an API is usually doing the work in the background.
Many small businesses run on a handful of separate tools, and the gaps between them are where time disappears: copying customer details from one screen to another, exporting spreadsheets, chasing figures that do not match. This guide explains in plain English what an API is, the different ways systems can be connected, what a good API integration has to cope with behind the scenes, and how to plan one without paying for more than you need.
What an API actually is
API stands for application programming interface. It is a set of rules that one piece of software publishes so that other software can ask it for information or tell it to do something. MDN, the web developer reference maintained by Mozilla, describes APIs in its introduction to web APIs using the electricity supply in a house: you plug an appliance into a socket and it works, without needing to wire it directly into the mains yourself.
In practice, an API request is a structured message sent over the internet. One system says, in effect, “create a contact called Sarah Jones with this email address” or “give me every invoice paid since yesterday”. The other system checks that the request is allowed, carries it out and sends back a reply, usually in a format called JSON that software can read easily.

Two details matter for business owners. First, access is controlled: the connecting software needs permission, usually granted when someone in your business logs in and approves the connection. Second, an API only offers what its maker chooses to offer. If your booking system’s API does not expose cancellation reasons, no integration can retrieve them. Checking what each API can really do is one of the first jobs in any API integration project, and it is a core part of our software and financial integrations work.
Three ways systems can talk to each other
Not every connection works the same way. Most API integrations use one of three patterns, and many use a mix.
1. Asking on a schedule (polling)
One system asks the other at regular intervals whether anything has changed: every five minutes, every hour or once a night. Polling is simple and dependable, but it is never instant, and frequent checking uses up the API’s allowance of requests even when nothing has happened.
2. Being told when something happens (webhooks)
Webhooks reverse the direction. Instead of asking, your system gives the other one a web address, and the other system sends a message to that address the moment something happens, such as a payment succeeding or an invoice being updated. Webhooks are faster and more efficient than polling, but they need a server that is always ready to receive messages, and they need careful handling, as we explain below.
3. Exchanging files
Some systems, especially older ones, have no usable API. They may still be able to export or import CSV files, and a scheduled file exchange can stand in for a full API integration. It is slower and more fragile than an API, because a renamed column can break it, but it is often the realistic option for legacy software.
What API integrations can do for a small business
The best candidates for API integrations are tasks where the same information is entered twice, or where a delay between systems causes problems. Common examples include:
- Website to CRM. Enquiry forms create contacts and tasks directly, rather than landing in an inbox to be copied across.
- Job or booking system to accounts. Completed work becomes a draft invoice in Xero or QuickBooks with the right customer, items and tax codes.
- Payments to accounts. Card and online payments are matched to the invoices they pay, so nobody has to reconcile them by hand.
- Accounts back to operations. Overdue balances show up in the job system, so the team knows not to book more work for a customer who has not paid.
- Stock and orders. Stock levels stay in step between an online shop, a warehouse spreadsheet and a supplier portal.
Accounting connections are often the most valuable place to start. Our guide to connecting Xero or QuickBooks to your website and CRM goes into those in detail, and our article on taking deposits and payments online covers the payment side.
Ready-made connectors, no-code tools or a custom API integration
There are three broad ways to connect two systems, and the right one depends on how standard your needs are.
- Built-in connectors. Many products already connect to popular platforms. If your booking system has a Xero connector that does what you need, use it. It is usually the cheapest option and the vendor maintains it.
- No-code automation tools. Platforms such as Zapier and Make let you link apps with triggers and actions, without writing code. They suit simple, low-volume flows and are quick to set up, though costs and complexity grow as volumes and rules increase.
- Custom API integrations. Code written for your business, running on a server, using each system’s API directly. It costs more to build, but it can handle your exact rules, larger volumes, awkward edge cases and systems that have no ready-made connector.
A sensible approach is to start with the simplest option that genuinely works and move up to a custom API integration only when it stops working. A built-in connector that maps 90% of your data correctly and leaves the rest to be fixed by hand every week is not really working.
What a good API integration handles behind the scenes
Connecting two systems in a demonstration takes an afternoon. Making that connection reliable for years is where the real work lies. These are the issues that separate dependable API integrations from ones that fail quietly.
Permissions that expire
Many business platforms use a standard called OAuth 2.0, where your business approves the connection once and the integration receives tokens to use from then on. These tokens expire. Xero’s OAuth 2.0 FAQs explain that access tokens last 30 minutes and are renewed automatically using a refresh token, but an unused refresh token expires after 60 days, after which someone has to approve the connection again. A well-built API integration renews its tokens on time and alerts a person if a connection is lost, rather than silently stopping.
Rate limits
Most APIs limit how many requests you can make. Xero’s published API rate limits for each connected organisation are five calls in progress at once, 60 calls a minute and 5,000 calls a day. That is plenty for day-to-day syncing, but an API integration that tries to import five years of invoices in one go, or polls every few seconds, will hit the limits. Good integrations queue requests, slow down when told to and spread large imports over time.

Webhooks that arrive late, twice or out of order
Stripe’s webhooks documentation is a good illustration of what any integration has to plan for. Stripe signs every event so that your system can check it really came from Stripe. It asks your endpoint to reply with a success code quickly, before doing any slow processing. If delivery fails in live mode, it retries for up to three days. And it does not guarantee that events arrive in the order they happened. A reliable API integration therefore verifies every signature, records which events it has already processed so that duplicates are ignored, and does not assume that “payment succeeded” will always arrive after “invoice created”.
Mapping and matching
Systems rarely describe things the same way. One holds a customer’s name in a single field and the other expects first and last names; one uses your own product codes and the other uses accounting codes and tax rates. Every field needs a rule, and every record needs a reliable way to match it to its counterpart. Matching customers on name alone is a classic cause of duplicates.
Errors and monitoring
Things will go wrong: a system is down for maintenance, someone deletes a record that the other side still refers to, a required field is blank. A good API integration logs every failure, retries where that is safe, and tells a named person when something needs attention. The worst integrations are the ones that fail silently while everyone assumes the figures are up to date.
How to plan an API integration
Most of the effort in a successful project goes into decisions, not code. Work through these steps before anyone starts building:
- Write down the problem in business terms. “Invoices are typed into Xero twice a week and errors creep in” is a better starting point than “we need an API”.
- Choose a source of truth for each type of information. For example, customers and jobs live in the job system, payments live in the accounts. Two-way syncing of the same field is possible, but it is harder and needs rules for conflicts.
- Decide what triggers each step and how quickly it must happen. Instant updates need webhooks; overnight updates may be fine with a scheduled job.
- List the awkward cases. Refunds, part payments, credit notes, cancelled jobs, merged customers and changed prices are where integrations most often go wrong.
- Test in a sandbox. Stripe offers sandboxes and Xero offers a demo company for testing, so the integration can be proved with dummy data before it touches your real accounts.
- Agree who looks after it. Someone needs to receive alerts, and someone needs to update the integration when either platform changes its API.

An illustrative example: a cleaning company joins up its tools
To make this concrete, here is an illustrative example. The business is made up, but its set-up is typical of the small service firms we talk to.
A commercial cleaning company takes bookings through a form on its website, takes a deposit by card through Stripe, schedules work in a job management app and does its accounts in Xero. Before any integration, the office manager copies each booking into the job app, creates the invoice in Xero by hand and ticks off Stripe payments against invoices at the end of each week.
After a modest API integration project:
- the website form creates the customer and booking in the job app straight away;
- a Stripe webhook confirms the deposit, and the booking is marked as secured;
- when a job is completed, a draft invoice is created in Xero with the deposit already shown as paid;
- if anything fails, such as a customer that cannot be matched, the office manager receives an email explaining what needs checking.
Nothing about the company’s tools has changed. The difference is that each piece of information is entered once, and the weekly reconciliation becomes a quick review of exceptions. If a growing set of connected features starts to feel more like an application than a website, our article on whether you need a website or a web app may help you think it through.
What API integrations cost
Costs vary widely, so treat any figure as a rough guide rather than a quote. As a general indication across the UK market, a single one-way connection between two systems with good, well-documented APIs is often priced in the low thousands of pounds. Two-way syncing, several systems or older software without a proper API can cost considerably more. The things that drive the price are:
- the quality of each system’s API and documentation;
- how many types of record are involved, such as customers, jobs, invoices and payments;
- whether data flows one way or both ways;
- how many awkward cases need specific rules;
- whether historical data needs importing as well as new records;
- hosting, monitoring and maintenance after launch.
Remember the running costs. A custom API integration needs somewhere to run and someone to keep it working when a platform changes. Some platforms also charge app developers for API access, so ask your developer to explain any third-party fees up front.
Questions to ask before you commission an API integration
- Does either system already offer a connector that does what we need?
- Which system will be the source of truth for each type of information?
- What happens when a request fails, and who will be told?
- How will you handle duplicate or out-of-order webhooks?
- Who owns the code and the server accounts if we part ways?
- What will ongoing hosting and maintenance cost each year?
The principle behind all of this is entering information once and using it everywhere. It is the same idea we built into Ops Pilot CRM, our own platform for agencies and freelancers, which brings email campaigns, contacts, projects and tasks, invoicing and branded client portals into one place.
API integrations: common questions
What is the difference between an API and a webhook?
An API is the set of rules for talking to a system: your software makes a request and gets a reply. Webhooks are messages the other system sends to you, unprompted, when something happens. Most integrations use both: webhooks to hear about changes and the API to fetch details or make updates.
Is connecting our systems secure?
It can be very secure when done properly. Connections should use the platform’s official authentication, ask only for the permissions they need, keep secret keys out of code and shared documents, and verify the signatures on incoming webhooks. Ask how each of these is handled before you go ahead.
What happens when one of the systems changes its API?
Established platforms usually announce changes in advance and keep old versions running for a period. Someone still has to make the updates, which is why maintenance should be part of the plan from the start rather than an afterthought.
Can you connect software that has no API?
Sometimes. If it can export and import files, a scheduled file exchange may work. If it cannot, the conversation may turn to whether the old system should be replaced or modernised.
The bottom line
API integrations are less about technology and more about how information moves through your business. Done well, they remove retyping, reduce errors and give everyone figures they can trust. The secret is not clever code but careful planning: a clear source of truth, well-defined rules and an integration that tells you when something goes wrong.
If you are copying information between systems and would like it to flow automatically, tell us which tools you use or call us on 01482 212499. We will tell you honestly whether a ready-made connector will do the job or whether a custom integration is worth the investment.


