> ## Documentation Index
> Fetch the complete documentation index at: https://documents.xobito.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Contact Statuses

> A single colour-coded label per contact that reflects their current lifecycle stage.

A **status** is one colour-coded label applied to one contact. Unlike groups (many per contact) or custom fields (data values), a status is a single, exclusive tag that answers: **"What kind of contact is this, right now?"**

## Status record

Each status has:

* **Name** — the label shown in dropdowns (min 3 characters, max 255, unique within your workspace).
* **Colour** — a hex colour code (up to 7 characters, e.g. `#FF0000`). Used to colour-code the status badge wherever it appears.
* **Default flag** — marks one status as the default applied to new contacts that come in through channels that don't specify one.

A contact always has **one** status at a time. Changing the status replaces the previous one.

<Note>
  Xobito does not ship pre-seeded statuses. You define them to match your own sales or support lifecycle.
</Note>

## Typical statuses

| Status         | When to use                                         |
| -------------- | --------------------------------------------------- |
| `New lead`     | Just came in, hasn't been qualified yet.            |
| `Hot lead`     | Highly engaged, ready to buy.                       |
| `Customer`     | Has made a purchase.                                |
| `Inactive`     | No engagement for 90+ days.                         |
| `Unsubscribed` | Asked to stop receiving messages.                   |
| `Blocked`      | Marked your messages as spam, or abusive behaviour. |

## Status vs. Group vs. Custom Field

New users often confuse these. Quick guide:

| Concept          | How many per contact  | Use for                                      |
| ---------------- | --------------------- | -------------------------------------------- |
| **Status**       | One                   | Lifecycle stage ("Hot lead", "Customer")     |
| **Source**       | One                   | Where they came from ("Website", "Referral") |
| **Group**        | Many                  | Marketing segments ("VIP", "Newsletter")     |
| **Custom field** | Many (one value each) | Data ("Plan: Pro", "Birthday: 1990-05-12")   |

<Tip>
  If you find yourself wanting two statuses on one contact, split the idea: one becomes a group, the other stays as status.
</Tip>

## Open the Status library

In the sidebar, go to **Contacts → Status**. This is where you manage the full list of statuses available to your team.

## Create a status

<Steps>
  <Step title="Click 'Add Status'">
    Opens the status form.
  </Step>

  <Step title="Give it a name">
    Min 3 characters, max 255. Must be unique within your workspace. Keep it short and consistent — "Customer" not "customers".
  </Step>

  <Step title="Pick a colour">
    Choose a hex colour (up to 7 characters, e.g. `#22C55E` for green). Red for "Unsubscribed", green for "Customer", amber for "Hot lead" is a common scheme.
  </Step>

  <Step title="Mark as default (optional)">
    If you want this status to be applied automatically to incoming contacts that don't have a status set, tick the default flag. Only one status should be default at a time.
  </Step>

  <Step title="Save">
    The status is immediately available in the contact form and CSV imports.
  </Step>
</Steps>

## Edit or delete a status

<Steps>
  <Step title="Open Status library">
    **Contacts → Status**.
  </Step>

  <Step title="Find the row">
    Use search if you have many statuses.
  </Step>

  <Step title="Edit or Delete">
    Editing a status renames or recolours it across every contact. Deleting removes the status — reassign contacts using it first.
  </Step>
</Steps>

<Warning>
  Before deleting a status, reassign the contacts currently using it. Otherwise those contacts will have no status — and every contact in Xobito needs a status.
</Warning>

## Assign a status to a contact

### On the contact form

When creating or editing a contact, pick a status from the dropdown. This field is required. See [Add a Contact](/contacts/add-contact).

### During CSV import

Include a `status_id` column in your CSV with the **numeric ID** of an existing status. See [Import from CSV](/contacts/import-csv).

### From an automation

A **Bot Flow** can change a contact's status as part of its logic — for example, "If the user answers 'yes' to 'Are you interested?', set status to Hot lead." See [Bot Flows](/automations/bot-flows).

## Filter and report by status

* In the contact list, filter by status to see only contacts with a specific label.
* In campaign analytics, engagement can be split by status.
* In Bot Flows, branch a conversation based on the contact's current status.

## Best practices

<AccordionGroup>
  <Accordion title="Keep the list short">
    5 to 10 statuses is usually enough. If you need more granularity, you probably want groups or custom fields instead.
  </Accordion>

  <Accordion title="Always have an 'Unsubscribed' status">
    When a contact asks to stop receiving messages, switch them immediately. Never include unsubscribed contacts in marketing campaigns.
  </Accordion>

  <Accordion title="Pick one default">
    Set exactly one status as default so incoming contacts always have a valid starting point.
  </Accordion>

  <Accordion title="Train your team">
    Statuses only work if everyone uses them the same way. Write a short "what each status means" guide for your agents.
  </Accordion>

  <Accordion title="Automate where you can">
    A Bot Flow can update a contact's status based on their replies, keeping the database accurate without manual work.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Sources" icon="tag" href="/contacts/sources">
    Track where each contact came from.
  </Card>

  <Card title="Groups" icon="users" href="/contacts/groups">
    Create marketing segments your contacts can belong to.
  </Card>

  <Card title="Custom fields" icon="file-pen" href="/contacts/custom-fields">
    Store arbitrary data points per contact.
  </Card>

  <Card title="Bot flows" icon="diagram-project" href="/automations/bot-flows">
    Automate status changes based on conversations.
  </Card>
</CardGroup>
