Skip to main content
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.

Template categories

When you submit a template from Xobito, you pick a category. The current template flow supports two:
CategoryTriggered byTypical use
Marketing (MARKETING)Template submitted with category: MARKETINGOffers, launches, promotions
Utility (UTILITY)Template submitted with category: UTILITYOrder confirmations, transactional updates, reminders
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.

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.
Xobito computes the session state dynamically — there’s no session_expires_at field stored in the database. The 24-hour check is evaluated from last_msg_time on the chat record (the timestamp of the customer’s most recent incoming message). If more than 24 hours have elapsed since that time, the inbox blocks free-form replies and prompts you to send a template.

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 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 for the payload shape and setup.

Contact, Group, Status, Source

Xobito-specific concepts for organising people:

Contact

A single person with a phone number, optional first/last name, email, and custom fields.

Group

A named collection of contacts — used to target a campaign.

Status

A label such as “Hot lead”, “Customer”, or “Unsubscribed” — one per contact.

Source

Where the contact came from — “Website”, “Referral”, “Ad Campaign” — useful for reporting.

Bot Flow, Message Bot, Template Bot

Three kinds of automations:
TypeTriggerUse for
Bot FlowCustomer sends any message or matches a keywordMulti-step visual flows with branching logic
Message BotKeyword match on an incoming messageQuick auto-reply with text or media
Template BotTime delay or event triggerAuto-send a template (e.g. follow-up after 2 days)
See 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.

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.

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:

Meta owns the WABA

Xobito is a client of your Meta account. Your WABA, your numbers, your templates all live with Meta.

Templates gate outbound

To message someone outside the 24-hour window, you send an approved template.

Sessions are computed

The 24-hour window is derived from last_msg_time — not stored as a separate field.

Outbound webhooks are narrow

Only Contact, Status, and Source events fire outbound. Messages, campaigns, and tickets do not.