Build segment criteria using available fields and operators.
Rule Operators
| Operator | Description | Example |
|---|
eq | Equals | status eq "ACTIVE" |
neq | Not equals | status neq "INACTIVE" |
gt | Greater than | engagementScore gt 50 |
gte | Greater than or equal | bookingCount30d gte 2 |
lt | Less than | handicap lt 15 |
lte | Less than or equal | churnRiskScore lte 30 |
in | In array | membershipTier in ["Gold", "Platinum"] |
contains | String contains | email contains "@company.com" |
isNull | Is null | handicap isNull |
isNotNull | Is not null | lastActivityAt isNotNull |
Available Fields
CRM Fields (Direct)
| Field | Type | Description |
|---|
status | enum | ACTIVE, INACTIVE, MERGED |
lifecycleStage | enum | SUBSCRIBER → ADVOCATE |
engagementScore | number | 0-100 |
churnRiskScore | number | 0-100 |
lifetimeValue | number | Total spend (cents) |
lastActivityAt | date | Last interaction |
activityCount30d | number | Activities in 30 days |
tags | array | Customer tags |
SCL Fields (Synced)
| Field | Type | Description |
|---|
membershipStatus | string | ACTIVE, INACTIVE, etc. |
membershipTier | string | Gold, Silver, etc. |
memberSince | date | Membership start |
membershipExpiry | date | Membership end |
TeeTime Fields (Synced)
| Field | Type | Description |
|---|
handicap | number | Current handicap |
homeClubId | string | Home club |
bookingCount30d | number | Bookings in 30 days |
lastBookingAt | date | Last tee time |
Messaging Fields (Synced)
| Field | Type | Description |
|---|
emailOptIn | boolean | Email consent |
smsOptIn | boolean | SMS consent |
pushOptIn | boolean | Push consent |
whatsappOptIn | boolean | WhatsApp consent |
lastEmailOpenAt | date | Last email open |
lastEmailClickAt | date | Last email click |
AI Segment Builder
Use natural language to create segments:
- "Find platinum members who haven't booked in 60 days"
- "High engagement customers at risk of churning"
- "Email subscribers in South Africa"
The AI converts these into validated segment criteria JSON.