upnwork.Open the toolbox ↗

WORKFLOW DESIGN · 6 min READ

A practical checklist for reliable automation

Build workflows that can fail safely, retry cleanly, and tell you when they need attention.

BY UPNWORK EDITORIAL · OCTOBER 5, 2026

Start with a contract

Write down the trigger, required inputs, expected outputs, and owner. For an order export, success might mean every eligible order appears once in a dated file and the row count matches the source. A contract gives you something concrete to verify.

Make retries safe

Assume a job can run twice. Use a stable identifier such as the order ID and operation name to record completed work. Check that record before creating another result. A retry should continue the work, not duplicate it.

Separate temporary and permanent failures

A timeout can be retried with a limited delay. A missing required field should be reviewed. Set a maximum number of attempts, capture the last failure, and route unresolved items to a visible queue. Avoid retry loops with no end.

Verify the result independently

Compare counts, totals, and identifiers against the input. A successful HTTP response does not prove the right records were processed. Keep a small test set containing a duplicate, a missing field, and an unavailable destination.

Keep a recovery path

Store enough context to rerun a failed item without exposing credentials. Document how to pause the workflow, inspect the queue, and resume. Notify the owner when a decision is needed, rather than sending a message after every routine run.

Further reading

Put it into practice with our free browser tools.

Open the toolbox →

Keep building

Validate a product catalog before you import it ↗

Check your data before building a dashboard ↗