Use segments in broadcasts and workflows
Learn how to reuse a saved segment as a broadcast audience and in workflow triggers and steps, and what keeps one from being deleted.
On this page
A segment is worth building once you plan to reuse it. The same saved filter can target a broadcast, gate a workflow, and decide which changes a webhook streams out. This article shows how to put a segment to work as a broadcast audience and inside a workflow, what stops a segment from being deleted, and when to save a segment versus writing a one-off filter. If you have not built one yet, start with create a segment.
Where segments are used
A segment is a reusable definition of an audience. Because it is generated and stored once, you can reference it from several places rather than re-describing the same people each time:
- Broadcast audiences: send a broadcast to the contacts a segment matches.
- Workflow triggers and steps: gate a trigger, or filter the records a step finds, by a segment.
- Webhook filters: on contact and email-event webhook triggers, stream only changes to contacts a segment matches.
Reusing the segment keeps the audience meaning visible in one place. Each feature applies it at its own point: a preview queries available data, a broadcast seals its audience, and a workflow follows its published configuration and run context.
Segments filter contacts, so they apply wherever the audience is a contact schema. For object records, you filter with a custom condition instead, since segments do not exist for objects.
Use a segment as a broadcast audience
A broadcast sends to one contact schema, and within that schema you choose who receives it. A saved segment is how you narrow it down.
- Open the broadcast audience step
Create or open a broadcast and go to its audience step. The broadcast is already bound to one contact schema, such as Customer.
- Pick the segment
In the Segment field, select your saved segment, such as Active trial users. The segment defines the candidate audience. All contacts in this schema includes the full schema as candidates; consent, suppression and delivery checks still apply.
- Check the live count
maxclicks shows matching contacts. Compare the count and sample with the people you expect. A successful zero count means no current matches; a counting error is unresolved. Neither a positive count nor a segment match proves delivery eligibility.
A broadcast audience is either every contact in the schema or one saved segment. There is no inline filter builder on the audience step, so when you need a one-off audience for a single send, ask maxinja to set the broadcast's audience and it generates the condition on that broadcast for you.
Preparation selects and seals the audience before delivery. Later matches are not continually added to that send. Destination, subscription, topic, suppression and other delivery checks can reduce the number sent; use campaign results for the outcome. For the full send path, see send your first broadcast and create and send a broadcast.
Use a segment in a workflow
Workflows use segments to decide which contacts flow through them. A segment can gate the trigger that starts a run, and it can filter a step that looks up records mid-run. Building a workflow is covered in build your first workflow; this section focuses on the segment parts.
Filter a trigger
A Record Created or Updated trigger bound to a contact schema can filter by a segment, so runs start only for contacts the segment matches. The record change supplies the trigger opportunity; the condition decides whether that change qualifies.
Conditioned triggers use entered-criteria semantics. When a contact is created and already matches the segment, the trigger fires. On an update, it fires only when the contact enters the segment: it did not match before and matches now. A contact that already matched, and still matches after an edit, does not fire the trigger again. Saving a segment alone does not create an independent listener for every membership change. A time window moving, a related object changing or a new background publication is not necessarily a change to this contact. For published scheduled-value transitions, review the Evaluated attribute threshold trigger.
Filter a step
A Find Records step looks up contacts from your database mid-run. You can point it at a segment so it returns only the matching contacts, then act on them downstream.
Evaluated lookups can see records supplied since an earlier step. Scheduled evaluated attributes follow a different rule: the root workflow run and its child runs retain their selected published generation. A current profile preview can therefore differ from the active run. Inspect the step's Reads and run evidence; see attribute expansion.
What blocks deleting a segment
maxclicks tracks every place a segment is referenced. A segment that is in use cannot be deleted: attempting to delete one that a broadcast, workflow step, webhook, evaluated attribute, or another segment depends on returns an "entity in use" error. This protection stops you from quietly breaking an audience or an automation that relies on the segment.
To delete a segment, remove its references first.
- Find what references the segment
Identify what uses the segment: a broadcast audience, a workflow trigger or Find Records step, a webhook filter, an evaluated attribute, or another segment built on top of it.
- Remove or repoint each reference
Move each consumer to the intended replacement segment or condition. Recheck the audience before applying the change; broadening it to every record changes who qualifies.
- Delete the segment
With no references left, delete the segment from its page on Segments.
The same reference tracking is why a segment can safely be reused: nothing you depend on can be pulled out from under you. It also means composing segments (building one segment on another) creates a dependency you must unwind from the top down.
Segments versus custom filters
Workflow triggers and steps take a one-off condition written inline, instead of a saved segment. A broadcast's Audience tab offers saved segments only, but maxinja can write a custom filter onto a single broadcast when you ask it to.
| Option | Reusable? | Best for |
|---|---|---|
| Saved segment | Yes, referenced anywhere | An audience you use more than once, or want to keep consistent across sends and workflows |
| Custom filter or condition | No, lives on one entity | A one-off audience for a single broadcast, trigger, or step |
A saved segment is a named, shared definition. Generated references can block condition changes as well as deletion, so use a new segment when you need a different meaning without changing existing consumers. A custom filter belongs to the broadcast, trigger or step that uses it.
The rule of thumb: if you would describe the same audience twice, save it as a segment. If it applies to one send and nowhere else, a custom filter is fine. Both are generated the same way, by describing the audience and letting maxinja produce the logic, as explained in meet maxinja, your AI assistant.
Frequently asked questions
Does a new segment member join an already prepared broadcast?
A broadcast seals its selected audience for that send. Later matches do not continuously enter that sealed audience. Prepare a new send when the intended audience is a later cohort, and review the selected records and consent again.
Does changing a related object fire a contact trigger?
A related record can change a future segment result without updating the contact itself. A saved segment does not independently listen for every membership change. Choose a trigger that corresponds to the event or published-value transition your journey needs.
Why does a workflow use a different published value from a profile preview?
The root run and its child runs retain the publication selected for their captured decision. A later preview can capture a newer publication. Inspect the selected data and run evidence before treating the difference as a failed calculation.
Did this article answer your question?
