> ## 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.

# Key Concepts

> The WhatsApp Business Platform terms you'll see throughout Xobito.

If you're new to the official WhatsApp Business Platform, these are the concepts you'll bump into repeatedly in Xobito.

## WABA — WhatsApp Business Account

A **WhatsApp Business Account (WABA)** is the container inside Meta Business Manager that owns your phone numbers, templates, and conversations. Xobito connects to your WABA — it doesn't own it. If you ever disconnect, your WABA stays with you in Meta.

## Phone Number

Every WABA can have one or more **phone numbers**. Each phone number has:

* A **display name** (what recipients see — e.g. "Xobito Support").
* A **quality rating** (Green, Yellow, Red — set by Meta based on user feedback).
* A **messaging tier** (250, 1K, 10K, 100K, Unlimited — Meta-imposed cap on unique business-initiated conversations per 24 hours). New numbers usually start at 250 and graduate upward as your quality stays green.

## Template Message

A **template** is a pre-written message approved by Meta. Templates are required because WhatsApp does **not** allow arbitrary promotional text to be sent to contacts who haven't messaged you recently.

Templates can include:

* Text body with variables (`{{1}}`, `{{2}}`…)
* Header (text, image, video, or document)
* Buttons (quick reply, URL, phone)
* Footer text

Templates must be **submitted to Meta for approval** — approval usually takes minutes to a few hours.

See [Create a Template](/templates/create-template).

### Template categories

When you submit a template from Xobito, you pick a **category**. The current template flow supports two:

| Category                  | Triggered by                                  | Typical use                                           |
| ------------------------- | --------------------------------------------- | ----------------------------------------------------- |
| **Marketing (MARKETING)** | Template submitted with `category: MARKETING` | Offers, launches, promotions                          |
| **Utility (UTILITY)**     | Template submitted with `category: UTILITY`   | Order confirmations, transactional updates, reminders |

<Note>
  Meta's wider platform also recognises Authentication and Service categories, but Xobito's current template submission flow sends templates under **Marketing** or **Utility** only. If you specifically need an Authentication (OTP) template, manage that template directly in Meta Business Manager.
</Note>

## Session / 24-hour window

The **24-hour session window** is a WhatsApp rule: once a contact sends you a message, you can reply with free-form content (text, images, etc.) for the next 24 hours. Outside that window you must use an approved **template** to restart the conversation.

<Note>
  Xobito calculates the session window live from the customer's most recent inbound message. If more than 24 hours have elapsed since that message, the inbox blocks free-form replies and prompts you to send a template instead.
</Note>

## Conversation billing

Meta charges per **conversation**, not per message — a conversation being a 24-hour window between you and one contact. Meta itself assigns the conversation category (Marketing / Utility / Authentication / Service) server-side based on the template used and the context of the exchange, and meters billing accordingly.

Xobito surfaces Meta's conversation costs on the [Billing](/settings/billing-subscription) page. Xobito does **not** stamp its own conversation category on each chat record — that labelling lives entirely on Meta's side.

## Webhooks

There are two distinct webhook flows in Xobito — don't confuse them.

### Incoming webhook (Meta → Xobito)

Meta calls Xobito's webhook URL when events happen on your WABA: a message is received, a delivery status changes, a read receipt fires, a template is approved or rejected. This URL is configured automatically when you connect a WABA. **Not customer-configurable.**

### Outbound webhook (Xobito → your URL)

You can forward certain Xobito events to a URL of your own for integration with CRMs or automations. Configure at **Settings → Webhook Settings**. Outbound webhooks fire on:

* Contact — create, update, delete
* Status — create, update, delete
* Source — create, update, delete

They **do not** fire on message events, campaign events, template events, or ticket events.

See [Webhooks](/developers/webhooks-overview) for the payload shape and setup.

## Contact, Group, Status, Source

Xobito-specific concepts for organising people:

<CardGroup cols={2}>
  <Card title="Contact" icon="user">
    A single person with a phone number, optional first/last name, email, and custom fields.
  </Card>

  <Card title="Group" icon="users">
    A named collection of contacts — used to target a campaign.
  </Card>

  <Card title="Status" icon="circle-dot">
    A label such as "Hot lead", "Customer", or "Unsubscribed" — one per contact.
  </Card>

  <Card title="Source" icon="tag">
    Where the contact came from — "Website", "Referral", "Ad Campaign" — useful for reporting.
  </Card>
</CardGroup>

## Bot Flow, Message Bot, Template Bot

Three kinds of automations:

| Type             | Trigger                                         | Use for                                            |
| ---------------- | ----------------------------------------------- | -------------------------------------------------- |
| **Bot Flow**     | Customer sends any message or matches a keyword | Multi-step visual flows with branching logic       |
| **Message Bot**  | Keyword match on an incoming message            | Quick auto-reply with text or media                |
| **Template Bot** | Time delay or event trigger                     | Auto-send a template (e.g. follow-up after 2 days) |

See [Automations Overview](/automations/overview).

## Staff, Role, Permission

* **Staff** — a user invited into your Xobito workspace.
* **Role** — a named bundle of permissions (e.g. "Agent", "Manager", "Admin").
* **Permission** — a specific ability such as "View campaigns", "Edit contacts", "Reply in chat".

See [Team & Roles](/team/overview).

## Tickets

Xobito's ticketing module handles longer-running support cases that don't fit a live WhatsApp thread. Tickets have their own statuses (Open / Answered / Closed), priorities (Low / Medium / High / Urgent), and IDs in the format `TKT-000001`. See [Support Tickets Overview](/tickets/overview).

## Campaigns

A **campaign** sends an approved template message to a list of contacts — typically a group or a filtered segment. Campaigns can be scheduled in advance or sent immediately. Once a campaign runs, Meta processes each recipient individually and reports per-message delivery and read statuses back through the incoming webhook, which Xobito then surfaces in the campaign report.

Because campaigns always send templates, the message's category (Marketing or Utility) is inherited from the template you picked.

## Quick mental model

If you remember four things, you'll have a working grasp of how Xobito sits on top of WhatsApp:

<CardGroup cols={2}>
  <Card title="Meta owns the WABA" icon="building">
    Xobito is a client of your Meta account. Your WABA, your numbers, your templates all live with Meta.
  </Card>

  <Card title="Templates gate outbound" icon="shield">
    To message someone outside the 24-hour window, you send an approved template.
  </Card>

  <Card title="Sessions are computed" icon="clock">
    The 24-hour window is calculated live from the last inbound message — there's no stored timer to maintain.
  </Card>

  <Card title="Outbound webhooks are narrow" icon="webhook">
    Only Contact, Status, and Source events fire outbound. Messages, campaigns, and tickets do not.
  </Card>
</CardGroup>
