New) or AI filters (i.e Ticket content is related to printer issue) to target the right tickets.
Deterministic filters
Deterministic filters match explicit criteria like queue, status, priority, and company. They are predictable and fast. Example below when trying to filter for all tickets that are from a company calledAutotask Corporation and are in a New status.
AI filters
AI filters capture intent across inconsistent fields and text. They reduce noise and catch edge cases. Example below when trying to filter for all tickets that are related to aprinter issue.
Reorder rules and groups
Every rule and every nested group has a drag handle (⋮⋮) on its left and Move up / Move down arrows on its right.- Arrows move the item one slot within its own group. This changes only how the filter reads; it never changes which tickets match, because rules inside one AND or OR group apply regardless of order.
- Drag a rule or group by its handle and drop it on another rule to take that rule’s slot, or on a group’s header (the AND/OR selector) to move it into that group. Drop it on the top header to move it out of a nested group. Moving an item into or out of a group does change what the filter matches — a short notice confirms the destination, and the warnings under the filter refresh straight away. Click Verify Rules if you want to check the result against live tickets.
Where each filter runs
Filters are applied in two places, and the split affects how fast a scheduled workflow runs and how many credits it uses.- Your PSA applies most deterministic filters. Status, queue or team, ticket type, priority, company, and date rules are sent to the PSA as part of the search, so only matching tickets are ever fetched.
- Neo applies the rest after fetching. Rules prefixed with
[Extra](such as# Time Entries countorHours since ticket was created) and[AI]are calculated by Neo, because the PSA has no equivalent field. A few PSA fields also fall into this group where the PSA’s search API cannot express the comparison.
[Extra] and [AI] rules fetches every ticket the PSA-side rules allow, then narrows.
The ticket count shown when you verify a workflow is measured before the
[Extra] and [AI] rules are applied. If your filter relies on them, expect the workflow to process fewer tickets than the verification count suggests.When a name appears more than once in your PSA
Some PSA fields let the same name exist several times. Autotask sub-issue types are the common case: each one belongs to a parent issue type, so a name likeProblem can exist once under every issue type you have. Company and contact names repeat too, usually when an old record was archived and a new one created beside it.
The dropdown shows one entry per name, so you cannot tell them apart there. A filter naming that value matches every entry that carries the name. If your PSA has eleven sub-issue types called Problem, a rule for Problem selects tickets under all eleven.
This is the same for
is not and is not in list rules: the filter excludes every entry carrying the name, not just one of them.Issue TypeisHostingandSub-Issue TypeisProblemmatches only theProblemthat belongs toHosting.
Filter by who created or assigned a ticket (ConnectWise)
On ConnectWise you can scope a workflow by the person behind a ticket with two rules. Both show a member dropdown, so you can select one or more people withis in list or is not in list.
[Extra] Entered By— who created the ticket.[Extra] Assigned By— who last set the ticket’s owner. Use this to pick up only the tickets a named dispatcher assigned. A ticket that was never assigned has no value, so it never matches anis in listrule.
[Extra] rules, so Neo applies them after fetching. Pair them with a PSA-side rule (a board, a status, or a date range) on scheduled workflows to keep the fetch small. Assigned By also reads each ticket’s audit trail, which is one more ConnectWise request per ticket.
The dropdown lists your active ConnectWise members. That usually includes the accounts your integrations run as, so you can also select (or exclude) a connector or an automation user. If a name is missing — a deactivated member, or a label with no member record — match it with a
contains rule instead.Filter by priority (Halo)
Halo defines priorities per SLA, and each SLA numbers its own levels 1, 2, 3 and so on. The Priority ID dropdown lists every level of every SLA under the name Halo shows for it, so pick the name you see on the ticket in Halo.- A rule matches tickets whose own SLA calls their level by that name. Two SLAs that use the same name for a level match together, as in Halo’s own filters.
- To narrow to one SLA, add an SLA ID rule next to the priority rule.
- Ticket details and agent instructions show the priority under the ticket’s own SLA name too.
Filter by the end user’s email (Halo)
On Halo you can target tickets by the email address of the end user on the ticket. The rule is called End User Email, and it takes any text operator —is, is not, contains.
- Use
containswith a domain (@contoso.com) to select every ticket from one customer’s users. - Halo cannot filter on the address itself, so Neo applies this rule after fetching. Pair it with a PSA-side rule — a status, a team, or a date range — on scheduled workflows.
- A ticket whose end user has no email address on record never matches an
isorcontainsrule.
Run Now and your filters
When you click Run Now on a workflow and give it a ticket, Neo does not do PSA event matching — it starts that workflow directly on the ticket you chose. It does still evaluate that same workflow’s own Filter Ticket conditions first, through a read-only pass. If the ticket does not match the filter, the run is recorded as SKIPPED in Executions and no actions are taken. The Run Now dialog has a Bypass ‘Filter Ticket’ conditions switch. Turn it on to run the workflow on the chosen ticket even when the ticket does not match the filter — useful for testing a workflow against a specific ticket without changing the filter.Run Now checks the filter of the workflow you are running. It is separate from how another agent hands off to a target with the Trigger or Schedule Workflow tool, which skips the target’s filter — see that tool’s page for the difference.
Building your filters using AI
We get that building filters can sometimes be a bit tricky. So to make this easier, you can get Neo to build your filters for you using theGenerate Rules button. You’d specify, in natural language, what you want to filter for and Neo will build the filters for you.
