Skip to content
Start free

Introduction

Wabery is the messaging API for WhatsApp Business, Instagram Direct, and Facebook Messenger. One consistent interface for customer conversations, with the hard parts handled for you: channel integrations, media normalization, the WhatsApp Flows encryption handshake, signed event delivery, hosted function runtime, and retries.

You bring the product logic. Wabery carries the conversation.

Start here. You do not need a production WhatsApp number for the first test.

  1. Open your first project in the dashboard and copy the sandbox join code.
  2. Send that join code to the shared Wabery sandbox number from your test phone.
  3. Send one normal WhatsApp message after the join code; that creates a conversation.
  4. Run wabery login, then wabery doctor, or create a key under Access → API keys.
  5. Follow the Quickstart to send your first reply.

After that first loop works, choose the next layer: signed webhooks for inbound events, WhatsApp Flows for structured forms, hosted functions for server-side workflow logic, or a dedicated WhatsApp channel for production traffic.

The project navigation keeps everyday work visible and groups authoring tools that are usually opened less often:

Navigation Use it for
AI builder Create or improve the project’s hosted agent. Live is what customers use and is read-only. Changes happen on Draft, are tested in Sandbox, and replace Live only after Review & publish.
Build tools → Automations Create no-code triggers and actions.
Build tools → Flows Build WhatsApp forms and inspect submissions.
Build tools → Functions Inspect hosted TypeScript functions, deployments, and logs.
Build tools → Templates Create and monitor WhatsApp message templates.
Access → Connections Connect or disconnect ChatGPT, Claude, Codex, and local agents.
Access → API keys Create, scope, reveal, and revoke project API keys.
Webhooks Configure the endpoint and signing secret, then inspect delivery status, retries, response codes, and payloads.
Project settings Find the sandbox join code and project-level defaults.
  1. Start with a channel — use the shared sandbox immediately, or connect a dedicated WhatsApp Business account later.
  2. Send & receive — call the API (or SDK) to send messages; receive inbound messages, files, and statuses as signed webhooks, and pull thread history from the conversations API.
  3. Register customers — use registration intents to link a customer’s WhatsApp identity to your own user id without exposing a secret key.
  4. Collect structured data — define a WhatsApp Flow once and get back clean submissions at your endpoint.
  5. Broadcast safely — prepare a frozen, consent-eligible audience, review its counts, then send or schedule an approved WhatsApp template.
  6. Run workflow logic — deploy hosted functions when an automation or agent tool needs server-side TypeScript.
  7. Hosted AI agents — create or change only the Draft. Test it in Sandbox. Publish to Live in the AI builder after review. External AI, MCP, and config apply cannot edit Live.

Wabery’s public API, SDK, CLI, and MCP server cover the full messaging workflow:

Area What you can do
Channels List connected WhatsApp, Instagram, and Messenger channels, set routing modes, inspect routing warnings, and check WhatsApp publish readiness.
Messages Send text and channel-supported media, plus WhatsApp templates, interactions, reactions, locations, stickers, and Flows. Track delivery with message.status webhooks.
Inbound events Receive signed message.received webhooks for text, media files, locations, contacts, unsupported Cloud API envelopes, and other inbound message types. Media files include short-lived Wabery download URLs.
Conversations List conversations and message history; retained inbound media is re-signed when read through the conversation history API.
Contacts & registration Enroll opted-in contacts server-side, or mint browser-safe registration intents that link a customer’s WhatsApp identity to your own user id.
Broadcasts Import or select consented contacts, freeze an audience snapshot, then send or schedule approved localized WhatsApp templates with frequency limits, suppressions, and delivery counts.
WhatsApp Flows Author static or dynamic Flows, publish them to Meta, localize by config key, run data-exchange endpoints, inspect dispatches, submissions, and flow event logs.
Hosted functions Deploy project-scoped TypeScript handlers, test them, expose them as Business Agent or MCP-callable tools, and inspect invocation logs.
Templates Create, submit, inspect, and send WhatsApp templates, including flow-type templates for proactive Flow entry points.
Automations Handle conversations with no code: trigger on welcome, keyword, or any message, then chain actions — send replies, send flows, run a function inline, delay, wait for a reply, branch on a condition, or hand off to a human. Switch to external routing when your webhook owns the reply logic.
Config as code Export, validate, diff, and apply project configuration for webhooks, flows, and automations.
Business Agents Use the REST/OpenAPI surface to provision Meta Business Agents, connectors, tools, thread control, tests, evals, and skills where available for your Meta setup.
Start building — free