Same filter, drawn two ways, using the real agent fields and live stage values. Goal of this screen: pick where the expanded builder should live and how a rich condition should read.
Worked example shown in both: Licensed in TX or FL AND
SMS-blastable AND not on DNC AND
Resident AND has a Health license, VALID, expiring within 90 days AND
mailing state = FL.
Direction A
Evolved inline
Stays in the existing left sidebar where custom filters already are — just redesigned: typed inputs, categorized fields, compound license row. Lowest-risk; tight on space.
Custom Filters
Group 1AND ▾
Licensed state LICENSE
is any ofTXFL
×
SMS-blastable CARRIER
is true
×
On DNC list SUPPRESS
is false
×
Residency type AGENT
isResident
×
Has a license where… LICENSE
type containsHealth
status isVALID
expires within90 days
×
Mailing · state ADDRESS
isFL
×
OR
Direction B
Roomy builder drawer
A “+ Advanced filter” button in the sidebar opens a wide drawer over the list. Room for typed Field ▸ Operator ▸ Value rows, visible AND/OR group toggles, nested license sub-group, and a live result count. Quick sidebar filters stay as-is.
Advanced filter builder
matches ≈ 4,210 agents
Group 1 · matchALL (AND)ANY (OR)
Licensed state LICENSE
is any of
TXFL+ add
×
SMS-blastable CARRIER
is
true
×
On DNC list SUPPRESS
is
falseincl. opt-outs
×
Residency type AGENT
is
Resident
×
⛓ Has a license where ALL of:
License type
contains
Health
×
License status
is any of
VALID
×
Expiration date
within next
90days
×
Mailing · state ADDRESS
is any of
FL+ add
×
Field picker (opens on “Add condition”) — organized by family, searchable
Both directions use the same underlying rule shape, so the choice here is purely UX — not a data-model commitment.
The hard part either way is the typed value inputs (enum multiselect, boolean toggle, “within next N days”, is-set/empty) and the
“has a license where…” nested condition. Direction A keeps everything in the place you already like; Direction B gives those
two things room to breathe and adds a live count.
blue chip value you pickedgreen positive enum (VALID, true)red negative/suppressCATEGORY field family
Tip: this is a static mockup (no live clicks) — just react in the terminal. I can redraw either direction with different spacing, field grouping, or condition styling.