Custom API integrations that connect any system, connector or not
Off-the-shelf connectors cover the easy 80% of the tools you run. The automation that would actually move the needle almost always lives in the other 20%: the industry-specific platform, the homegrown internal tool, the API with no Zapier app. That is where a custom API integration earns its place. Roiwerk builds and runs the integration that talks to those systems directly, through their real API, so a workflow can read and write to them without a person in the loop. This page covers what a custom API integration is, how we build one, and where it pays for itself.
When the connector runs out
Every automation platform ships with a library of pre-built connectors, and for common SaaS they are great. Zapier, Make, and n8n will wire Slack to HubSpot to Google Sheets in an afternoon. The problem starts the moment a workflow needs a tool that is not in the library, or needs an action the connector never exposed. Suddenly the pretty node-based diagram has a hole in it, and a human is back in the loop, copying data out of one system and typing it into the next.
That gap is where real businesses lose the most time, because the systems that run your operation are rarely generic. It is the vertical platform your industry standardized on, the ERP with an API but no connector, the internal tool a developer built three years ago, the vendor portal that only speaks its own REST endpoints. A connector-only shop will tell you those integrations are impossible or quote you a rip-and-replace. We do not. If a system has an API, or can be made to expose one, we can wire your automation straight into it.
A custom API integration is exactly that: code we write to talk to a specific system through its own interface, on your terms, instead of waiting for a vendor to ship a connector that may never come. It slots into the same n8n or Make flow as everything else, so you get the readability of the visual builder for the easy parts and a purpose-built connection exactly where the off-the-shelf tooling stops.
What a custom API integration actually involves
An API is a documented way for one system to read from and write to another, and connecting to one cleanly is more than firing a single request. We handle authentication first: API keys, OAuth 2.0 flows with token refresh, signed requests, or session-based logins, stored as credentials your team owns and rotates, never hardcoded. Then comes the real engineering, the parts that decide whether an integration survives contact with production or quietly breaks at 2am.
Most APIs return data in pages, throttle you with rate limits, and fail intermittently for reasons that have nothing to do with your code. So we build pagination that walks every record, backoff and queuing that respect rate limits instead of getting your account blocked, retries with idempotency so a repeated call never creates a duplicate order or double-charges a customer, and error handling that catches a failure, logs it, and alerts a human rather than losing the record. We map the API's data shape to whatever the next step in your workflow expects, because two systems almost never agree on how a date, a currency, or an ID should look.
Where the work needs judgment rather than plumbing, we drop an LLM into the flow as a step: reading an unstructured response, classifying what came back, or extracting fields from a payload that was never meant to be machine-clean. This is the same connective layer that sits underneath our cross-tool integration and workflow automation builds, applied to the specific case where no ready-made connector exists.
- Authentication: API keys, OAuth 2.0 with automatic token refresh, signed and session-based requests
- REST and GraphQL, plus SOAP and XML for older enterprise systems
- Pagination that reliably walks every record, not just the first page
- Rate-limit handling with backoff and queuing so your account never gets throttled or blocked
- Idempotent writes and retries so a repeated call never duplicates or double-charges
- Webhooks so a flow fires the instant something happens, instead of polling on a timer
Reverse-engineering the APIs nobody documented
The hardest and most valuable integrations are the ones a vendor never intended you to automate. A lot of software has an API that is real but undocumented, powering its own web app behind the scenes, or a partial public API that stops exactly where you need it. We find those endpoints, inspect how the product actually talks to its own backend, and build a stable connection through the same interface, with the same care for auth and rate limits as a documented API.
When there is genuinely no API at all, we go one layer deeper: direct database reads and writes for systems you host yourself, scheduled file pickups for tools that only export CSV, inbound email parsing, or, as a deliberate last resort, careful browser automation that drives the interface a human would. None of it is glamorous, and we are honest about the trade-offs, an undocumented endpoint can change without warning, so we monitor it closely and design it to fail loudly rather than silently. The point is that a legacy or homegrown system is rarely the reason a project stops. We find the seam and wire through it, without ripping out or replacing what already works.
- Undocumented and internal APIs mapped by inspecting how a product talks to its own backend
- Direct database access for self-hosted and on-premise systems
- Scheduled file pickups and email parsing for tools that only export CSV or PDF
- Browser automation as a last resort for systems with no other way in
Where a custom build earns its place
Custom API integrations pay off wherever a system is central to your operation but sits outside the connector libraries. The clearest wins are the tools your team already touches dozens of times a day by hand, because every one of those touches is pure overhead that a direct connection deletes. Once the integration exists, the workflow runs on its own: an order lands, a record updates, a report generates, and nobody had to open the tool.
We scope each build to the actual job rather than integrating for the sake of a tidy diagram. Sometimes it is a one-way push into a system on a schedule; sometimes it is a live two-way sync that keeps two platforms in agreement; sometimes it is an event-driven flow where a webhook from one tool triggers actions across three others. We tell you honestly which parts are boringly reliable and which need real engineering, and we build only what returns more than it costs to maintain.
- Syncing a vertical or industry platform that has an API but no off-the-shelf connector
- Pushing and pulling data to an ERP, PMS, or booking system through its raw API
- Wiring a homegrown internal tool into the rest of your automated stack
- Feeding an AI step live data from a system, then writing the result back automatically
- Real-time webhook flows that react the instant a payment, order, or status changes
What it takes to build, what you own, and what it costs
A scoped custom API integration usually reaches production in two to four weeks, longer when an API is undocumented and we have to map it first, or when the logic spanning several systems is genuinely complex. We build against your real data, test the failure cases as hard as the happy path, and roll it out with monitoring from day one, so you are never guessing whether a flow ran. Because our pricing is outcome-based, you pay when the integration actually works, not for hours spent poking at documentation.
You own everything we build: the code, the credentials, the documentation, and the workflow it lives in, running on your accounts and your infrastructure. We favor self-hosted n8n for most clients so your data stays under your control and costs do not scale with every API call the way metered SaaS pricing does. If you ever want to bring it in-house or move to another partner, all of it comes with you. We do not bury the connection somewhere only we can reach, and we do not hold your integration hostage on our platform.
It is not always the right move, and we will say so. If a documented connector already does the job, use it, paying us to rebuild it in code is waste. If a system is touched once a month, or its API is so unstable that maintenance would eat any savings, a custom integration costs more than it returns. And an undocumented endpoint that a vendor could change tomorrow is a real risk we will name upfront rather than sell around. The goal is to connect the systems that actually run your business, not to write code for its own sake.
- →Custom API integrations cover the systems off-the-shelf connectors miss: vertical platforms, ERPs, and homegrown internal tools.
- →A real integration is more than one request: auth, pagination, rate limits, idempotent retries, webhooks, and error handling.
- →When an API is undocumented or absent, we reverse-engineer endpoints, read the database directly, or automate the interface as a last resort.
- →You own the code, credentials, and documentation; it runs on your infrastructure with no lock-in, and pricing is outcome-based.
- →Skip it when a documented connector already works, the system is touched rarely, or an unstable API would cost more to maintain than it saves.
What is a custom API integration, and how is it different from a connector?+
A connector is a pre-built block an automation platform ships for a popular tool. A custom API integration is code we write to talk to a specific system through its own API when no connector exists or the connector is missing the action you need. It slots into the same n8n or Make flow, so you only pay for custom work exactly where the off-the-shelf tooling stops.
Can you integrate a tool that has no public API?+
Almost always, yes. Where there is no documented API we use undocumented or internal endpoints, direct database access, scheduled file pickups, email parsing, or careful browser automation as a last resort. A legacy or homegrown system rarely stops a project. We find the seam and wire through it without replacing what already works.
How do you keep a custom integration from breaking?+
We build in rate-limit handling, idempotent retries, and error handling that alerts a human instead of losing data, then monitor every flow in production. When an API changes or times out, you get an alert and failed items queue rather than vanish, so nothing is lost and we fix it before work piles up. Undocumented endpoints get extra scrutiny because they can change without notice.
Do we own the integration, or are we locked into your platform?+
You own all of it: the code, credentials, documentation, and the workflow it runs in, on your accounts and infrastructure. We favor self-hosted n8n so your data stays under your control and costs do not scale per API call. If you ever move in-house or to another partner, everything comes with you. No black boxes.
How long does a custom API integration take and what does it cost?+
A scoped integration usually reaches production in two to four weeks, longer when we first have to map an undocumented API. Pricing is outcome-based, so you pay when the integration works, not for hours. Because it deletes recurring manual work, a first build often pays for itself within a couple of months.
Not sure which applies to you?
Book a free assessment and we'll map the highest-ROI automation opportunities for your business, honestly, including when it's not worth starting yet.
Book a free AI assessment