User Guide
Contacts & CRM
Track visitors, manage leads, and build customer profiles automatically.
How Contacts Are Created
Contacts are created automatically when a visitor sends their first message. The system matches visitors intelligently to avoid duplicates — it checks for existing contacts by user ID, email, and visitor cookie in that order.
Automatic deduplication
Lead vs Customer
Every contact has a status:
| Status | Meaning |
|---|---|
| Lead | Anonymous or partially identified visitor. |
| Customer | Identified user. Promoted when your app passes a user ID via the widget SDK. |
A lead is automatically promoted to a customer when your application identifies them through the widget SDK. See the Widget SDK docs for details.
Contact Fields
Each contact record includes:
- Name, email, phone, company — standard profile fields
- Tags — free-form labels for segmentation (e.g. “enterprise”, “trial”)
- Custom metadata — arbitrary key-value pairs passed from your app
- Engagement stats — conversation count, message count, last seen
You can edit any field from the contact detail view in the admin panel.
Saved Segments
Contact lists let you save reusable filters. There are three built-in lists:
- All Contacts — every contact in your organization
- Leads — anonymous or partially identified visitors
- Customers — fully identified users
Create custom lists by combining filters on status, tags, and search queries. Custom lists can be deleted; built-in lists cannot.
Activity Timeline
Each contact has a chronological activity feed showing key events:
- Contact created
- Conversation started
- Escalation triggered
- Contact fields updated
- Promoted from lead to customer
Conversations per contact