Automation & Integration
Scheduled and event-driven work, and making systems that were never designed to talk agree.
This work is usually invisible when it is going well, which is precisely what makes it dangerous to build carelessly. A reminder that does not send, a sync that silently stops, an invoice that fires twice — none of these announce themselves. The engineering problem is less about making the happy path work than about ensuring the unhappy path is loud.
The work covers scheduled jobs, event-driven workflows, integrations between systems of record, and the messaging that hangs off them: reminders, confirmations, notifications, and handoffs between tools that have no native knowledge of each other.
Failure behavior is designed first. Before an automation is written, the questions answered are what happens when the downstream service is unavailable, whether a retry is safe, how the system knows a job did not run, and who finds out. An automation without an answer to the third question is an automation that will fail silently, and silent failure here is the expensive kind.
Safe repetition is a requirement, not an optimization. Anything that can fire twice will eventually fire twice — a retried message, a duplicated instruction, a manual re-run after an incident — and the difference between a system where that is harmless and one where it sends a customer two invoices is a design decision made early.
Automations are instrumented so that not running is a detectable state. A scheduled job that reports success is easy; a scheduled job that reports its absence is the useful one. Monitoring here watches for the expected event that did not arrive, not only for the error that did.
Integration work is built against the reality of the systems involved rather than their documentation. Rate limits, the awkward edges of reading large volumes, undocumented behavior, and the specific ways a vendor's test environment differs from the live one are discovered during the build and written down, because the next person to touch it will otherwise discover them again.
Anything that sends messages to a person carries the compliance requirements of the channel it uses — consent, identification, and a working opt-out that is honored everywhere instead of in the system that happens to be sending. Messaging automation is the area where a technically correct implementation can still be unlawful, and the requirement is treated as part of the specification instead of as a legal review afterwards.
An automation nobody can find is an automation nobody can maintain. Every scheduled job and every integration is recorded with what triggers it, what it reads, what it writes, what it sends, and where its failures surface. The alternative is the state most businesses arrive in: a collection of processes that run dependably until whoever built them moves on, at which point they become unattributable machinery nobody is willing to switch off and nobody is able to change.
We prefer fewer automations that are understood to more automations that are merely present. Every one of them is a standing obligation — something that will need a credential rotated, a vendor's interface moved on, or a schedule adjusted when the business changes. Automating a step that runs twice a year rarely repays that obligation, and saying so is part of the work.
7 pages.
Silent failure
Instrumenting automations so that not running is a detectable state, and proving the alarm reaches a person by breaking things deliberately.
When work runs twice
Everything in ordinary use delivers at least once, so whether a second delivery is harmless is decided before anything is written.
Scheduled work
Timezones pinned, clock changes handled deliberately, overlap prevented, and missed runs given a defined behavior.
Event-driven work
A public address carrying somebody else's reliability: verify it, record it, acknowledge fast, do the work afterwards.
Messaging, consent and opt-out
The area where a technically flawless implementation can still be unlawful, so the requirement is part of the specification.
Working with other companies' systems
Built against what another company's system actually does, not what its documentation says, with the differences written down.
The automation register
Six fields per automation, kept with the code, so that what runs is knowable and switching something off is possible.
What Automation & Integration does not take on.
- Unsolicited outbound messaging, and any messaging without a working, honored opt-out.
- Scraping or automating a third-party service against its terms.
- Automating a process nobody has written down. The written process is a prerequisite, not a deliverable.