New campaign
Send an approved template to many people at once. Pick a template, choose who gets it — one of your lists, a segment, hand-picked contacts, or a spreadsheet — then review and send.
body_1 = the {{1}} blank in your message.Pacing & schedule — drip-send instead of one burst
Leave the rate empty to send everything at once. A number that has not sent marketing before should ramp up: sending hundreds in one go is what gets a number's quality rating cut.
Invite a client
Generate a one-time link and send it to a client. They open it and finish connecting with WhatsApp — the guided signup auto-creates their account, number and API key. No link is consumed until they finish. Expires in 24 hours.
Access requests
New sign-ups awaiting approval. Approving creates the client account and lets their number onboard one WhatsApp number (payment approval step).
Loading…
Studio add-ons
The no-code builders — templates, WhatsApp forms and chatbots. Off by default and sold per client. Admins always see all three regardless of these switches.
Platform fees
Anekant AI's own fee, and nothing else. WhatsApp conversation charges are billed by Meta directly to the client's own WhatsApp Business Account — they never appear here. This is a ledger, not a payment rail: recording a payment writes a line, it does not take money, and no card is stored anywhere.
Ledger
Dashboard access
WhatsApp numbers allowed to sign in. Admin sees every client; a tenant number sees only its own. A tenant can have multiple numbers.
Authorized numbers
API access
Everything your developer needs to send messages from your own systems. Hand them this page and the API documentation — nothing else is required. You do not need a Meta App ID, App Secret or access token; we hold those.
Your numbers
The phone number ID goes in the URL path — POST /v1/{phone_number_id}/messages. It is an identifier, not a phone number: sending your display number there returns 404. Click any value to copy it.
API keys
The key goes in the Authorization: Bearer … header. We store only a hash of it, so the full key is shown once when it is created and can never be displayed again — if it is lost or leaked, ask us to revoke and reissue.
Webhooks — events we push to your server
A webhook is a URL on your server that we call. We POST each incoming message and each delivery status to it within seconds, so your system knows what happened without asking us. Every request is signed, and retried with backoff if your server is down.
Verify our signature
Every request carries X-Wa-Signature-256: sha256=<hex>, an HMAC of the raw body using your signing secret. Verify it before trusting a payload — and hash the bytes you received, not a re-serialised object.
Usage — what you sent
WhatsApp charges for business-initiated conversations. Meta bills these directly to your WhatsApp Business Account's own payment method — we don't charge you for them and never see your card. Replies within 24 hours of a customer message are free.
Manage the payment method Meta charges, and see WhatsApp's own invoices, in your WhatsApp Manager. The counts below are ours — what left this platform — so treat them as an upper bound on what WhatsApp will charge, never as the bill: Meta charges per 24-hour conversation, and several messages inside one conversation are a single charge.
Daily sending caps
Caps are per number, not per account. Each of your numbers has its own daily allowance for business-initiated messages — they are not pooled, so two numbers capped at 500 send up to 1000 between them. Replies inside a customer's 24-hour window are never capped. The count resets at midnight IST, and failed sends do not count against it. Caps grow week by week as a number builds a sending history; there is nothing to ask for and nothing to do.
When a cap is reached, further business-initiated sends are refused for the rest of the day and nothing is charged — replies to customers keep going. A paused number sends nothing at all: we simulate the send and report it back as failed, so no message reaches a customer. If a number of yours shows as paused, contact us — .
Your Anekant AI platform fee
This is our fee for the platform — the only thing we invoice you for. It is separate from anything WhatsApp charges: Meta bills your conversation charges directly to your own WhatsApp Business Account, and we never see your card. Questions about your invoice? Contact us — .
Sending & limits
Limits are per number, not per client. Each of an organization's numbers has its own independent daily quota — they are not pooled or shared, so two numbers each capped at 500 send up to 1000 between them. Enforced on our API, separate from Meta's own limits. Optionally grow the caps by a % each week. Blank = unlimited. Resets at midnight IST; failed sends don't count.
Pause a blocked number. When Meta blocks or flags a number, pause it here: we stop calling the upstream entirely and answer sends exactly as Meta would — a 200, then a failed status webhook. Blocked recipients below work the same way per customer number; they auto-add on a block-class failure and auto-clear when the customer next messages in.
Connect a Telegram group
Mirrors a number's WhatsApp inbox into a Telegram forum — one topic per contact. Staff reply in the topic and it goes out as a normal WhatsApp message, logged and billed like any other send. Use this for numbers nobody can open on a phone.
- In @BotFather:
/newbot, then/setprivacy→ pick the bot → Disable. Without this the bot cannot see staff messages and the bridge looks dead. - Create the group, then Settings → enable Topics. This converts it to a supergroup and changes its ID, so copy the ID only after this step.
- Add the bot to the group (after step 1 — the privacy setting only applies at join time), and promote it to admin with "Manage Topics".
- Send any message in the group, then read the
chat_id— it starts with-100.
Connected groups
Disconnecting stops the mirror both ways. Topics and history stay in Telegram, and reconnecting the same number reuses them.
New client
Creates the organization only. Add its number below, then issue the API key — that key works for every number this client ever gets.
Add a WhatsApp number
Attach a number to a client. A client can own any number of these — adding one never changes their API key.
API key
This rotates, it does not add. Issuing a key destroys the client's current key — their live integration starts failing with 401 immediately. A key is per client and already covers all their numbers, so adding a number never needs a new key. Only use this for a brand-new client, or a deliberate rotation.
Client webhooks
Forward a tenant's inbound messages and delivery/read/failed statuses to their own URL. A template send returns 200 the moment Meta queues it — a later failure only ever surfaces here. Payloads are Meta-shaped, signed with HMAC-SHA256 in the X-Wa-Signature-256 header, and retried with backoff up to 8 times.
Dedicated routing for a shared number: with a keyword set, this endpoint receives only messages whose text starts with it, and those messages are withheld from catch-all endpoints. Leave blank for a normal catch-all endpoint.
