Segments turn any combination of contact, event and behavior signal into a named, dynamic audience. Reuse the same segment in broadcasts, flows, AI assistants and dashboards. Audiences stay current as data changes — no exports, no stale CSVs, no segment that worked last week and lies this week.
Every marketer knows the ritual: pull a CSV of "active customers who bought from us in the last 90 days", upload it to the broadcast tool, send the campaign, throw the CSV away. Three weeks later, repeat. The list is stale the moment it is pulled — customers who bought after the pull get missed, customers who unsubscribed in the interim get spammed, customers who already received the campaign from a different list get hit again.
The industrial answer is dynamic segments, where the audience is a saved query that re-evaluates on every send. But most "dynamic" segments in legacy tools are dynamic in name only — they query a single table, can not span email opens with order history with WhatsApp clicks, and absolutely can not check "customer who replied to last broadcast within 24 hours and has not yet ordered". So teams fall back to CSVs.
Segments in SabNode is dynamic for real. The query language spans every signal the platform captures — contact fields, custom fields, messages across channels, flow executions, broadcast engagement, orders, payments, opt-ins, tags. Membership recomputes incrementally as events flow through the platform. The segment you built for a Diwali campaign last year still works for next year's Diwali, with no edits, because the definition was always about the question, not the snapshot.
A Segment is a named, dynamic audience defined by a filter expression over the contact graph. Filters combine 80+ signals: identity (phone, email, language, country, timezone), contact fields (any custom field), tags, opt-in status, lifecycle stage, Kanban column, last-message-recency, last-purchase-recency, total spend, order count, channel preference, AI conversation outcomes, broadcast engagement (opened, clicked, replied), flow executions (entered, completed, dropped at node X). Filters compose with AND, OR, NOT and nested groups — same expressive power as SQL but exposed through a clickable builder.
Membership is dynamic and incremental. The segment engine listens to every event in the platform (message in/out, order, tag change, field update) and incrementally re-evaluates which segments the affected contact belongs to. A contact who just placed their fifth order automatically enters the "VIP — 5+ orders" segment within seconds, no rebuild required. The segment-entered event itself is a flow trigger, so onboarding to VIP can fire a thank-you template the same minute.
Segments compose with each other. Create "VIP" and "Lapsed" as base segments, then define "Lapsed VIPs" as VIP AND Lapsed. The derived segment updates automatically when its parents do. This pattern lets teams build a library of reusable audience primitives ("Active Hindi Speakers", "High-Intent Last 30 Days", "Refund Recently") and combine them per campaign without rebuilding query logic each time.
Every downstream module consumes segments. Broadcasts target by segment with a live count preview. Flows branch on "contact is in segment X". AI assistants gate access by segment for premium-only features. Dashboards filter by segment to show the funnel for just that cohort. Exports stream the current snapshot or a scheduled refresh. The segment is the universal join key across SabNode modules — define an audience once, every tool reads from the same definition.
Capabilities
Contact fields, custom fields, tags, opt-in by channel, lifecycle stage, Kanban column, messages (sent/received/replied to), broadcasts (opened/clicked), flows (entered/completed), orders (count/total/recency), payments, AI conversations, location, language, timezone, and more.
AND, OR, NOT, nested groups up to 5 levels deep. Build complex audiences like "WhatsApp opted-in AND (Hindi OR Tamil) AND (last order < 30 days OR total spend > ₹10,000) AND NOT tag=staff" through the clickable builder, no SQL needed.
As you build the filter, the count updates within seconds against the live contact graph. See exactly how many contacts match before saving. Compare alternative versions of the segment to pick the right reach.
When a contact event occurs, only the affected segments re-evaluate for that contact. No full rebuild. Segment-entered and segment-exited fire as flow triggers so downstream automations react instantly to membership changes.
Define a segment as the intersection, union or difference of other segments. Updates propagate automatically. Build a library of reusable atoms ("Hindi speakers", "Active last 30 days") and combine per campaign.
Built-in templates for recency-frequency-monetary segmentation, cohort by signup week, customer-lifecycle stage. Pick a template, tweak thresholds, save. Skip the manual rebuild of standard analytics primitives every team needs.
Export any segment to CSV, S3, or Google Sheets on a schedule. Hourly, daily, weekly. Lets external tools (BI dashboards, paid-media platforms) consume SabNode segments without a custom integration. Audit log captures every export.
Use cases
Segment: "spent ≥ ₹5,000 in last 12 months AND WhatsApp opted-in AND language IN (Hindi, English)". Used in a broadcast for early access. Live count: 18,000. Same segment fed into a flow that automatically nudged the 22% who clicked but did not purchase 48 hours later. No CSV touched.
Segment: "company size ≥ 50 AND product tier = starter AND feature_used:advanced_reports IN last 14 days". Identifies starter-tier users hitting power-user behavior. Fed into a flow that schedules an AE conversation and sends a product-tier-upgrade brochure. Expansion pipeline up 31% in one quarter.
Segment: "course_enrolled = true AND last_active > 21 days AND completion < 30%". Triggers a personalised AI Generate nudge with the next-lesson summary. Re-engages 14% of would-be churners. Segment recomputes daily; new dormant students enter automatically without manual list refresh.
Segment: "has_upcoming_appointment within 24 hours AND no_confirmation_sent_today". Cron-driven flow runs hourly against this segment, sending interactive confirmation buttons. Membership shrinks as confirmations come in. Replaces a manual ops process that occasionally missed entire shifts.
Segment: "shipment_status = exception AND no_outbound_in_last_4h". AI assistant proactively reaches out to acknowledge the delay and offer options. Composed from atomic segments around shipment status and outbound recency — both reused in other automations.
How it works
Segments is included on every SabNode workspace. No separate billing, no extra setup, flip it on from your workspace settings.
Click New Segment from any module — CRM, Broadcast, Flow editor. The builder is the same surface regardless of where you start.
Pick signals from the catalog, add operators, group with AND/OR/NOT. The live count updates as you build. Templates available for RFM, lifecycle and cohort patterns.
Give the segment a name and optional description. Save promotes it to the segment library where every module can reference it.
Target a broadcast, branch a flow, gate an AI assistant, filter a dashboard, schedule an export. The segment is the same in every context and updates everywhere when the definition changes.
Each segment has a usage page — where it is referenced, how membership trends week-over-week, recent enter/exit events. Tune the filter as the business evolves.
Connect directly with your existing stack or leverage the Platform Core tools to extend capabilities natively.
Enhance this feature with deep integrations into our core infrastructure. Connect via API, utilize webhooks, or embed directly using our SDKs.
Manage all settings seamlessly within the core UI.
Extend functionality with custom automated workflows.
No credit card. No sales call required. Spin up a workspace, plug in a number, and your team is live in under an hour.