Skip to content
Chassi

Meta official API · Multi-tenant · Privacy-first

Official WhatsApp + AI that answers the way you would.

Chassi runs WhatsApp Business (Meta's official API) with an assistant that sells, supports and schedules — from a copilot with human approval to full autopilot. Flexible and safe, never rigid.

  • Meta official API
  • White-label multi-tenant
  • Durable queues (RabbitMQ)
  • Privacy & audit trail

Inbox

An inbox that understands the 24-hour window.

Conversations, labels, groups, media and templates in one place. The panel knows when it can reply freely and when it needs an approved template — and shows it before you type.

  • Text, image, video, audio, document, sticker and reactions
  • Quoted replies, per-conversation labels and groups via the Groups API
  • Sent, delivered and read ticks in realtime
  • 24-hour window indicator with countdown
app.chassi · Conversations
Simulation
Messages
AD
EC

Ethan Clark

+1 512 ***-4321Hot lead

Today

Hi! I saw the leather jacket on your site. Still available in M?

2:28 PM

Hi Ethan! Yes, a new batch just arrived today.

2:29 PM

Agent: Marina

Great. Do you deliver to Austin? I need it by Friday 😬

2:30 PM
Sticker
2:30 PM

We do! Ships today, arrives within 2 business days — plenty of time 😄

2:31 PM

Agent: Marina

Sticker
2:32 PM

Perfect, I want to order. Can I pay in 3 installments?

2:32 PM

You can, Ethan! Up to 3 interest-free card payments. Sending the order link now, just confirm it here.

2:33 PM

Agent: Marina

Sticker
Agent: Marina ·2:34 PM
Sticker
2:34 PM
Window open · 23h 41m left
Type a message

Flows & automation

Automation you can see — and control.

Every inbound message goes through a visible flow: tenant identification, Meta signature validation, contact base, consent, AI intent classification and reply. With a switch where you decide.

  • Visual service flow, step by step
  • Consent and opt-out respected before any reply
  • Decision by intent: human, copilot or autopilot
  • Per-tenant automatic reply switch
app.chassi · Service flow
Simulated
Webhook received
AD

Service flow

Steps executed when a message reaches the tenant number

Webhook received

Meta notifies a new message on the tenant number (phone_number_id).

Meta signature validated

X-Hub-Signature-256 checked before any processing.

Contact identified

Phone found in the base; the message joins the conversation history.

Consent?

We only reply to people who agreed to receive WhatsApp messages.

YesNo

Intent classified

IA

The AI reads the message and suggests the right queue.

SupportSalesBillingScheduling

Autonomy level

Set per tenant: human, copilot or autopilot.

HumanCopilotAutopilot

Reply sent

24h window closed — only an approved template can go out.

template: msg_default

Default automatic reply

Confirmation sent to the identified contact with consent.

Enabled — template sent after consent

End of flow

Everything logged in the conversation and the audit trail.

StepDecisionReplyAI

Copilot → autopilot

From copilot to autopilot, at your pace.

The AI learns your service personality, suggests replies for approval and, when you want, answers on its own within the limits you set. Every autonomy level is recorded in the audit trail.

  • One-click suggestion to approve or edit
  • Per-client persona and knowledge base
  • Adjustable autonomy: suggest only → answer FAQs → schedule → autopilot
  • Guardrails the AI cannot bypass
app.chassi · Chat with Ethan Clark
Simulation
Messages
AD
EC

Ethan Clark

+1 512 ***-4321

Today

Hi! Is the leather jacket still available in M?

10:02 AM

Hi Ethan! Yes, a new batch just arrived today.

10:03 AM

Agent: Marina

Can I pay in 3 installments?

10:05 AM

You can, Ethan! We split it into up to 3 interest-free card payments. Want me to send the order link?

10:05 AM

Agent: Marina

And returns, how do they work if it doesn’t fit?

10:07 AM

IA

No worries, Ethan! You have 30 days to swap it for another size, just message me here.

10:07 AM
Type a message

Guaranteed delivery

No message lost, none duplicated, no number burned.

Durable RabbitMQ queues with publisher confirms, atomic claim, retries with backoff, a dead-letter queue and cron recovery. Broadcasts respect Meta's tier: when saturated, they defer — they don't fail.

  • Publisher confirms + atomic claim: no duplicate sends
  • Retry with backoff and a DLQ visible in the panel
  • Recovery cron every minute
  • Meta tier rate limit with automatic deferral
app.chassi · WA traceability
Simulated
WA traceability
AD

WA traceability

Queue, Meta tier and failures by reason — in realtime

Sent today

1,203

last 24h

Delivered

1,140

last 24h

Read

862

last 24h

Failed

5

last 24h

  1. Publish

    ✓ confirm

  2. Durable queue

    notifications.whatsapp

  3. Atomic claim

    UPDATE … RETURNING

  4. Meta API

    POST /messages

  5. Status

    sent → delivered → read

Tier TIER_1KUnique today: 1000/1000

Deferred: 188

Tier saturated — sends deferred, not failed.

Queues (RabbitMQ)

QueueDepthConsumers
notifications.whatsapp02
notifications.email01
notifications.sms01
notifications.dlqDLQ20

Failures by reason

JANELA_FECHADAMore than 24h since the contact last replied — only approved templates can be sent.3
DESTINATARIO_INVALIDOThe recipient cannot receive the message (no WhatsApp or blocked the sender).2
RATE_LIMITSend limit reached (tier/throughput/spam) — retried with an interval.0
TEMPLATE_INVALIDOTemplate missing, rejected, paused or with wrong parameters.0
INDISPONIVELTemporary Meta instability — automatic retry resolves it.0

Templates & broadcasts

Approved templates, broadcasts that respect Meta's limits.

Sync, create and validate templates with a variable catalog and live preview. Broadcast with automatic opt-out, scheduling and failure reports by category.

  • Approval status in realtime (Meta webhook)
  • Catalog variables instead of loose {{1}}
  • Opt-out and consent respected on broadcast
  • Campaign report by failure reason
app.chassi · WhatsApp templates
Simulated
WhatsApp templates
AD

WhatsApp templates

Catalog synced with Meta · live preview

boas_vindas_v2pt_BRAPPROVED

UTILITY

lembrete_consultapt_BRAPPROVED

UTILITY

promo_setembropt_BRREJECTED

MARKETING

confirmacao_pedidoen_USAPPROVED

UTILITY

Template approved by Meta (webhook) · lembrete_consulta

Bulk dispatch

Done

1,240 contacts · 37 opt-outs excluded · 1,203 queued

188 deferred (tier)

Appointment reminder

Hi {{1}}, your appointment is confirmed for {{2}}. Can we count on you?

Reply here to confirm or reschedule

09:41

Confirm
Reschedule

Realtime & PWA

Realtime in the browser and in your pocket.

Socket.IO with automatic polling fallback, Web Push for the installed app and a panel that works as a mobile app — with 44px touch targets and iOS safe areas.

  • Several agents at once, with conversations split by label
  • New messages show up before you refresh
  • If the socket drops, polling takes over unnoticed
  • Push notifications with the app closed
  • Installable as a PWA on iOS and Android
app.chassi · Conversations
reconnected
Messages
MACA
AD
EC

Ethan Clark

+1 512 ***-4321Agent: Marina

Today

Morning! I placed the order last night.

9:12 AM

Morning, Ethan! We got it, it’s being packed.

9:14 AM

Agent: Marina

Hi! Has my order shipped yet?

9:40 AM

It has, Ethan! Arrives by tomorrow. Sending the tracking now.

9:41 AM

Agent: Marina

Type a message

$ socket: reconnect · resync ok

$ wa:status → sent · r4

9:41
NS

Northwind Store

Business account

Today

Morning! I placed the order last night.

9:12 AM

Morning, Ethan! We got it, it’s being packed.

9:14 AM

Hi! Has my order shipped yet?

9:40 AM

It has, Ethan! Arrives by tomorrow. Sending the tracking now.

9:41 AM
Message

Chassi · Ethan Clark

It has, Ethan! Arrives by tomorrow. Sending the tracking now.

9:41 AM

Security

Real multi-tenancy: isolation, encryption, permissions and audit.

Per-tenant Meta credentials encrypted at rest (AES-256-GCM), role-based permissions, an append-only audit log and guardrails the AI cannot bypass.

  • One number, one credential and one panel per client
  • Granular permissions (wa.send, wa.template.manage, wa.config.manage…)
  • Audit of every admin action — who, when and from where
  • Configurable data retention and purge
app.chassi · Security
Simulated
Tenants
AD

Tenants

One number, one credential and one panel per client

CL

Clínica Vida

vida.chassi.app

phone
5511 9xxxx-0001
token
enc:v1:••••
tier
TIER_1K
LO

Loja Vértice

vertice.chassi.app

phone
5511 9xxxx-0002
token
enc:v1:••••
tier
TIER_10K
ES

Escola Nova

escolanova.chassi.app

phone
5521 9xxxx-0003
token
enc:v1:••••
tier
TIER_1K

access_token encrypted at rest (AES-256-GCM) — key per environment, never in the database.

Plans

Plans built around your operation.

No public price list: it depends on conversation volume, modules and the AI autonomy level. We talk, understand the operation and build the proposal.

Essential

To start on official WhatsApp

  • Full inbox
  • Templates and broadcasts
  • Guaranteed delivery (queue + DLQ)
  • 1 number
Talk to sales

Operations

For support and sales teams

  • Everything in Essential
  • Copilot with approval
  • Labels, groups and catalog
  • Permissions and audit
Talk to sales

Enterprise

To operate at scale with AI

  • Everything in Operations
  • Autopilot with guardrails
  • Per-unit persona and knowledge
  • White-label multi-tenant
Talk to sales

All plans use Meta's official API. Meta conversation fees are passed through without markup.

FAQ

What everyone asks before trying

Is it the official WhatsApp API?
Yes. Chassi uses Meta's WhatsApp Business Platform (Cloud API) exclusively. No phone automation, no shared numbers — your number, your WABA, your credentials.
Do I need a new number?
You can use a new number or migrate an existing one to the Cloud API. We help with business verification and webhook setup.
Does the AI answer on its own?
Only if you want. You choose the autonomy level: the AI can only suggest replies for human approval, answer FAQs, schedule, or run on autopilot within guardrails you define.
How does the 24-hour window work?
Meta's rule: after the contact writes, you have 24 hours to reply freely. Outside that window, only approved templates. The panel shows the window state before you type and guides you to a template when needed.
What if Meta limits my sends?
Every number has a messaging tier. Chassi counts recipients in the last 24 hours and, near the limit, defers sends instead of failing — protecting your number's quality.
Is my data isolated?
Yes. Each client is a tenant with encrypted credentials, its own conversations and permissions. The audit log records every admin action. Retention and purge are configurable.
Does it work on mobile?
The panel is a PWA installable on iOS and Android, with push notifications and realtime. If the connection drops, it falls back to polling automatically.
How much does it cost?
There's no public price list: it depends on volume, modules and AI autonomy. Talk to sales and we'll build a proposal for your operation.

Contact

Talk to people who run WhatsApp at scale.

Tell us how your operation works today. The conversation happens where the platform lives: on WhatsApp.

Message directly

The button opens WhatsApp with a message built from the fields above — you review and send.