Tags are lightweight labels you stick on contacts — manually, via auto-rules, via flows, via the API. They are the path of least resistance for capturing fast-moving signal: "interested in laptop", "complained about shipping", "needs callback Friday". Stack tags freely. Surface them in segments. Audit every change.
Tags are the most useful and most abused primitive in any CRM. They start clean: "VIP", "Hot Lead", "Refund Pending". Six months in, the same database has "VIP", "vip", "VIP-Customer", "vip_2023", "vipgold", "Vip ⭐", and nobody remembers which one the broadcast filter is checking. The marketing manager defends "VIPgold" because that is what her flow uses; support uses "VIP-Customer" because that is what was there when she joined. The segment that should be "all VIPs" silently misses 40% of them.
This is what happens when tags are unstructured strings with no governance. The platform lets anyone create a tag by typing it, lets two people type the same idea two ways, and never reconciles. The data eventually lies, and the team's confidence in segments quietly erodes.
Tags in SabNode CRM are governed. Tag names are canonicalised (case-insensitive, whitespace-trimmed, no duplicates). Tags can be grouped into categories ("Status", "Intent", "Source") with controlled vocabularies — only an admin can create a new tag in a category, and existing tags rename across all references atomically. Auto-apply rules eliminate the human typing inconsistency by deriving tags from signals deterministically. The result is a tag library that grows with intention, not entropy.
A Tag is a labelled flag on a contact, with optional category, color and description. Contacts can carry any number of tags simultaneously — "VIP", "Hindi speaker", "Refund pending", "B2B account" can all live on the same record without conflict. Each tag has metadata: when it was added, by whom (user, flow, rule, API), and an optional expiry date for time-bounded signals like "Promo recipient — expires in 7 days". Tag history per contact is queryable and never overwritten.
Auto-apply rules are the workhorse. Define a rule like "if last_message_intent = refund_request AND no_resolution_in_24h, apply tag refund-escalation". The rule engine evaluates every relevant event and applies tags deterministically — no human typing, no inconsistency. Rules can also remove tags: "if order_status = delivered, remove tag awaiting-shipment". This is how you keep tags accurate over time without manual hygiene.
Tags are second-class citizens to segments deliberately — they are cheap, fast and human-friendly while segments are the rigorous query layer. Most teams use both: tag liberally to capture signals as they happen ("interested in laptop"), then build segments that combine multiple tags with other filters ("tagged interested-in-laptop AND in segment Active-Last-30-Days"). Tags surface in flows (branch on tag), broadcasts (target by tag), and the contact UI (filter and color-coded badges).
Governance is built in. An admin defines tag categories ("Lifecycle", "Intent", "Channel", "Risk") and decides whether each category is open (anyone can add a new tag value) or closed (only admins). The library page surfaces tags by usage, last-applied recency, and contact count — stale tags get flagged for cleanup. Renames propagate atomically: rename "VIP-Customer" to "VIP" and every contact, segment, flow and rule updates in one transaction. No broken references.
Capabilities
A contact can carry unlimited tags simultaneously. Tags do not conflict — "VIP" and "At risk" can both apply when both are true. Each tag carries metadata: when, by whom, optional expiry. Tags surface as colored badges in every contact UI.
Define rules that add or remove tags based on contact events, field changes, flow outcomes, broadcast engagement, AI outcomes. Rules run in real time. Replaces 80% of manual tagging and eliminates human inconsistency.
Group tags into categories like Lifecycle, Intent, Source. Mark a category as closed (only admins create values) for governance-critical fields, open (anyone) for fast-moving signal capture. Categories surface as filters in the contact UI.
Select up to 50,000 contacts via filter and add or remove tags in one operation. Progress bar, partial failure reporting, and 24-hour undo. The standard tool for mass cleanup after a migration or campaign.
Apply a tag with a TTL — "Promo recipient" expires in 7 days, "Out of office" expires on a date. Expired tags auto-remove silently. Audit log captures the auto-removal. Replaces manual cleanup of stale signals.
Rename a tag once and every reference — contacts, segments, flows, rules, broadcasts — updates atomically in a single transaction. No half-renamed mess, no broken references. The standard tool for fixing legacy taxonomy debt.
Every tag add and remove is logged with timestamp, source (manual / flow / rule / API), and the user or system that triggered it. Surfaces in the contact timeline. Critical for compliance teams who need to prove why a contact was treated a certain way.
Use cases
Auto-apply rule: if customer mentions "laptop" or "macbook" or "thinkpad" in any inbound, apply tag interested-in-laptop with 30-day TTL. Marketing builds a segment from the tag and sends a flash sale broadcast. Tag expires automatically; campaign does not re-spam stale leads next month.
Deals live in Kanban with one stage at a time, but contacts carry parallel intent tags: "needs SSO", "wants HIPAA", "evaluating against competitor X". Auto-applied from conversation analysis. AE prep page shows all active intent tags so the next call addresses every concern, not just the latest one.
Auto-apply rule on AI conversation outcome: if patient mentions chest pain, apply tag clinical-priority with no TTL. Flow watches for the tag and routes to a triage nurse within 5 minutes. Tag also gates marketing — promotional broadcasts skip contacts with clinical-priority active.
Conversation analysis tags contacts with dispute-shipping, dispute-quality, dispute-pricing. Ops dashboards show open disputes by type. Tag removed automatically when the resolution flow completes. Replaces a spreadsheet that the ops lead used to maintain by hand.
Auto-apply tags by inquired course: interested-mba, interested-iit, interested-bank-exam. A single student can carry multiple. Segments combine course tag with other signals to drive targeted nurture flows. Course catalog change updates rules; tags re-derive on next event without manual re-tagging.
How it works
Tags is included on every SabNode workspace. No separate billing, no extra setup, flip it on from your workspace settings.
From the contact page, the tag library, or a flow node. Pick a category if one applies. Optional color and description. Save promotes the tag to the library.
Manual: click on a contact, pick a tag. Rule: define the condition in the auto-apply rules page, the engine handles the rest as events flow. Both paths share the same audit log.
Filter segments by tag presence or absence. Branch flows on contact_has_tag. Target broadcasts by tag. Tags become the fastest path from "I noticed X" to "automate response Y".
The tag library page shows usage, recency and stale tags. Rename or merge tags atomically. Mark categories closed when governance matters. Bulk remove obsolete tags from filtered contacts.
Per-contact tag history surfaces in the timeline. Export the full tag matrix for analytics or BI. API endpoint lets external systems query and modify tags with the same audit guarantees.
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.