Segments
Save a filter over what visitors asked and did, read its members with the identity your systems need, and hear when someone enters or leaves.
A segment is a saved filter. ShowPilot keeps an index of what each visitor asked and said (their chat turns, the questions the agent escalated, the agent's own summaries, qualifying answers) plus the facts a filter wants: tours watched, identity, CRM, intent, last seen. The worker re-evaluates every segment on a short cadence; you can also run one on demand.
ShowPilot never sends anything to the people in a segment. Your marketing stack does, from the members and the events.
Filters
{
"asked": "security OR SOC2 OR \"single sign-on\"",
"identified": true,
"lastSeenWithinDays": 90
}| Key | Matches |
|---|---|
asked | Web-search syntax over what the visitor asked and said. pricing -enterprise, "data residency", sso OR saml. |
toursWatched | Any of these tour ids was watched. |
identified / hasCrm | Has an email or a CRM contact / has a CRM contact. |
minIntent | Intent score at or above this. |
lastSeenWithinDays | Seen in the last N days. |
qualified | Qualifying answers equal these values ({ "plan": "team" }). |
labels | Visitor labels equal these values (the page SDK's traits land here). |
account | domain or industry on the enriched account. |
Keys AND together. Try a filter with POST /v1/segments/preview before saving it; you get the count and a few visitor ids back, nothing is written.
Members and changes
GET /v1/segments/{id}/members pages the current members with email, displayName, the enriched account, the crm ids and labels. GET /v1/segments/{id}/changes?since= is the sync primitive: every row after since says entered or left; keep nextSince and ask again.
Events
segment.entered and segment.left fire once per visitor per change, with the same identity fields, so a workflow can enrol someone the moment they qualify. Subscribe in Settings → Webhooks or on the API.
Scopes
segments:read for list, preview, members and changes; segments:write for create, update, delete and evaluate.