Training · Lesson 7

Where To Look When The Automation Is Not Working

The easiest way to know a system broke is when it raises an error. The hard case is the system that runs wrong without one: everything looks fine on screen while the output is quietly wrong. This lesson covers where to look, and in what order, when that happens.

What you will learn in this lesson

This lesson takes on the moment a built automation stops behaving as expected. The goal is that you find the problem by narrowing it down in order rather than by guessing, and that you make the fix you found hold. An automation stays on its feet once diagnosis stops depending on whoever built the system and becomes a skill of the business itself.

By the end you hold a diagnostic order, a filled in fault sheet and a verification step showing the fix worked. Interventions made without these three tend to produce a second fault.

Lesson objectives

  • Tell apart the three types of breakage: stopped, silent, slowed
  • Write the symptom in a way that separates it from guesswork
  • Make the fault reproducible
  • Narrow the search area by halving the flow
  • Check the five parts in order: trigger, data, condition, integration, output
  • Make one change, verify it, and make the fix hold

Prerequisite: the process map from lesson one. That is the written expectation you compare against while hunting the fault.

The three types of breakage

The sentence it is not working covers three different situations at once, and each is diagnosed from a different starting point. Separating which type you face at the start of the conversation narrows the search area straight away.

Stopped flow

The automation does not run at all. The trigger does not arrive or it falls at the first step. This is the easiest type, because the symptom is visible and usually leaves a trace in the log.

Silent fault

The flow runs, produces records, raises no warning; yet its result is wrong. This is the costliest type, because the error piles up over weeks and cleaning it up reaches backwards once noticed.

Slowed flow

The result is right but does not arrive on time. Usually it is not a single fault but accumulated load or a newly added step. Without measurement this type stays open to argument.

What the three share is this: in each of them the fault cannot be defined while the expectation is unwritten. The sentence it should not have been like this does not turn into a diagnosis without a written it should have been like this.

What is a silent fault?

An automation rarely breaks with noise. It raises no error message, nothing turns red, the flow looks green. The output is wrong all the same: the message goes to the wrong person, a field stays empty, a record opens twice, the date gets written in another format.

The source of a silent fault is usually the input changing shape. A new field opens in the form, the portal starts sending the phone number differently, an employee fills the field another way. The rule stays the same, the input changes, and the result slides quietly.

Signs of a silent fault

  • The record count is lower or higher than expected
  • Two records were opened for the same customer
  • One field arrives systematically empty
  • Messages go out but the reply rate has dropped
  • The team has started correcting the output by hand
  • Nobody complains, yet nobody trusts the system either

The last item matters most. Once the team starts fixing an output by hand, the system has already broken; because nobody reported it, the fault made it into no log.

Before diagnosing: what changed?

If something that worked yesterday does not work today, something changed in between. This is the first question of a diagnosis, and most faults close on it. In systems where no change list is kept, the same question takes hours.

Change does not happen only in the system. It happens in the process, in the people and in the input too. An employee may have left, a portal may have renamed a field, a supplier may have refreshed a file format. Start the hunt from this list rather than from inside the code.

Where to probe the what changed question

  • In the system: a new step, an update, a new integration, a changed setting
  • In the input: form field, file format, field name, character set
  • In the process: a new rule, a removed approval, a changed order
  • In the people: an employee who joined or left, a handed over duty
  • Outside: a change on the portal, bank, courier or provider side
  • In time: period end, holiday, a rise in load

Step 1: Write the symptom down

Diagnosis starts with the symptom being written. It is not working is not a symptom, it is a feeling. The symptom is this: on which record, when, what was expected, and what happened instead. The search area does not narrow until those four fields are filled.

While writing the symptom, take the expected result from the process map in lesson one. If there is no map, that gets written first; a diagnosis made without a written expectation turns into comparing someone memory against the behaviour of the system.

Fault sheet

  • On which record or which customer was it seen?
  • When did it happen, when was it first noticed?
  • What was the expected result, which step on the process map?
  • What happened instead?
  • On how many records does it appear: one, all, or some?
  • Is it known to have worked before this date?

The last two questions set the direction of the diagnosis. If the fault is on a single record the problem most likely sits in the input, if on all of them in the rule, and if on some of them in the condition.

Step 2: Reproduce the fault

Do not fix what you cannot reproduce. Without an example that repeats the fault whenever you want, you also cannot show whether the change you made helped. Many faults believed fixed are in fact faults that did not repeat that day.

Reproducing means putting the same record through in a test environment or with a harmless example. If you have to try on the live system, pick a reversible step and tell the team about the trial beforehand.

Reproduction drill

  • Set aside the record where the fault appeared, along with its input
  • Run the flow from the start with the same input
  • If the fault repeats, you hold a measurable example
  • If it does not, change the timing, the order or the load rather than the input
  • If it will not repeat at all, the fault is conditional: hunt for the condition it appears under

Step 3: Halve the flow

The fastest way to narrow the search area is to cut the flow in half. At a point in the middle of the flow, is the data right or wrong? If right, the fault sits in the second half; if wrong, in the first. Each cut halves the area left to examine.

This method works independently of the tool. The same question gets asked by looking at the record screen, the intermediate table, the message that was sent, or the log the system keeps: did the data arrive here correctly?

Halving questions

  • Did the trigger actually fire, was a record created?
  • Was the data entering the flow correct at the moment it entered?
  • Is the output of the middle step in the expected shape?
  • Which way did the condition turn, was it the expected way?
  • Was the last step called, and what response came back?

Write the result after each cut. Cuts that go unwritten get repeated, and the diagnosis drags on by looking at the same places a second time.

Step 4: Probe the five parts in order

Once the fault area is narrow, probe the five parts from lesson one in order. The six sources below are the ones met most often in the field, and most diagnoses close inside them.

1 Trigger

The event may have failed to arrive at all. The connection may have dropped, an authorisation may have expired, an address may have changed. If no record was created, the fault sits at the door of the flow rather than inside it.

2 Input format

This is the most frequent source. A field may have been renamed, a date may arrive in another format, a leading zero may have dropped, a space or a capital letter may differ.

3 Condition

A new situation may have appeared and fallen outside the written paths. Records outside the conditions usually drop quietly, because no path was written for them.

4 Access and rights

A password may have changed, a key may have expired, a user may have been deleted. Faults of this type start abruptly one day and give no warning beforehand.

5 Order and timing

Two steps may have run in the wrong order, or one may have started without waiting for the data of the other. Faults that appear at busy hours and stay away at quiet ones usually sit here.

6 Target system

The other side may have refused it: a field became mandatory, a limit filled up, a format was rejected. When the returning response goes unread, this fault stays silent.

Step 5: Make one change, then verify

Do not change several things at once. If you make two changes and the result improves, which one improved it stays unknown; if the result worsens, which one broke it stays unknown. At that point the diagnosis turns back into guesswork.

After each change, put the example from step two through again. Verification covers the fault being gone as much as nothing else being broken. For that, write down beforehand which records were running correctly.

Verification order

  • Put the example from the fault sheet through again, is the result as expected?
  • Put through two examples that ran correctly before, are they still correct?
  • Try the other branch of the condition as well, it may have broken
  • Try the exception path: give a deliberately faulty input
  • Write the result with its date, record who changed what

Step 6: Make the fix hold

Clearing the fault is half the work. The other half is placing the markers that keep the same fault from forming quietly again. Without that, the same diagnosis gets made from scratch a few months later.

Holding comes from three things: a warning where the fault would show, a check that probes the limits of the input, and a defined exception path. All three sit inside the automation itself and call for no separate system.

Steps for making it hold

  • Add a warning that reports when the expected result does not form
  • If a mandatory field is empty, stop the flow and hold the record
  • Write the exception path: where the record waits, who takes over
  • Keep the fault sheet and the solution as a note
  • Update the process map, work in the changed rule
  • Probe whether the same fault exists in the other flows too

A worked example: the quote mail does not go out

Let us work the method through a single fault from end to end. The example runs on a sales flow, though the order is the same in every flow.

From symptom to lasting fix

Symptom: customers with new enquiries are not receiving the quote mail. The sales team noticed first, saying several customers were waiting for a reply over the past week. Records appear to have been created.

What changed: a new field was added to the form in the last two weeks and an update was made on the portal side. Two candidates.

Reproduction: one of the affected records is put through again with the same input. The fault repeats, so a measurable example is in hand.

Halving: the table in the middle of the flow is examined. The record is there, but the mail address field is empty. So the fault sits in the first half, on the input side.

Five parts: the input format is examined. The new field added to the form renamed the mail field. The flow looks for the old name, fails to find it, passes an empty value, and the mail step drops quietly.

One change and verification: the flow is corrected to read the new field name. The fault example is put through again and the mail goes out. Two records that ran correctly before are put through as well, and they are still correct.

Holding: if the mail field is empty the flow now stops and the record is held, and the manager is told. The field name on the process map is updated. The other flow using the same field is probed and corrected too.

Exercise: a diagnosis drill

Diagnosis is not a skill to learn on the day a fault appears. Drilled on a calm day, it stands ready on the day it is needed. The exercise below is for that.

To do this week

  • Pick one of your running flows and keep its process map beside you
  • Give a deliberately faulty input: leave a mandatory field empty
  • Watch what the flow does: did it stop, or did it pass quietly?
  • Fill in the fault sheet, write all four fields
  • Halve the flow and find where the data broke
  • Add a warning or a check at the point you found

Every flow that passes quietly is a flow that will produce a silent fault later. This exercise brings at least one of them to the surface in most businesses.

Download the diagnosis checklist (xlsx) · the fault sheet, what changed, halving the flow, the five part check and the steps for a lasting fix.

Common mistakes

Looking straight at the rule

The first place examined is usually the rule, yet the most frequent source is the input. If the rule has not changed since yesterday, what changed is most likely the data reaching it.

Changing many things at once

Making two changes and looking at the result does not finish the diagnosis, it blurs it. Which change did what stays unknown, and the fix becomes impossible to repeat.

Fixing without reproducing

A fix made on a fault that cannot be repeated cannot be verified. The fault stays out of sight for a while, then comes back from the same place.

Not reading the logs

Most flows write down what they did somewhere. A diagnosis made without reading the log is guessing without listening to what the system says.

Not writing the symptom

A symptom passed on by word changes with each retelling. An unwritten symptom turns into a diagnosis where two people hunt two different faults.

Fixing and moving on

A fault closed without a warning and a check comes back in the same shape. On its second arrival the diagnosis starts over and confidence wears down once more.

Checklist

Before a fault gets closed, you want to be able to say yes to every item below. Where an item is missing, the fault is not closed, it is postponed.

Fault closing checklist

  • The symptom is written with its four fields: record, time, expected, actual
  • The what changed question was asked and its answer written
  • The fault could be reproduced
  • The fault point was found by halving the flow
  • A single change was made
  • The fix was verified, and previously working cases were tried too
  • A warning, a check or an exception path was added
  • The process map was updated and the note kept

Glossary

The terms that come up in diagnosis conversations. Once the team shares a vocabulary, handing over a fault gets faster.

What comes next

In this lesson we took on narrowing a fault in order and making the fix hold; you saw that a large part of faults come out of the input side.

The remaining modules of the curriculum are being prepared. As they get published they take their places in the curriculum and appear on the training page.

Lesson 8: Exceptions and fault handling

The exception log, the alerting path and the measurement that makes silent faults visible.

Lesson 3: Collecting customer data correctly

The field dictionary and the format rules. Most faults begin on this side.

All lessons

The whole training section and the modules added since.

If you suspect a system is quietly running wrong, write to us and we can look together.

Get a Quote on WhatsApp

Frequently Asked Questions

How do I know a system with no errors is broken?
By counting the output. Regularly compare the number of results you expect with the number produced. The gap between those two numbers is the first sign of a fault, even when nothing appears on screen.
Is reading the logs enough?
Often not. A log records what the system did; it does not record what it failed to do. A step that never ran leaves no trace in the log. That is why counting output has to sit alongside reading logs.
I fixed it but I am not sure, what should I do?
Try to bring the fault back on purpose. If it no longer appears the way it did, the fix probably held. If it still appears, the change closed the symptom rather than the cause.
Is changing several things at once a problem?
Usually yes. Make two changes together and you cannot tell which one worked. Changing one thing at a time looks slower during diagnosis but tends to reach the answer faster.
Which tools does this approach apply to?
The tool does not matter. The order of input, rule, output holds in a spreadsheet as much as in an automation flow. Only the name of the screen you look at changes.