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

When a previously anonymous visitor later identifies with an email or user ID (via the widget SDK), the existing contact is updated rather than creating a duplicate.

Lead vs Customer

Every contact has a status:

StatusMeaning
LeadAnonymous or partially identified visitor.
CustomerIdentified 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

Click any contact to see all their conversations across all websites in your organization, with status and last message preview.