# Systems development and integrations: when should a business build a custom solution?

> When does it make sense to build your own system or connect the tools you already have? See the decision matrix, a CRM example, and the requirements for a stable integration.

By Media Access. Published: 2026-09-06. Updated: 2026-09-06.

Original: [Systems development and integrations: when should a business build a custom solution?](https://mediaaccess.uk/insights/software-development-and-integrations/)

The need for systems development often shows up as a task someone repeats every day: copying an enquiry into the CRM, checking an order across multiple systems, or correcting errors in a spreadsheet. Before you build something new, find out why the task exists.

An improvement might be a better setup in an existing tool, an integration between two systems, or a tailored solution. This guide gives you a basis for choosing, defining a first delivery, and asking a development agency specific questions.

## What you will learn

- Map the workflow and the exceptions before choosing technology.
- Compare a standard solution, an integration, and custom development for the same task.
- Include error handling, ownership, and monitoring as part of the solution.

## Start with one workflow

Choose a task that occurs frequently and has a clear end point. Describe who does what, which information is used, and where the information comes from. Also note waiting time and manual checks. A form on the website is only the start if an employee still has to copy everything onward before anyone can respond to the customer.

Count how often it occurs over a representative period. Measure how long the different steps take, and note which errors require extra work. Do not treat all time as a potential saving; some assessments will still need to be made by a person.

Include the exceptions: an existing customer sends a new enquiry, a field is missing, or an order changes after registration. These situations often determine how simple the solution can really be.

## Choose between configuration, integration, and development

First, check whether the systems you already pay for can handle the task. Then assess whether a ready-made connection or a limited integration is sufficient. Custom systems development is most relevant when an important workflow is not sensibly covered by the alternatives.

Ask for a demonstration of the same task in each alternative. A feature list can hide the difference between something being possible and employees actually being able to do it without workarounds. Also consider how the solution can be changed and who will keep it running.

Decision matrix for a specific workflow task

| Option | Suitable when | Review |
| --- | --- | --- |
| Configure existing tools | The need is already covered by available features. | Access permissions, workflow, training, and limitations. |
| Buy a standard solution | The task is common and the product covers key requirements. | Subscription, export, integrations, and vendor lock-in. |
| Connect systems | The tools work, but data is moved manually. | API access, fields, error correction, and responsibility for the connection. |
| Build a custom solution | The workflow has specific requirements with clear value. | Development, operations, documentation, and long-term ownership. |

## Example: from contact form to CRM

Imagine a business that receives quote requests through its website. An integration can transfer the necessary information to the CRM, create a sales task, and notify the right team. This is an illustrative solution proposal, not a description of a specific customer delivery.

Start by deciding which system owns which data. The contact information may come from the form, while customer status should be maintained in the CRM. A new submission should not overwrite the salesperson’s assessment unless that is an intentional rule.

The distinction between contact and enquiry is important. The same person may send two genuine enquiries about different needs. A solution that removes everything with the same email address as a duplicate may therefore lose information.

Suggested fields and rules in a CRM flow

| Information | Purpose | Rule to clarify |
| --- | --- | --- |
| Contact information | Make it possible to respond. | Which fields are needed, and how are they validated? |
| Service or need | Route the enquiry. | Who receives each type of enquiry? |
| Submission ID | Separate events and track handling. | The same submission must not create the task again. |
| Source page | Understand what the customer got in touch about. | Transfer agreed page information, without unnecessary free-text data. |
| Customer status | Manage sales follow-up. | Which system and which role can change the status? |

## Specify what happens when something fails

An integration must be able to handle a receiving system not responding, access expiring, or a message being sent multiple times. Agree on which errors should be retried, where they should be shown, and who should be notified. An email that only says “error” gives a poor basis for follow-up.

AWS describes idempotency as a principle that allows a repeated request to have the same effect as a single processing event. In a CRM flow, a unique submission ID can be used to prevent a new delivery attempt from creating the same sales task multiple times.

Stripe is a concrete example of a provider that documents both duplicate webhook events and that events are not guaranteed to be delivered in order. From a procurement perspective, the point is to ask the developer to check the actual documentation for each system you plan to connect.

Source: [AWS Well-Architected: Make mutating operations idempotent](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_prevent_interaction_failure_idempotent.html)

Source: [Stripe: webhook delivery and handling duplicates](https://docs.stripe.com/webhooks)

## Create a small first delivery with a clear test

Limit the first version to one flow that delivers value on its own. For example, you can transfer enquiries and create tasks before building automatic quote generation. That makes it easier to check data quality and get feedback from the people who will use the system.

Test with agreed test data, and document the expected result. A successful normal submission is only one scenario. Also check repeated delivery, missing information, a temporary error, and an existing contact with a new need.

Before increasing usage, someone should be able to trace a specific test from start to finish. Use a reference that can be tracked across systems, and avoid storing more personal information in logs than you need to understand the error.

- A normal flow creates the right information for the right recipient.
- Repeated delivery of the same event does not create an extra task.
- An error becomes visible and has a named owner.
- A new enquiry from an existing contact is retained.
- Access and documentation can be handed over to the company.

## Clarify who will own the solution afterwards

A project is not fully planned until operations and changes have an owner. Clarify where the solution runs, who pays for the necessary services, who can change access, and how you get help if data stops flowing.

Also ask for a simple overview of systems, connections and dependencies. When a CRM changes a field name or a provider changes an interface, it should be possible to identify what may be affected. Good documentation makes further development easier to commission and reduces dependence on one person.

## Questions and answers

### What is the difference between system development and an integration?

System development creates or changes functionality in a software solution. An integration connects systems so they can exchange information or trigger actions. A project can include both.

### Can we integrate the website with the CRM system we use?

That must be assessed against the specific system, subscription and available interfaces. Describe which information should be transferred, which direction it should go, and what should happen after receipt.

### How do we assess whether automation is worth the investment?

Map the current time spent, errors and delays. Compare this with setup, operations and expected maintenance. Also consider whether employees can actually use the time for other valuable tasks.

## Sources and further reading

- [AWS Well-Architected: Make mutating operations idempotent](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_prevent_interaction_failure_idempotent.html)
- [Stripe: webhook delivery and handling duplicates](https://docs.stripe.com/webhooks)

## Read more

- [Web development for businesses: from needs to a website that works](https://mediaaccess.uk/insights/web-development-for-businesses/index.md)
- [What Does a Website Cost? How to Assess Price and Total Cost](https://mediaaccess.uk/insights/how-much-does-a-website-cost/index.md)
- [How to build a landing page for relevant enquiries](https://mediaaccess.uk/insights/landing-pages-that-generate-enquiries/index.md)

[Discuss integrations and development needs](https://mediaaccess.uk/contact/)
