What’s in the list
Each contact has:- Name + business name — captured from forms, AI conversations, or manual entry
- Phone + email — primary contact methods, deduplication keys
- Address — street, city, state, postal code (when collected)
- Lifecycle — Lead, Qualified, Opportunity, Customer (or Lost) — where the relationship stands
- Tags — free-form labels for any organization scheme you like
- Source — how they reached you (widget, form, voice, manual import, reactivation)
- Last interaction — when you last heard from them
- Appointment count — how many bookings they’ve had
Searching and filtering
The list view (/dashboard/contacts) supports:
- Free-text search across name, email, phone, and business name
- Status filter — drop to one stage at a time
- Tag filter — show only contacts with specific tags
- Source filter — show only contacts from a specific channel
- Sort by any column — name, phone, address, status, last interaction, appointment count
Detail view
Clicking a contact opens their detail page:- AI Summary (top) — a one-click AI briefing built from the contact’s notes, messages, appointments, and deals, so you get instant context instead of reading everything. Click Generate (or Refresh when there’s new activity). It sticks to what’s on the record — no invented details. Available on plans that include AI lead summaries.
- Header — name and business; phone, email, and address (tap phone/email to call or write, or copy them); consent pills showing SMS and email opt-in status (tap to toggle); the editable lifecycle picker; an Assign to (assign the contact to a teammate); quick actions — Send message, call, book an appointment, request a review; tags; and an at-a-glance panel — the next open task for this contact (overdue flagged in red — click it to see all of this contact’s tasks, or + to add one), source, next appointment, last activity, lifetime value, and created date. (Last activity tracks the most recent touchpoint logged in ServiceBooked — contact made outside the app isn’t counted.)
- Deals — pipeline cards for this contact. Click one to open its details.
- Appointments — past and upcoming.
- Interaction log — every call, text, chat, email, and meeting note in chronological order.
- Notes — timestamped, free-form notes.
Bulk actions
Select multiple contacts (checkboxes) to:- Apply a tag to all selected
- Change status in bulk
- Delete in bulk (with a typed-DELETE confirm because this is destructive)
- Export to CSV
Auto-deduplication
Two contacts that land with the same phone number (or same email) are automatically merged into one row — appointments, conversations, and notes from both are preserved. We dedupe on:- Email (case-insensitive, normalized)
- Phone (normalized to E.164 —
+16135551234)
What about anonymous web visitors?
Visitors who chat the widget without sharing a phone or email are tracked as “visitor:abcd1234” — anonymous identifiers based on a localStorage token. If they later share a phone or book an appointment, the visitor record promotes to a real contact and the conversation history follows them.Next
Add a contact manually
For walk-ins, referrals, or anyone who didn’t reach you through the system.
Import from CSV
Bring in your existing customer list when you start.