Every person who ever calls, texts, chats with the widget, or fills out a form lands in Contacts automatically. Deduplicated, with addresses and source tracked, conversation history attached, and tags + statuses you can use to organize.Documentation Index
Fetch the complete documentation index at: https://docs.servicebooked.ca/llms.txt
Use this file to discover all available pages before exploring further.
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)
- Status — Lead, Booked, Customer, etc. — your pipeline position
- 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 with five sections:- Header — name, phone, email, address, status (editable), tags, last contact, appointment count.
- Appointments — past + upcoming.
- Deals — active pipeline cards for this contact.
- Conversations & interactions timeline — every call, text, chat, email, and meeting note in chronological order.
- Notes — free-form text you can type in.
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.