Same DM API as your other channels
Chats and messages use the endpoints you already call for Messenger, Instagram and Telegram — one contract, one inbox shape.
Run WhatsApp Business conversations through the same API as your Messenger, Instagram and Telegram DMs. Postproxy handles Embedded Signup, the 24-hour window, message templates and phone number administration.
Connect a WhatsApp Business Account once and answer customers from your own app.
Free plan · No credit card · Live in under 5 minutes
Chats and messages use the endpoints you already call for Messenger, Instagram and Telegram — one contract, one inbox shape.
Create templates or copy Meta's pre-approved library, and get a webhook when review finishes. No polling Business Manager.
Coexistence onboarding links a number that's still in the WhatsApp Business app. The team keeps answering from the phone; you see the same chats.
Reply buttons, lists, call-to-action URLs, catalog products and Flows — with the option id you assigned coming back on the reply.
Every phone number on the account is a placement with its quality rating and messaging tier, so you can route and monitor per number.
Ad referrals are captured on the chat, and the Conversions API reports purchases and leads back to Meta for optimization.
$
View full documentation for all platform-specific features for WhatsApp
Sending one test message from the Cloud API sandbox is the easy part. Production WhatsApp messaging means Embedded Signup, per-number registration, the 24-hour window, a template library that Meta reviews and can pause, and a permanent on-call rotation for "why didn't this one reach the customer?"
Social media integration is not a one-off job — it's a constant commitment. Platforms change their APIs, scopes, limits, and policies on their own schedule. Every change becomes your problem unless someone else is absorbing it.
That's exactly what Postproxy does for WhatsApp — and every other platform we support — so your team ships features instead of chasing failed publishes.
WhatsApp lands in the same chats and messages endpoints as your social DMs — not a second stack with its own auth, shapes and webhooks.
Every chat reports whether a free-form reply is allowed, so your agent or your code knows when to reach for a template instead of guessing.
Bring a number that's live in the WhatsApp Business app. It keeps working on the phone while you build against the API.
Business profile, display name, username, blocked users, groups and number quality are endpoints, not a Business Manager tab someone has to remember.
A connected WhatsApp Business Account is a profile, and conversations run through the same /api/profiles/:id/chats and /api/chats/:id/messages endpoints you already call for Messenger, Instagram, Telegram and Bluesky. The chat and message objects keep their shape, so a unified inbox you've already built gains WhatsApp without a second data model. What's WhatsApp-specific — templates, the messaging window, interactive payloads — arrives as extra fields on those same objects rather than a parallel API.
One WhatsApp Business Account can hold several phone numbers, and each becomes a placement of the profile. /api/profiles/:id/placements lists them with their display_phone_number, Meta quality_rating, and messaging_limit_tier — the cap on how many conversations that number can start per 24 hours. Pass the number's id as placement_id when creating a chat; a customer who writes to two of your numbers has two conversations, each pinned to its own.
Meta only allows free-form messages within 24 hours of the customer's last message. Rather than making you track that yourself, every WhatsApp chat carries a within_messaging_window flag. When it's false, there are two ways through: an approved message template — also the only way to start a conversation — or a plain text with category: "utility" where the account is eligible for Meta's Direct Send. WhatsApp has no HUMAN_AGENT tag; that's a Messenger mechanism.
Templates are the gate on business-initiated messaging, and Meta reviews each one. Create them with your own components, or copy one of Meta's pre-approved library templates and get an approved template immediately. The review outcome arrives as a message_template.status_updated webhook — including later pauses, disables and recategorizations — so nothing has to poll Business Manager to find out whether a template is still safe to send.
Most businesses starting with WhatsApp already answer customers from the WhatsApp Business app on a phone. Coexistence onboarding links that number instead of taking it over: the user scans a QR code, the phone keeps working, and replies the team types there arrive in Postproxy as outbound messages. Up to 6 months of history is imported. The trade-offs are Meta's — lower sending throughput and no groups API — but nobody has to migrate a live support line in one jump.
Beyond text, sends accept Meta's interactive object: reply buttons, list pickers, call-to-action URLs, catalog products and Flows. The customer's choice comes back on the inbound message with the option id you assigned, which is what makes a menu-driven flow tractable. Conversations that start from a Click-to-WhatsApp ad carry the ad's details and click id on the chat, and the Conversions API reports purchases and leads back to Meta for optimization.
Common questions about WhatsApp Business integration
Call POST /api/profile_groups/:id/initialize_connection with platform: "whatsapp" and redirect the user to the returned URL. That opens Meta's Embedded Signup, a Facebook login that grants Postproxy access to the WhatsApp Business Account and its phone numbers. The account becomes one profile and each phone number becomes a placement of it.
Yes, with coexistence onboarding. Pass onboarding: "business_app" and the user scans a QR code from the WhatsApp Business app. The phone keeps working, your team can keep answering from it, and those replies show up in Postproxy as outbound messages. Up to 6 months of history is imported. Coexistence numbers have lower sending throughput and no access to the groups API.
Meta only allows free-form messages within 24 hours of the customer's last message. Each chat carries a within_messaging_window flag so you know where you stand. Outside the window you send an approved message template, or a plain text with category: "utility" if the account is eligible for Meta's Direct Send. A template is also the only way to start a conversation.
No. Create, list, update and delete templates through /api/profiles/:id/templates — either designing your own components or copying one of Meta's pre-approved library templates, which is approved immediately. A message_template.status_updated webhook fires when Meta finishes review, so you don't poll for it.
No. WhatsApp is a messaging channel, not a feed — there is nothing to publish to. A WhatsApp profile sends and receives direct messages, and POST /api/posts rejects it. Publishing works on the eleven other networks Postproxy supports.
Yes. The Postproxy MCP server exposes the DM tools — listing chats, reading threads, sending replies and templates — so Claude, ChatGPT, Cursor or your own agent loop can work a WhatsApp inbox. The chat's messaging-window flag tells the agent when a template is required instead of a free-form reply.
Ask your favorite LLM what it thinks about us, then decide.
Start with our free plan and scale as your needs grow. No credit card required.