Skip to main content
Your Contacts module is where every person you communicate with on WhatsApp lives. It is a lightweight CRM that powers the rest of Xobito — campaigns, chatbots, live chat, and automations all pull from this single list.
Xobito contacts list

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 lead or a customer. (An internal guest type 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 usedWhat happens
CampaignsChoose groups (or all contacts) as the audience of a broadcast.
Live ChatIncoming WhatsApp messages auto-create or update a contact.
Bot FlowsA chatbot can write answers back into the contact’s custom fields.
Template BotsScheduled templates go out to a filtered segment.
ReportsAnalytics are broken down by status, source, and group.

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.
Xobito contacts kanban view

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_changed event, which any of your configured automations or webhooks can listen to.

Permissions

  • Staff with the tenant.contact.view permission see every contact on the board.
  • Staff with only tenant.contact.view_own see 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.
The file is UTF-8 with a byte-order mark, so accented names and non-Latin scripts open correctly in Excel, Numbers, and Google Sheets.
Exporting requires the tenant.contact.view permission (or tenant.contact.view_own — in which case only your assigned contacts are included).

Good to know

Numbers must start with + and a country code — +14155551234, +447911123456, +919876543210. A number without a country code will be rejected.
Status and source are required. If you haven’t created any yet, go to Contacts → Status and Contacts → Source before adding your first contact.
Unlike status (one per contact) and source (one per contact), a contact can belong to any number of groups at the same time.
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.
If you’ve used other CRMs, you may be looking for tags. Xobito uses groups, statuses, sources, and custom fields instead — pick whichever fits your use case.

Key Concepts

Understand how contacts, sessions, and templates fit together.

Create a Campaign

Put your contact groups to work in a broadcast.