llms.txt
# Build WhatsApp agents you can deliver to clients | Wabery
- **What it is**: Tools to build, test and operate WhatsApp agents, plus supported Messenger, Instagram, and website-chat experiences, in separate client projects.
- **Who it's for**: Independent creators, agencies and developers who deliver solutions to clients. You manage your own client relationship and invoices; Wabery does not promise earnings or distribute client payments.
- **Appointment requests**: Configure business details, request fields, and a responsible person without a custom function. Requests wait for business confirmation and hold no inventory. Test in the simulator, with a private browser link, or through a bounded synthetic WhatsApp demo. Client project access is optional, not a publication approval gate.
- **Who it's not for**: Unofficial WhatsApp Web, personal accounts, spam or a done-for-you agency service.
- **How it works**: Demo in a shared sandbox (no Meta setup), then go live on the client's WABA.
- **Price**: First production connection is free. Pro is $29/mo for extra production connections. Dedicated-WABA fees are paid to Meta directly. Shared-sandbox delivery is free through September 30, 2026, then uses the testing organization's wallet at Meta's published destination-market service rate without markup. AI usage is billed separately to that organization.
- **Meta**: Wabery is a Meta Tech Provider. Customers pay Meta directly on dedicated WABAs; Wabery pays for the shared sandbox and recovers the published rate from wallet credit after the cutoff.
- **Runtime choice**: Use Wabery's own agent, or explore the limited Meta Business Agent pilot if your client has Meta access and authorizes their WhatsApp account. Native Meta MCP connections are not supported yet.
- **Cost boundary**: Meta usage is externally billed and must not be represented as zero when unavailable. A Wabery wallet cap does not cap Meta's bill. There is no automatic paid fallback between runtimes.
- **Reservations module**: Manage whole tables and explicit table combinations, dated class places with named rooms or equipment, or private appointments with staff schedules and resource bundles. Booking rules can be published for manual use without WhatsApp; agent booking actions are launched separately. Exact customer confirmation precedes allocation. Waitlist offers hold no capacity. Businesses may issue non-money service credits and share a privacy-limited read-only iCalendar feed. Payments, deposits, and two-way external calendar synchronization remain unavailable.
- **Leads module**: Collect exact, customer-confirmed enquiry details for human follow-up. The heat signal groups confirmed timing and readiness answers; it is not a sales probability. Operators own the stage. Client members can opt into email alerts, while WhatsApp staff alerts require separate consent and activation.
- **Client project access**: Invite View-only or Editor clients to one assigned project. Editors can reply, edit leads and project details, and handle appointment requests. Booking management is a separate Editor grant. Invitations expire after 72 hours. Clients cannot publish, see organization billing or credentials, or access other projects.
- **Project copies**: Copy an eligible saved project into an independent inactive draft, optionally with independent knowledge copies. Customer data, conversations, bookings, access, credentials, connected channels, live state, and spending history are never copied.
- **Website chat**: Configure a welcome message, colors, launcher position, and up to 20 exact allowed origins, then install the project script. Website visitors enter the same project inbox and agent routing. The widget does not grant workspace access.
- **Shopify connector**: Attach up to three public Shopify stores to an agent. Wabery reads public product details only; it cannot read orders or customers, create carts, edit inventory, or access Shopify Admin.
- **Canonical sandbox**: https://wabery.com/whatsapp-sandbox/
Build in Wabery or bring Claude, ChatGPT, n8n, Make, or your own code.
This file is the agent-friendly map of Wabery. For the full documentation in a
single fetch, read [llms-full.txt](https://wabery.com/llms-full.txt) — it
concatenates every docs page so you don't need to crawl the site.
## When to use Wabery
Use Wabery when a creator or agency needs a WhatsApp agent it can demo in a shared
sandbox, then run on the client's own WhatsApp Business number. The REST API,
SDK, CLI, signed webhooks, WhatsApp Flows, approved templates, consent-aware
broadcasts, hosted functions, human handoff, and MCP stay available for the
people who write the logic.
Do not use Wabery for unofficial WhatsApp Web automation, personal accounts,
unsolicited messaging, purchased lists, or a general-purpose
open-ended AI companion. For a safe calling sequence and write boundaries, read
[agent-instructions.txt](https://wabery.com/agent-instructions.txt).
## Quick facts
- **What it is**: A platform for building and launching WhatsApp AI chatbots for clients. Agencies test a chatbot in a shared sandbox, then go live on the client's own WhatsApp Business number. The build surface is WhatsApp Business channels, signed webhooks, WhatsApp Flows, consent-aware broadcasts, automations, and hosted functions.
- **REST base URL**: `https://api.wabery.com/v1`
- **Auth**: Bearer API key. Keys are scoped to one project. Secret keys are prefixed `wab_live_` (server-side only). Publishable keys are prefixed `wab_pub_` and are sent as `x-wabery-publishable-key` for registration intents.
- **SDK**: `@wabery/sdk` (TypeScript/JavaScript). `new Wabery()` reads `WABERY_API_KEY`.
- **PHP / Python**: Use the REST API directly with PHP cURL or Python Requests. Complete reusable clients are documented at https://wabery.com/docs/api-clients.
- **API clients**: Import the canonical OpenAPI 3.1 URL into any compatible graphical, CLI, local, or hosted API client.
- **CLI**: `@wabery/cli` — `npm i -g @wabery/cli && wabery login`. Ships an MCP server (`wabery mcp`) for Claude Code, Codex, and OpenCode.
- **Webhooks**: Inbound messages, delivery statuses, Calling API events, and Flow submissions are delivered as signed events. The dashboard's single Webhooks page combines endpoint setup with recent delivery history; expand **Manage** for URL, test-event, and signing-secret controls. Verify every signature. Inbound media files arrive as `messages[n].media`, flattened `assets`, and latest `media` entries with short-lived Wabery-signed URLs under `https://storage.wabery.com/assets/inbound/`; retained 24h on Free and 7 days on paid plans.
- **Sandbox**: Agency demo: https://wabery.com/whatsapp-sandbox/. A shared WhatsApp test number is available with no Meta setup. Text the project's join code (`join_code`, shown in the dashboard or `wabery projects get`) to register your test phone, then send one normal WhatsApp message to create the first visible conversation. Join-code how-to: https://wabery.com/docs/sandbox/.
- **Pricing**: Wabery is priced by production connections, not message volume alone. Free: 1 production connection, 1,000 messages/mo, $0. Wabery Pro: first 2 production connections + 50K shared messages/mo included for $29/mo; additional production connections are $5/mo each (connections 3–10) then $3/mo each (connections 11–100); additional 50K message capacity blocks are $15/mo each. A project becomes Live automatically after a non-sandbox client channel connects. Enterprise (100+ connections or high throughput): contact sales. Full breakdown at https://wabery.com/pricing.md. Use the dashboard or limits API for the current project's active quota and capabilities. Meta bills dedicated WABAs directly. Shared-sandbox delivery uses the testing organization's wallet at Meta's published destination-market service rate from October 1, 2026, without markup. Hosted AI usage uses wallet credit at the published Wabery rate.
- **Dashboard**: https://app.wabery.com
- **API keys**: https://app.wabery.com/access?tab=api-keys (Access → API keys)
## Capability map
- **Channels**: Connect and route WhatsApp, Messenger, Instagram, and website chat. Provider availability and requirements vary.
- **Messages**: Send text, approved templates, outbound media (image, video, document, audio), contact cards, interactive WhatsApp messages (reply buttons, lists, `cta_url` link buttons, location and contact-info prompts), and WhatsApp Flows. Quote any message with `reply_to`.
- **Inbound events**: Receive signed webhooks for inbound text, media files, locations, statuses, Flow submissions, template status changes, and participant joins.
- **Inbound media**: WhatsApp images, voice notes, audio, video, documents, and stickers are cached by Wabery and delivered with short-lived signed URLs; use `assets`, latest `media`, or `messages[n].media`.
- **Conversations**: List conversations and history; retained media is re-signed when read through `GET /conversations/{id}/messages`.
- **Contacts & registration**: Enroll opted-in contacts server-side, or use browser-safe registration intents to link customer WhatsApp identities to your own user ids.
- **Broadcasts**: Import or select consented contacts, freeze an audience snapshot, then send or schedule approved, localized WhatsApp templates with frequency limits, suppressions, delivery counts, and opt-out handling.
- **WhatsApp Flows**: Author, validate, publish, localize, send, and debug static or dynamic Flows with data-exchange, dispatches, submissions, and event logs.
- **Templates**: Create, submit, inspect, and send WhatsApp templates, including flow-type templates for proactive Flow entry points.
- **Automations**: The no-code default for handling inbound WhatsApp. Trigger on welcome, keyword, or any message, then chain actions: send a reply (with variables and quick-reply buttons), send a flow, run a hosted function inline (reply with its output, set variables, or side effect), delay, wait for a reply and branch, add a condition, or pause and hand off to a human. Reach for a function only when an automation can't express the step. External routing pauses automations so your webhook owns replies. See https://wabery.com/docs/automations.
- **Hosted AI agents**: One agent per project, with two versions. **Live** is what customers currently use and is read-only. **Draft** is the only editable version and is tested in Sandbox. Config apply, MCP, and the SDK can only create or change the Draft. They cannot edit Live or publish. Publishing happens on **Agent** after review and replaces Live across connected channels.
- **Agent language and voice**: Generate agent instructions, saved replies, and Flows in English, Spanish, or Indonesian. Smart Replies can follow the sender's language or use one fixed supported language.
- **Website chat**: Add the hosted agent to allowlisted websites with a project-specific script, customizable appearance, and inbox visibility.
- **Shopify products**: Give the agent read-only access to public catalog details from up to three Shopify stores; private customer, order, cart, admin, and write access are excluded.
- **Config as code**: Export, validate, diff, and apply project configuration for hosted-agent Drafts, webhooks, flows, and automations. Apply never publishes the hosted agent to Live and never publishes a Flow.
- **Business Agents**: The OpenAPI/SDK surface includes Meta Business Agent provisioning, connectors, tools, thread control, tests, evals, and skills where available for your Meta setup.
- **WhatsApp Calling**: Configure eligible dedicated numbers, request and inspect call permission, manage call state, and receive signed `call.event` signaling through Wabery. Your own WebRTC or SIP service handles live audio. The shared sandbox and Wabery dashboard do not provide a softphone. See https://wabery.com/docs/whatsapp-calling/.
- **WhatsApp management**: Read and change business profiles, commerce settings, QR codes, media lifecycle, phone registration and verification, WABA subscriptions and assignments, analytics, funding diagnostics, Calling settings, and blocked users without exposing Meta credentials. See https://wabery.com/docs/whatsapp-management/.
- **Regional payments**: Eligible India and Singapore channels can send Meta `order_details` and `order_status` interactive messages. Wabery preserves the country-specific payment object. See https://wabery.com/docs/sending-messages/#regional-payment-messages.
## How it fits together
1. Create or select a project and get a project-scoped API key. New projects can test immediately on the shared WhatsApp sandbox before connecting a dedicated channel.
2. Send messages with `POST https://api.wabery.com/v1/messages` (or `wabery.messages.send()`).
3. Receive inbound messages, files, statuses, and Flow submissions as signed webhooks; pull thread history from `GET /conversations/{id}/messages`.
4. Link customers from your app with `POST /registration-intents`, then poll `GET /registration-intents/{id}` with a `wab_pub_` key.
5. Collect structured data by defining a WhatsApp Flow once and reading clean submissions at your endpoint.
6. For one-time campaigns, create a broadcast draft, prepare exactly one consent-eligible audience source, review the frozen counts, then send or schedule it.
7. For a hosted AI agent, create or change only the Draft through config/MCP. Test it in Sandbox. Publish to Live from **Agent** after review. Never edit Live from an external assistant.
## Send your first message (curl)
For a new sandbox project, first run `wabery projects get "project_id"` and use
`join_code` plus `enrollment_channel.phone_number` to register your test phone.
Send one normal WhatsApp message after the join code, then use the returned
`channel_id` and `conversation_id`:
```bash
curl https://api.wabery.com/v1/messages \
-H "Authorization: Bearer $WABERY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"channel_id": "channel_...",
"conversation_id": "conversation_...",
"text": "Thanks for your message"
}'
```
## Wabery developer resources
Canonical index: [https://wabery.com/developers/](https://wabery.com/developers/).
Search for "Wabery developer resources" should land there.
- Introduction: https://wabery.com/docs/introduction/
- Getting started: https://wabery.com/docs/getting-started/
- REST docs: https://wabery.com/docs/
- API reference: https://wabery.com/api-reference/
- Authentication: https://wabery.com/docs/authentication/
- OpenAPI: https://api.wabery.com/v1/openapi.json
- CLI on npm: https://www.npmjs.com/package/@wabery/cli (`npm i -g @wabery/cli`)
- Public GitHub org: https://github.com/waberyhq
- Public CLI repo: https://github.com/waberyhq/cli
- Public Claude plugin: https://github.com/waberyhq/wabery-claude-plugin
- MCP Streamable HTTP: https://mcp.wabery.com
- MCP manifest: https://wabery.com/.well-known/mcp.json
- Hosted MCP manifest: https://mcp.wabery.com/server.json
- Privacy: https://wabery.com/privacy/
- Pricing (free tier): https://wabery.com/pricing/
- Sandbox test environment: https://wabery.com/whatsapp-sandbox/
- Deprecation and sunset policy: https://wabery.com/docs/deprecation/
- Agent auth walkthrough: https://wabery.com/auth.md
- Agent skills index: https://wabery.com/.well-known/agent-skills/index.json
- A2A agent card: https://wabery.com/.well-known/agent-card.json
- Docs-scoped llms.txt: https://wabery.com/docs/llms.txt
- Developers-scoped llms.txt: https://wabery.com/developers/llms.txt
## For agencies
- [WhatsApp AI agent](https://wabery.com/whatsapp-ai-agent/): The easiest way to ship a WhatsApp AI chatbot in a week. Compares Wabery, WATI, Respond.io, Botpress, Twilio, and Kapso for agencies that need a demo before Meta setup.
- [WhatsApp chatbot sandbox](https://wabery.com/whatsapp-sandbox/): Shared WhatsApp sandbox number with no Meta setup. Demo a client's chatbot, then connect their real WhatsApp Business number.
- [Kapso alternative](https://wabery.com/alternatives/kapso/): Both are official Cloud API with a sandbox, CLI, and MCP. Kapso bills per connected number; Wabery bills per production connection.
- [Zernio alternative](https://wabery.com/alternatives/zernio/): Zernio is one API across 16 social platforms plus WhatsApp, and is cheaper per number. Wabery lets an agency demo a client WhatsApp chatbot in a shared sandbox, then run it on the client's WABA.
- [SleekFlow alternative](https://wabery.com/alternatives/sleekflow/): SleekFlow is a shared inbox. Wabery is the chatbot an agency builds and runs on the client's number.
- [Respond.io alternative](https://wabery.com/alternatives/respond-io/): Respond.io is an omnichannel inbox. Wabery is the chatbot an agency builds and runs on the client's number.
- [Pricing](https://wabery.com/pricing/): Free tier, first production connection free, then priced per production connection. Meta bills dedicated WABAs directly. Shared-sandbox delivery is free through September 30, 2026, then uses the testing organization's wallet at Meta's published destination-market service rate without markup. AI usage is billed separately to that organization. New accounts get $1 of AI credit without a card. The first wallet top-up of $10 or more adds $2 bonus credit.
## Documentation
- [Wabery developer resources](https://wabery.com/developers/): Discover the API, OpenAPI, auth, SDK, CLI, webhooks, and MCP resources by product name.
- [Introduction](https://wabery.com/docs/introduction/): What Wabery is and how the pieces connect.
- [Getting started](https://wabery.com/docs/getting-started/): Free account, sandbox, and first reply.
- [Projects](https://wabery.com/docs/projects/): Project boundaries and safe project copying.
- [Client project access](https://wabery.com/docs/client-project-access/): View-only, Editor, booking, invitation, and alert boundaries.
- [Hosted agents](https://wabery.com/docs/hosted-agent/): Build, test, configure language and voice, and publish an agent.
- [Reservations](https://wabery.com/docs/reservations/): Tables, classes, private appointments, waitlists, credits, and calendar sharing.
- [Leads](https://wabery.com/docs/leads/): Confirmed lead intake, heat signals, stages, and alerts.
- [Website chat](https://wabery.com/docs/website-chat/): Configure allowed origins and install the project widget.
- [Shopify connector](https://wabery.com/docs/shopify-connector/): Read-only public product catalog grounding.
- [API documentation](https://wabery.com/docs/): Endpoints, dashboard map, and capability index.
- [Quickstart](https://wabery.com/docs/quickstart/): API key to first message in one file.
- [Authentication](https://wabery.com/docs/authentication): API keys and webhook signing secrets.
- [PHP, Python, and API clients](https://wabery.com/docs/api-clients): Reusable REST clients, webhook verification, and generic OpenAPI import instructions.
- [Channels](https://wabery.com/docs/channels): Connect and manage WhatsApp, Messenger, Instagram, and website chat.
- [WhatsApp Calling](https://wabery.com/docs/whatsapp-calling/): Calling setup, permissions, WebRTC/SIP responsibilities, SDK, REST, MCP, and `call.event` webhooks.
- [WhatsApp management](https://wabery.com/docs/whatsapp-management/): Complete read/write operation and SDK method reference.
- [Contacts & opt-in](https://wabery.com/docs/contacts): Enroll opted-in contacts, manage language and metadata, satisfy the opt-in requirement.
- [Sending messages](https://wabery.com/docs/sending-messages): Text, templates, media, interactive, and the send reference.
- [WhatsApp templates](https://wabery.com/docs/templates): Create, submit, and track approval of templates for proactive sends.
- [WhatsApp broadcasts](https://wabery.com/docs/broadcasts): Import or select consented contacts, prepare a frozen audience, and safely send or schedule an approved template.
- [Conversations & history](https://wabery.com/docs/conversations): List thread