The scariest property of an automation is not that it can fail, but that it can fail without any sign. A webhook stops arriving after a token expires. A mapping breaks when a supplier renames a column. A rate limit rejects a batch at 2 a.m. Each time, orders, stock updates or customer messages quietly stop, and the first notice is an unhappy customer.
Monitoring is the discipline of making silence visible. This guide shows a layered approach that works with any tool, whether Zapier, Make, n8n, a custom script or an app: errors, heartbeats, reconciliation and outcomes. It builds on n8n with Shopify, webhooks explained and idempotency, and is the practical heart of our care plans.
Four layers of monitoring
| Layer | Question it answers | Example |
|---|---|---|
| 1. Errors | Did a run fail? | Workflow throws an error; alert with details |
| 2. Heartbeats | Did an expected run not happen? | No new orders processed in two hours during opening times |
| 3. Reconciliation | Do two systems agree? | Orders in the store versus orders in the warehouse for the last day |
| 4. Outcomes | Are business numbers normal? | Order volume, stock accuracy, email sends, ticket volume |
Most teams build only the first layer, because it is the one the tools provide. It is also the least reliable: if the trigger never fires, there is no error to report. The other three layers catch what error alerts cannot.
Layer 1: errors
Every platform lets you run something when a workflow fails. Use it. Send an alert that includes the workflow name, the step that failed, the error message, the record involved, such as the order number, the time and a link to the run. Group repeated errors, so one broken step does not send two hundred messages. Retry transient errors automatically a small number of times, but alert when retries run out.
| Alert content | Why |
|---|---|
| Workflow and step | Where to look |
| Error message | What went wrong |
| Record ID | Which order, product or customer is affected |
| Time and environment | Production versus test |
| Link to run and runbook | Fast route to the fix |
| Count in the last hour | Isolated or widespread |
Layer 2: heartbeats
A heartbeat is a check for the absence of something. For each automation, decide how often it should run or how often the events should arrive, and alert when the gap exceeds a threshold. A store that normally receives an order every twenty minutes between 8 a.m. and 10 p.m. should alert if none has been processed for two hours. A nightly stock sync should alert if it has not completed by a set time. Simple scheduled jobs can send a ping to a monitoring service when they finish; the service alerts if the ping does not arrive.
| Automation | Expected | Alert if |
|---|---|---|
| Order to warehouse | Within minutes of each order | Any paid order with no warehouse record after 30 minutes |
| Nightly stock sync | Completes by 03:00 | No success message by 04:00 |
| Abandoned cart emails | Some sends per day | Zero sends in 24 hours |
| Tracking updates | Continuous | No tracking events imported in 6 hours |
| Review requests | Daily batch | Batch missing |
Layer 3: reconciliation
Reconciliation catches silent partial failures, where most things work but some do not. Once a day, or once an hour for critical flows, compare the source and destination. List the paid orders in the store from the last 24 hours and check each has a matching record in the fulfilment system. Compare stock quantities across channels. Count messages sent against orders that should have triggered them. Report differences with the records involved. This is the same idea as the monthly accounting reconciliation in the bookkeeping checklist, applied to operations.
- Orders: store versus fulfilment system, with status.
- Stock: central system versus each channel; see inventory buffers.
- Payments: successful payments versus orders created.
- Messages: expected sends versus actual.
- Refunds: refunds issued versus refunds recorded in accounting.
Layer 4: outcomes
Finally, watch the business numbers that the automations affect. A sudden drop in orders, a jump in support tickets about order status, a fall in email revenue or a rise in oversells are all symptoms. Compare with the same time last week and set wide thresholds to avoid noise. Outcome alerts are blunt, but they catch problems nobody thought to monitor.
Where alerts should go
An alert nobody sees is not an alert. Send them to a shared channel or inbox that someone is responsible for during working hours, and decide in advance what is urgent. Use a louder route, such as a phone notification, only for issues that cost money quickly, such as orders not reaching fulfilment. Keep low-priority items in a daily digest. If the channel is noisy, people mute it, and then it is worse than useless.
| Severity | Example | Route | Response time |
|---|---|---|---|
| Critical | Orders not reaching fulfilment; checkout down | Phone and chat | Within 30 minutes |
| High | Stock sync failed; payment errors rising | Chat channel | Within hours |
| Normal | Single failed run that retried | Daily digest | Next working day |
| Info | Weekly summary | Read at leisure |
Logs and records
- Keep run history long enough to investigate, and note the retention limits of your tool; some keep only days.
- Log the identifiers of what was processed, not entire customer records, to limit privacy exposure.
- Record who changed an automation and when.
- Store a copy or export of important workflows outside the tool, in case a change needs to be rolled back.
Ownership and runbooks
Each automation needs a named owner and a short runbook: what it does, what it connects to, how to tell it is healthy, what to do when it fails and who else can help. A page per workflow, in a shared document, is enough. When an alert fires at the weekend, the runbook is the difference between a five-minute fix and a long search. See what a good handover includes.
Secrets, expiry and platform changes
Many failures are predictable: API tokens expire, passwords change, apps are updated, platforms deprecate versions and rate limits tighten. Keep a register of credentials and their expiry dates, and set reminders well in advance. Subscribe to platform change notices for the services you depend on. Test critical flows after any platform or theme update.
Test the monitoring
- In a safe environment, break something on purpose: use a wrong credential, disable a trigger, send a malformed record.
- Check the right alert arrives, with enough detail, in the right place, within the expected time.
- Check the heartbeat alert fires when a job does not run.
- Check that a recovery message arrives when it is fixed.
- Repeat after any major change, and at least quarterly.
A starter monitoring kit
If you are starting from nothing, build the smallest useful kit this week. Send every workflow error to one chat channel. Add one heartbeat that alerts if no paid order has reached your fulfilment system for two hours in opening time. Write a daily reconciliation that lists yesterday’s paid orders missing from the downstream system. Add a weekly digest of failed runs and retries. Create a one-page runbook for each of those alerts. That kit costs a day or two, uses only the tools you already have and catches most of the failures that hurt revenue. Once it runs quietly for a month, add the next layer, such as stock drift reports and outcome thresholds, using what the first alerts taught you.
A worked example
A store processes 70 orders a day through a three-step automation to its warehouse. A token expires on a Friday evening, and orders stop reaching the warehouse until Monday morning. Roughly 140 orders at an average value of $52 are delayed by two to three days, producing 25 support contacts at 5 minutes each, 8 cancellations and a spike in negative reviews. The direct cost is in the thousands of dollars of delayed revenue and several hundred in refunds and goodwill. A simple heartbeat, alerting when a paid order has no warehouse record after 30 minutes, would have fired on Friday evening and cost an hour to build. The figures are illustrative.
A one-day setup plan
- List every automation and its owner.
- Add error alerts to each, sending to one channel.
- Add a heartbeat for the three most critical flows.
- Write the daily reconciliation for orders and stock.
- Create a morning digest of anomalies.
- Write runbooks for the top three.
- Test by breaking one flow.
If this sounds like more than you want to run yourself, our care plans include monitoring, our workflow automation builds it in from the start and integrations covers the plumbing.
Sources and further reading
Figures and rules in this guide come from the primary pages below. Platform limits and prices change, so open the page before you build on a number.
- Google SRE Book: monitoring distributed systems, principles for useful monitoring and alerting
- n8n Docs: error handling, error workflows and retries
- Zapier Help: Zap error handling, Zap failures and notifications