HubSpot workflow filter validator
Some HubSpot enrolment filters are accepted, stored, and never match anything. There is no error, nothing in workflow history, and no way to tell them apart from a workflow that is simply waiting. This tells you which ones before you ship.
- What this is
- A decision table of filter intents and what HubSpot actually does with each — the verdict, why, the pattern that works, and the check that proves it either way.
- Who it is for
- Anyone building HubSpot enrolment criteria through the API or the interface, and anyone staring at a workflow that is switched on and plainly doing nothing.
Free, no email required, no sign-up. Anything you type into a tool on this page stays in your browser and is never sent anywhere. The visit itself is counted by Google Analytics, as on every page of this site.
What are you trying to express?
Pick the closest match. The verdict is what HubSpot will actually do with it.
Why a filter can be accepted and still be dead
HubSpot has more than one API touching the same concepts, and they do not agree about what is valid. A filter the Lists API rejects outright can be accepted, stored and returned by the Workflows API. From that point the workflow is enabled, reads correctly in the builder, and can never match a record.
Nothing surfaces this. There is no validation warning, no error on save, and workflow history for a permanently inert workflow looks the same as history for one that has simply not had a qualifying record yet. On one portal three deposit-stage controls had been in that state long enough for the business to have built manual process around the gap.
That is the whole reason this tool exists. The cases here are the ones observed on live portals, not a reading of the documentation — several of them are not documented at all.
What this will not tell you
- It does not read your portal. Nothing connects and nothing you select is sent or stored — it is a decision table, and you still have to check your own configuration against it.
- It covers the cases that have come up in real work. A filter behaving oddly in a way not listed here is not evidence that it is fine.
- Several entries describe undocumented behaviour, which means it can change without notice. Verify against your own portal before acting.
Every case came out of live client work, recorded at the time with the evidence that established it.
Questions people ask about this
Why would a HubSpot workflow be enabled and enrol nobody?
Usually an enrolment filter the Workflows API accepts and stores but can never match. Association absence written as NOT_IN_LIST is the classic case: the Lists API rejects that filter outright while the Workflows API saves it and leaves it inert. Nothing errors and workflow history looks identical to a workflow still waiting for its first match.
Does this tool connect to my HubSpot portal?
No. It does not connect to anything. It is a decision table of filter intents and what HubSpot actually does with each one, running entirely in your browser. Nothing you select is sent anywhere or stored. The page visit itself is counted by Google Analytics, as on every page of this site.
How do I check whether a workflow has ever run?
Read the action log rather than the configuration. Configuration says what a workflow could do; only the log records what it did. This is why a configuration audit passes workflows that have never enrolled anyone.
What should I use instead of NOT_IN_LIST for association absence?
A LIST_BRANCH on IN_LIST with the action on the DEFAULT path. You express the positive case and act on everything that falls through, which is the same logic and is expressible on both APIs.
Filters are one category. There are twelve more HubSpot behaviours that report success and do nothing, each with its working pattern.
The full silent-failure reference