
Why custom fields matter
Custom fields are what make WhatsApp messaging feel personal at scale. Once a field exists, you can:- Show the data on the contact form for every team member.
- Import the data in bulk from CSV.
- Capture the data via Bot Flows and store it back on the contact.
The six field types
Xobito supports six custom-field types — pick the right one when you create the field:| Type | What it stores | Typical use |
|---|---|---|
| Text Field | Single-line free text (max 255) | Short notes, IDs, short labels |
| Text Area | Multi-line text (max 2000) | Longer notes, addresses, descriptions |
| Number Field | Numeric value | Loyalty points, account balance, age |
| Date Field | A calendar date | Birthday, renewal date, sign-up date |
| Dropdown | One value from a fixed list | Plan tier, region, priority |
| Multi-select Checkboxes | Multiple values from a fixed list | Preferences, interests, opt-in categories |
What’s on a custom field
Each custom field has these attributes:| Attribute | Description |
|---|---|
| Field label | The human-readable name shown on the contact form. |
| Field name (slug) | The machine-friendly name — used as the CSV column name and the key in the contact’s JSON data. |
| Field type | One of the six types above. |
| Options | For Dropdown and Checkboxes — the list of allowed values. |
| Placeholder | Grey hint text shown inside empty inputs. |
| Description | Help text shown below the field on the contact form. |
| Default value | Pre-filled when creating a new contact. |
| Is required | If on, the field must be filled before a contact can be saved. |
| Display order | Determines where the field appears on the form — managed automatically per workspace. |
| Is active | Lets you hide a field without deleting it. |
| Show on table | Whether the field appears as a column on the main contact list. |
Open the Custom Fields library
In the sidebar, go to Contacts → Custom Fields. You’ll see every custom field your workspace has defined, along with its slug, field type, and options.Create a custom field
Set the slug
The slug is auto-generated from the label (e.g.
birthday). It’s used as the CSV column name and is how the value is stored on each contact. Use lowercase letters, digits, and underscores.Choose the field type
Pick from Text, Text Area, Number, Date, Dropdown, or Multi-select Checkboxes.
Add options (Dropdown / Checkboxes only)
If you picked Dropdown or Checkboxes, list the allowed values one per line.
Fill in helper settings (optional)
Placeholder, description, and default value to guide your team as they fill out contacts.
Mark as required (optional)
If this field must be filled for every new contact, tick Required. Required fields block saving a contact if left empty, and reject CSV rows that don’t include the column.
Toggle 'Show on table' (optional)
If you want this field to appear as a column on the main contact list, turn this on.
Edit or delete a custom field
Fill in a custom field value
On the contact form
Every active custom field appears below the standard fields on the add-contact and edit-contact forms. Fill them in when adding or editing a contact.During CSV import
Add a column whose header matches the field’s slug (not the label). See Import from CSV.Via a Bot Flow
A Bot Flow can ask the contact a question and store their reply in a custom field. Example: “What’s your account number?” → store the reply in theaccount_number field. See Bot Flows.
Data type rules
| Type | Accepted input |
|---|---|
| Text Field | Any text up to 255 characters. |
| Text Area | Any text up to 2000 characters. |
| Number Field | Numeric values only — 500, 49.99. Text like “five hundred” is rejected. |
| Date Field | A valid date. Invalid dates are rejected on the form and skipped in CSV. |
| Dropdown | Must match one of the options you defined. |
| Multi-select Checkboxes | One or more values from the defined options. |
Custom fields in the API
Custom fields are stored on each contact, but are not currently serialised into the contact API response. If you call Xobito’s contact list or read API, the custom-field values will not be included in the payload. This is a known limitation — for now, custom fields are most useful inside the Xobito UI, in CSV imports, and in Bot Flows. See Developer API for the latest details.
Best practices
Plan your fields before importing
Plan your fields before importing
Create every custom field you need before your first CSV import. Retrofitting fields after import means re-uploading data.
Prefer Dropdown / Checkboxes over free text for finite values
Prefer Dropdown / Checkboxes over free text for finite values
If the value has a handful of possible options, use Dropdown or Checkboxes. Dirty free-text (“pro”, “Pro”, “PRO”) ruins segmentation.
Use slug-friendly labels
Use slug-friendly labels
Slugs like
plan_tier or last_purchase_date are easier to use in CSV and in automations than “Plan Tier (2026)”.Be careful with 'required'
Be careful with 'required'
Required custom fields block manual entry and reject CSV rows without the column. Only mark a field required if you truly have data for every contact, every time.
Avoid storing sensitive data
Avoid storing sensitive data
Don’t store passwords, full payment details, or government ID numbers in custom fields. Xobito is a messaging platform — not a secure vault.
Related
Dynamic templates
Merge contact data into template variables at send time.
Import from CSV
Populate custom fields in bulk from a spreadsheet.
Bot flows
Capture contact replies and store them in custom fields.
Developer API
Read and write contact data programmatically.