Skip to content
Orvenant
Orvenant

Keeping business automations reliable

Keeping business automations reliable

Reliable business automation needs explicit state, duplicate handling, bounded retries and a human route for uncertain outcomes. A successful initial run is only a starting point.

Define completion in the receiving system

Start with one important outcome, such as an order reaching the fulfillment system. List the states an operator needs to understand: received, ready, in progress, completed, rejected and awaiting review. Decide which system is authoritative for each state. A successful HTTP response may only mean that a request was received; it does not prove the business action completed. Keep the incoming identifier and the destination identifier so the team can trace a case without searching every system manually.

Record work before acknowledging it

For important events, require a durable record before telling the sender that delivery succeeded. Record enough information to process or reconcile the event, with appropriate access and retention controls. Then separate processing from receipt so a slow downstream service does not keep the incoming connection waiting indefinitely. Verify the actual behavior of each provider. Stripe, for example, documents repeated webhook delivery and events arriving out of order, so a design that assumes one perfectly ordered delivery would be unsafe for that integration.

Prevent a repeated event from repeating the effect

Use a stable identifier to recognize an event that has already been processed. Also define the business action being protected: two different notifications about the same order should not create two fulfillment requests. An idempotency key is an identifier that lets a compatible receiving API recognize a repeated request as the same attempt. Confirm its scope and retention in that API. Keep this separate from an operator deliberately authorizing a genuinely new action.

Treat an unknown outcome differently from rejection

A timeout means the caller did not receive a result. The other system may already have committed the change. Before retrying a write without duplicate protection, look up the original business record or reconcile the destination state. Retry temporary failures with a delay and a limit. Invalid data, revoked credentials and missing mappings need correction rather than endless retries. Show the operator whether work is definitely rejected, still pending or uncertain; those states require different decisions.

Give recovery a safe operating path

Create an exception view that explains the affected business record, the failing step and the last known result. Restrict replay to authorized people and preserve the original identifiers. Do not ask an operator to duplicate a customer record as a way to restart the flow. Record who made a correction and why. Monitor old pending work as well as explicit errors: a workflow that stops receiving events may appear quiet while orders accumulate elsewhere.

Use failure scenarios as acceptance checks

Before release, demonstrate duplicate delivery, delayed delivery, an unavailable destination, invalid input, a process restart and a timeout after a successful write. For each, record the expected business state and the operator’s next action. Compare source and destination totals or identifiers to find missing work. Confirm alerts reach a responsible person and that the recovery instructions work for someone other than the original builder. Choose review frequency and tolerable delay according to the process impact.

Questions about this guide.

Can a workflow platform guarantee exactly one business action?

Do not assume it can across independent systems. Inspect the receiver’s duplicate protection and design reconciliation for uncertain outcomes. Acceptance should prove the required behavior for the actual integration.

When should a failed run be replayed manually?

After the cause is understood and the operator has checked what already happened. Replaying without that check can repeat messages, create duplicate records or overwrite newer information.

Which reliability metric matters first?

Track business work that is incomplete or overdue. A technical success rate helps diagnosis, but it can hide missing events or a workflow that technically finished with the wrong business result.

Sources and further reading

Sources support the stated technical context. The planning recommendations are Orvenant's assessment.

PUT THE GUIDANCE TO WORK

Bring us the problem. We’ll work through the next step.

Share what exists today and what you want to change. We can discuss the scope, dependencies and a practical way forward.

Privacy settings

Optional Google Analytics measures page visits and contact-option use. Rejecting keeps Analytics off. Accepting allows analytics cookies. Advertising features stay off, and enquiry contents and contact details are not sent to Analytics.

Withdrawing stops future collection and removes this site’s accessible Analytics cookies. It does not erase information already received by Google. Privacy notice · Cookie notice