Affarit StudioFree audit
Back to blog

Your Automation Says It Worked. Make It Show Its Work.

Your reminder job runs every morning before you open. The dashboard shows a green tick. Then a customer asks why she never heard from you, and you find out the job has sent nothing for weeks, with every run marked as a success. It happens to people who build these systems for a living: one of our own background jobs reported success and did nothing. A success status is the job's own account of itself. Ask for evidence from somewhere else, starting with these five things.

Ask what changed on every run

Every run should end with a count of what it changed: invoices sent, bookings made, rows written, files saved. A run that changed nothing should say exactly that. Where another system is involved, take the proof from that system: the booking in the calendar, the invoice number from the invoicing tool, the email service's own delivery record. On our own website, an email logged as sent means only that the email service accepted it; whether it arrived is a separate record, kept by the service.

This matters most with AI agents, because an agent can tell a customer "you're booked for Thursday" whether or not the booking exists. Build it the other way round, so the agent confirms only what the calendar has confirmed. In our WhatsApp booking demo, a booking is recorded only for a slot on the list of free ones, and code drops any other slot the model proposes.

Treat zero as an alarm

On a dashboard, a broken job and a quiet day look the same: nothing sent, no error. So write down what normal looks like. If the reminder job sends something every weekday, a weekday with nothing sent is a failure until someone shows otherwise. The check is small to build, and its alert should reach a person, as a message or a red line on the screen they open every morning.

Show the date of the last real result

Ask for one date on one screen: when the job last produced something real, such as the last invoice sent or the last booking made. A run history shows when the job ran, and that date keeps moving while the job does nothing. Put the date of the last real result where someone sees it every day. If it stops moving while every run still says success, you have found a silent failure.

Make retries safe to repeat

Jobs can fail halfway. The payment goes through, the step that records it times out, and the job tries again. A careless retry charges the customer twice or sends the same message again. Ask your builder one question: if this step runs twice, what happens? The right answer is "nothing new", with a reason they can explain in a sentence. Builders call this idempotency; you only need the answer.

Put one person's eyes on it every day

Every morning, one person reads a short summary: what ran, what it changed, what failed, what it skipped. It is short enough to read with the first coffee, and it catches the failures nobody wrote a check for. Full autonomy is the wrong goal for a job that can spend money or speak to a customer, and we explain why in The Human-in-the-Loop Protocol.

If you already run automations, start with the ones that touch money and customers. The silent-failure check is part 3 of our free Owner's Automation Worksheet: eight questions to put to every job you run, and a way to score what to automate next.

Free audit

Found this useful?

Tell us about your business, and we'll point you at the highest-leverage place to start.