Almost every business has a job that exists only because two systems do not talk to each other. Someone exports a file on Monday, reformats it, and uploads it somewhere else. It takes an hour, it is nobody's actual job, and it goes wrong quietly when they are away.

These are the cheapest problems in software to fix and the easiest to keep tolerating. The work is rarely difficult; it is just nobody's responsibility.

What you get

  • A scheduled job that does the task without anyone remembering to start it
  • Validation on every incoming record, so bad data is rejected at the door rather than discovered later
  • Retries on the failures worth retrying, and a clear alert on the ones that are not
  • A log of every run, so "did it work last night" has an answer
  • Documentation of the integration, including what the other system does when it misbehaves

How the work is done

Watch the manual version first

The person doing the task by hand is making judgement calls they have stopped noticing. Those calls are the specification, and they never appear in a written brief.

Assume the other end will break

Third-party APIs go down, change shape without notice, and return odd values. An integration that only works when everything is healthy will need a person watching it — which is the problem you were trying to remove.

Fail loudly, never silently

The worst outcome is not a job that stops. It is a job that appears to run while quietly doing nothing, and is discovered weeks later. Every job reports success as well as failure.

What this does not cover

Automation is worth it when a task is repetitive, rule-based, and happens often enough to matter. A job someone does twice a year in twenty minutes is usually not worth automating, and it is better to say so than to build something that costs more than it saves.

Questions

The system we need to connect to has no API. Is that a dead end?

Rarely. Scheduled file exports, a database connection, or a reporting endpoint are all workable. Older business software often has more ways in than its documentation suggests.

How do we know it is still working?

Every job logs its runs, and failures raise a notification. Silence from an automated job should never be assumed to mean success.

Can it run on our existing hosting?

Usually yes — most business hosting includes scheduled tasks, which is all that is needed. If it does not, that gets sorted out as part of the work.

Related

Business and Database Applications

Internal tools, portals, and reporting systems shaped around how a business actually works, instead of bending the business around packaged software.

Legacy System Modernization

Bringing an old but working system onto supported PHP and database versions without a rewrite and without losing behaviour people depend on.

Have a system that needs building or fixing?

Describe the problem and you will get a direct answer about whether it is worth doing, roughly what it involves, and what it would take.

Start a conversation