API Integration & Workflow Automation
Integration Platforms vs. Custom Code: When Should You Build vs Buy?
When are Zapier, Make, or n8n enough, and when should you build custom code? Compare costs, reliability, ownership, and business rules using one service workflow.

- Published
- Author
- Demari Miller
- Series
- Cass & York
- Reading time
- 11 min read
The short answer: Use an API integration platform such as Zapier, Make, or n8n when its connectors support the work, failures are easy to recover from, and operating costs make sense. Consider custom code when business rules, missing features, or reliability needs become difficult to manage inside the platform. A mixed approach can keep the useful connectors and move complex rules into a custom API.
When to bring in help: If your business depends on disconnected systems and staff keep filling the gaps by hand, a custom software partner can help assess and build the missing pieces. Cass & York designs and builds operational software for complex workflows, disconnected systems, and processes that have outgrown spreadsheets, PDFs, and manual work.
Why do business automations become hard to maintain?
Zapier, Make, and n8n can save a company a lot of time.
Connect your phone system to your CRM. Turn a customer call into a service request. Send the details to the office without making someone type everything twice.
That is useful. Sometimes it is all you need.
But these setups can come with growing pains.
Change one thing, break another. Add a new rule, then realize it affects three other automations. Someone leaves, and now nobody knows why the workflow was built that way.
In the setups that reach us, the person who started the project can end up being the only one who still understands it. They are maintaining the automation, answering questions, and trying to convince everyone else to use it.
That is a lot to put on someone who was just trying to make the company more efficient.
So when are connectors enough, and when should you build something custom?
Keep the connectors while they do the job reliably. Consider custom code when the rules, failures, or workarounds become harder to manage than the work you were trying to automate.
Often, you can keep most of what you have and build the part getting in your way.
When is an API integration platform enough?
An API is how one piece of software asks another to share information or perform an action. An API integration platform gives you tools to connect those systems. Its ready-made connectors handle common actions without requiring you to build each connection yourself.
Connectors are usually a good fit when:
- They support the information and actions you need.
- The rules are easy to follow.
- Someone can fix a failed run without guessing what happened.
- The workflow runs fast enough for the business.
- The cost makes sense for the time it saves.
A workflow does not need custom code just because the company is growing. It needs a different approach when there is a specific requirement the current setup cannot meet well.
Let's use one example.
How can you connect a phone system, CRM, and ServiceTitan?
Imagine a service business using a phone system, a separate CRM for sales, and ServiceTitan to manage field work.
A customer calls about work they need done. The office has to find the customer, capture the details, and turn that conversation into work someone can schedule.
The proposed automation looks like this:
- Wait for the call transcript to become available.
- Collect the transcript and caller's phone number.
- Find the customer in the CRM.
- Add the call details to their record.
- Use AI to extract the requested work, property address, and preferred timing.
- Create a request for the office to review before scheduling the field team.
Here, a service request means the information the office needs to review before scheduling work. The exact record and steps depend on the available ServiceTitan connection and API access. A customer mentioning work does not automatically mean it is ready to schedule.
If the connectors support these steps, this can be a reasonable setup.
Then the exceptions start.
When does a connector workflow need more business logic?
The customer has more than one property
The automation finds the customer by phone number. Great.
But that customer manages six buildings, and the transcript says, "We need someone at the same place as last time."
Now you need a rule for identifying the property. If the information is missing, the request needs review.
AI should not guess an address just to complete the workflow.
The call is about an existing request
The customer calls back to change the date.
If every call creates a new request, the office now has two records for the same work. Someone has to notice, check both, and clean them up.
The automation needs a way to distinguish new work from an update.
One step succeeds and the next one fails
The call reaches the CRM, but the service request never gets created.
Does anyone get notified? Can the system pick up where it stopped? Does running it again create another CRM entry?
These are the details that decide whether the office can trust the process.
A workflow needs to handle what people actually do, including the parts that do not follow the original plan.
How should you compare integration platforms and custom code?
You do not need to become an engineer to make this decision. You need clear answers about how the workflow will operate.
Authentication: permission to access each system
Connectors may be enough when: The connector supports the accounts, permissions, and actions you need.
Consider custom code when: The API supports required access or actions that the connector cannot handle well.
Transformations: changing or interpreting data
Connectors may be enough when: You are copying fields, cleaning up values, or applying manageable rules.
Consider custom code when: Matching customers, interpreting requests, or applying formulas becomes difficult to test and maintain.
Volume: how much work arrives
Connectors may be enough when: Normal traffic and busy periods stay within acceptable limits.
Consider custom code when: Surges create backlogs or failures that the platform cannot manage well enough.
Latency: how long the result takes
Connectors may be enough when: The request arrives in time for the office to act.
Consider custom code when: Available triggers and processing delays cannot meet the required response time.
Error handling: what happens when something fails
Connectors may be enough when: Staff can see the failure and safely finish the remaining work.
Consider custom code when: Recovery requires checking several systems and guessing which steps to repeat.
Ownership: who maintains it
Connectors may be enough when: Another person can understand, change, and support the workflow.
Consider custom code when: Rules are scattered and routine changes depend on one person's memory.
Cost: the full operating expense
Connectors may be enough when: Subscription fees and support time are reasonable for the value delivered.
Consider custom code when: A custom or mixed approach justifies its build and maintenance costs through savings or needed reliability.
These are reasons to investigate. Custom code still needs good design, clear ownership, and ongoing maintenance.
Before building, also check whether a better connector, a direct API request, or a small code step inside the platform would solve the problem.
When should you move automation rules into custom code?
Change one thing, break another. This is one of the clearest warning signs.
Suppose the company changes how it assigns properties. That rule now needs updating in the call workflow, the website inquiry workflow, and the follow-up workflow.
If each automation has its own copy, someone has to remember all three.
Moving that shared rule into one maintained service can make changes easier to control. Each workflow sends it the relevant information and gets a result back.
The same applies to complex formulas. The question is whether you can test, reuse, and safely change the formula where it currently lives.
A formula that fits neatly in a platform's code step may belong there. A set of rules copied across a dozen workflows deserves a closer look.
When is custom integration cheaper than Zapier or Make?
Custom integration can be cheaper when the savings in platform charges and staff time exceed the cost of building and maintaining it over the same period. That comparison needs actual usage and support costs. A higher subscription bill alone is not enough reason to rebuild.
Check the bill before blaming the platform. API integration tools charge differently.
Zapier measures much of its workflow usage in tasks, with specific rules about which steps count. Make uses credits. n8n's paid plans use workflow executions rather than charging separately for every step. [1][2][3]
That means "six steps per call" does not produce the same bill everywhere.
For an illustration, 5,000 calls with six separately billable actions per call would create 30,000 billable actions. You would need to confirm that those six actions actually count under your platform's rules.
Frequent checks also do not automatically mean higher charges. Zapier's polling checks do not count as tasks. [1]
Compare the full cost over the same period:
Platform cost: subscriptions, usage, connected services, and the time spent maintaining the automation.
Custom cost: the initial build, hosting, connected services, monitoring, fixes, and future changes.
There is no universal number of calls where custom code becomes cheaper.
Speed deserves the same care. Some connectors check for changes on a schedule. Others receive a notification when something happens. Zapier supports both approaches. Check the available trigger before assuming a custom build is necessary. [4]
Can you combine Zapier, Make, or n8n with a custom API?
Yes. An integration platform can send information to a custom API, then use the result in later steps, provided the platform and plan support the required requests and authentication. This lets you keep supported connections while managing shared business rules in code.
Keep the connectors. Build the part getting in your way.
For our call example, a mixed approach could make sense.
Keep the platform for the connections and notifications it handles well. Add a custom API for customer matching, request validation, and shared business rules.
The workflow sends the call details to that API. The custom service then:
- Checks the call's unique reference to see whether it has already been processed.
- Extracts the requested work from the transcript.
- Checks the customer and property against existing records.
- Looks for an existing request that the call might update.
- Returns a clear result: ready to continue, needs review, or already processed.
The platform can then carry out the supported actions.
For actions that create records, the design also needs to prevent duplicates during retries or overlapping runs. A simple "check first" step may need stronger controls when two runs happen at once.
The reason to build this service is that these rules benefit from living in one place, with tests and a clear record of what happened.
The threshold is reached when maintaining that shared logic in code becomes more practical than maintaining it across the automations.
How do you make an integration useful for the whole team?
The person building the automation knows how it works. Everyone else needs a process they can understand.
The office needs to see which requests require attention. Field workers need clear instructions. Managers need to know whether calls are turning into scheduled work.
If someone has to open three apps and message the creator every time a request looks wrong, the workflow still needs work.
Reporting should be considered early, too. Keep a consistent link between the original call, the customer, and the resulting request. Record when each important step happened.
That gives you a basis for answering useful questions: How long does it take to respond? Which requests are stuck? How often does someone have to step in?
Moving information between systems is valuable. Making that information usable is part of the job.
When should you hire an API integration developer?
Bring in an API integration developer when a required connection is missing, business rules are difficult to maintain, or failures regularly interrupt the team's work. The developer should assess the workflow, explain the options, and define how the result will be supported after launch.
For the phone-to-service-request example, ask a potential partner to explain how they would handle an unknown caller, multiple properties, a repeat call, and a failed request. Their answers should cover the office's recovery process as well as the code.
Before agreeing to a build, establish who owns the accounts and source code, who receives failure alerts, and who handles future changes. Custom software needs an owner, too.
When is Cass & York a good fit for integration work?
Cass & York is a fit for businesses whose existing software no longer covers how the work actually happens. We design and build custom operational software to connect systems and support the steps between them.
The work might involve a custom API for business rules, a screen for reviewing incomplete requests, or a dashboard that brings information from several systems together. The scope should follow the problem your team needs solved.
For the example in this article, a proposed scope could keep the phone system, CRM, and field service software, then add the missing logic and review process around them.
Our starting point is the workflow: what the customer does, what the office needs to decide, and what the field team needs to receive. That helps us identify where the existing tools fit and where something needs to be built.
What would Cass & York review before recommending a build?
Before recommending custom software, we would want to see:
- The current workflow and the people who use it.
- Examples of calls or requests it handles poorly.
- What happens when a step fails.
- How often someone has to intervene.
- Current costs, including staff time.
- Who will own and maintain any changes.
Those answers help determine whether you need a better configuration, a small custom service, or a larger integration.
Build around a clear requirement and a measurable improvement. Fewer duplicate requests. Less time fixing failures. Faster response times. Rules that someone besides the original creator can maintain.
If your team is spending more time working around an automation than benefiting from it, bring the workflow to Cass & York. Book a Workflow Call through our website, and we can look at what is worth keeping and where custom software would help. Bring the tools you use, the steps people follow, and one example that regularly causes trouble.