
Why contacts matter
Every WhatsApp message you send is tied to a contact. A clean contact list means:- Higher delivery rates — valid numbers with country codes go through every time.
- Better targeting — groups, statuses, and sources let you send the right message to the right people.
- Personalised messages — custom field values get merged into templates at send time.
- Clearer reporting — campaign analytics are split by status, source, and group.
What you can do
Add a contact
Create a single contact manually.
Import from CSV
Upload a small spreadsheet to add many contacts at once.
Organise into groups
Named collections like “VIP Customers” — a contact can belong to unlimited groups.
Track status
One colour-coded label per contact — e.g. “Hot lead”, “Customer”.
Track source
One source per contact — where they came from.
Custom fields
Add your own data points — text, number, date, dropdown, checkbox, textarea.
The contact record
Every contact in Xobito has the following fields:Required
- First Name (
firstname) — up to 191 characters. - Last Name (
lastname) — up to 191 characters. - Phone — must be in E.164 format with a leading
+and country code (e.g.+14155551234). Unique within your workspace. - Type — each contact is either a
leador acustomer. (An internalguesttype is also used by some chat channels.) - Status — one status from your status library.
- Source — one source from your source library.
Optional
- Email — if provided, must be unique within your workspace.
- Company, Website, Description.
- Country, City, State, ZIP, Address.
- Assigned Agent — a staff user responsible for the contact.
- Groups — a contact can belong to unlimited groups.
- Custom fields — any fields you define.
Opt-out tracking
Xobito records whether a contact has opted out of messaging and when that happened. Opted-out contacts are still in your database — they are excluded from campaigns rather than deleted.The phone number is the unique identifier for a contact. Two contacts cannot share the same phone number in the same workspace.
How contacts flow through Xobito
Contacts power the rest of the platform:| Where contacts are used | What happens |
|---|---|
| Campaigns | Choose groups (or all contacts) as the audience of a broadcast. |
| Live Chat | Incoming WhatsApp messages auto-create or update a contact. |
| Bot Flows | A chatbot can write answers back into the contact’s custom fields. |
| Template Bots | Scheduled templates go out to a filtered segment. |
| Reports | Analytics are broken down by status, source, and group. |
Typical workflow
Set up your library first
Create the statuses, sources, and custom fields you want to use. Xobito does not ship pre-seeded statuses or sources — you define them to match your business.
Kanban view
The Contacts page has a Kanban view in addition to the standard list view — useful for moving contacts through a pipeline visually.
How it works
- Each column on the board is one of your Contact Statuses.
- Each card is a contact, showing name, phone, and key details.
- Drag a card from one column to another to change that contact’s status. When you drop it, Xobito updates the contact’s status and records the moment of the change for reporting.
- Dropping a card also fires a
contact.status_changedevent, which any of your configured automations or webhooks can listen to.
Permissions
- Staff with the
tenant.contact.viewpermission see every contact on the board. - Staff with only
tenant.contact.view_ownsee just the contacts assigned to them — the columns still show, but with a filtered set of cards.
The Kanban view mirrors the list — every contact you would see in the list also appears on the board. To search or filter contacts, use the list view; the Kanban is designed for drag-and-drop status changes, not filtering.
Export to CSV
You can export your contact list as a CSV file at any time.Select contacts
Tick the checkbox next to each contact you want to export, or tick the header checkbox to select the whole page.
Download the file
Your browser downloads a UTF-8 CSV. It includes headers, the selected contact rows, and a column for each of your custom fields.
Exporting requires the
tenant.contact.view permission (or tenant.contact.view_own — in which case only your assigned contacts are included).Good to know
Always use E.164 phone numbers
Always use E.164 phone numbers
Numbers must start with
+ and a country code — +14155551234, +447911123456, +919876543210. A number without a country code will be rejected.Every contact needs a status and a source
Every contact needs a status and a source
Status and source are required. If you haven’t created any yet, go to Contacts → Status and Contacts → Source before adding your first contact.
Groups are unlimited
Groups are unlimited
Unlike status (one per contact) and source (one per contact), a contact can belong to any number of groups at the same time.
Respect opt-outs
Respect opt-outs
When a contact asks to stop receiving messages, mark them opted-out immediately. Continuing to message opted-out users hurts your phone number’s quality rating with Meta.
Xobito does not use 'tags'
Xobito does not use 'tags'
Related reading
Key Concepts
Understand how contacts, sessions, and templates fit together.
Create a Campaign
Put your contact groups to work in a broadcast.