Checks to work through when a condition does not pick the branch you expected — reading the decision line in the logs, rule modes, empty values and unknown states.
You built the condition, you tried it — and the flow goes down the opposite branch. Most of the time the cause is not the rule itself but what the value it reads happened to be at that moment. This guide helps you narrow the problem down step by step.
You may have run into one of these:
Everyone takes the same branch
A rule that should be true says false
Nobody ever reaches one of the branches
The flow ends quietly at the condition step
First, read the decision line in the logs
Before guessing, look at the log; most of the answer is written there.
Open the automation and switch to the Logs tab.
Open the session of the person affected.
Find the Condition line in the step-by-step log and read the outcome.
Some rules also write the value they based the decision on: the Follow state rule records "follows / does not follow / unknown" and, when relevant, that the value was refreshed from Instagram; the Messaging window rule records "open / closed"; the Trigger counter records the cap and which pass of the period this was.
If the line is missing entirely, the flow never reached that step. In that case the problem is not the condition but the steps before it.
Everyone takes the same branch
The most common cause is that the value the rule reads is always empty.
Check who fills the field the rule reads. The Collect information, Write to field, External request and AI steps fill fields; those steps must come before the condition.
Open the person on the Contacts screen and see whether the field is genuinely filled.
If the rule is Post, check whether the flow started from a comment or a post share; at every other door the id is empty.
If the rule is Business hours, look at the Use business hours switch on Settings › Business hours. While it is off, the account counts as always open and the rule always says "inside".
If the rule's value holds a placeholder, check the pre-publish check for an "Unknown placeholder" warning. An unrecognised key is left empty.
A rule that should be true says false
There are two typical causes here.
Number comparison. The greater than and less than operators convert the value to a number. If the field holds "750 USD" the conversion fails and the rule says false. Write only digits into the field and keep the currency in the message.
The rule mode. Look at the Rules box at the top of the step. If you are looking for one of three tags, you need Any is enough; with All must match selected, nobody carries all three.
Do not suspect the text comparison: case, accents and leading and trailing punctuation are already ignored. Someone who typed "PRICE?" is caught by a "price" rule. The details are in Comparison operators.
Nobody ever reaches one of the branches
The behaviour of some operators with an empty value is surprising, and it empties one branch.
With contains, an empty value box means the rule is never true: everyone falls onto False.
With doesn't contain, an empty value box means the rule is always true: everyone falls onto True.
doesn't equal is also true when the field is empty. To keep empty fields out, add "Field · is filled" to the same step and choose All must match.
In the Follow state rule, no is true only when Instagram explicitly says the person does not follow. People whose information could not be read are in the unknown state and never land on the no branch.
If you use the Trigger counter, you cannot see the False branch in the simulation on the Test tab: a test does not count and the counter always reads as "not full".
The flow ends quietly at the condition step
This does not mean the rule went wrong; it means the branch it picked is not connected.
Open the condition step and look at the Connections section.
If either the True or the False output reads Not connected, the flow ends when it gets there.
Open the pre-publish check list: an unconnected output appears there as a warning too.
If you are leaving a branch empty on purpose, add a Note step next to it and write down why.
If the problem persists
Check these three things in order.
Did you publish? Changes in the editor are saved to the draft; the live flow is the last published version. If you did not press Publish, the old rule is still running live.
Which version ran the session? Each session in the Logs list carries a version number next to it. An older session carries the older rule.
Is there a plan lock? Every rule kind is a separate plan feature. If the log holds a "Plan lock" line, the session stopped at that step and the rule was never evaluated at all.
The quickest way to try a rule is the Test tab: fill the fields by hand and walk both branches with a matching and a non-matching value.
Other known limits
The Follow state and Post rules are only meaningful on Instagram; in WhatsApp conversations the result is "unknown" and empty respectively.
A condition inside a loop that never waits takes the same branch every round if it only carries rules that cannot change within the round; the pre-publish check warns about it.
The Trigger counter must be alone in its own step; combined with another rule the count goes wrong and publishing is blocked.
The Started by rule reads Panel test in a simulation; to test a live source, use the real trigger.
If you have worked through all of the steps and the problem persists, contact our Support team.