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
Each contact has an opted-out flag for tracking purposes. Automatic opt-out detection and campaign exclusion are not currently implemented — agents must manually disable contacts you no longer want to message. Roadmap item.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:Typical workflow
1
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.
2
Add or import contacts
Add a few manually to test, then import the rest from CSV in small batches.
3
Organise into groups
Create groups for the audiences you’ll send campaigns to.
4
Use them everywhere
Select groups in campaigns, reference custom fields in templates, and watch each contact’s history grow as messages flow in and out.
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. Dropping a Kanban card immediately updates the contact’s status and
last_status_changetimestamp. The change is also captured in Activity Log. (Outbound webhooks do not fire for status changes — only on contact create/update/delete.)
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.1
Open the Contacts list
Sidebar → Contacts.
2
Select contacts
Tick the checkbox next to each contact you want to export, or tick the header checkbox to select the whole page.
3
Choose 'Export'
Pick Export from the bulk-action menu above the table.
4
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.
Related reading
Key Concepts
Understand how contacts, sessions, and templates fit together.
Create a Campaign
Put your contact groups to work in a broadcast.