Skip to main content

WhatsApp Business API on AWS

WhatsApp Business API on AWS

Send and answer WhatsApp messages from your own AWS account with AWS End User Messaging Social. One API for templates, media, and status events, billed on your AWS invoice, with Meta fees on top.

  1. A customer messages in, or the business starts with a template.
  2. AWS End User Messaging Social carries WhatsApp.
  3. The linked WhatsApp Business Account owns the number and templates.
  4. Message and status events publish to an SNS topic.
  5. Outside the 24-hour window, only approved templates can send.
  6. The conversation lands with an agent, a bot, or a human.

Last updated:

Built forAWS Solutions for DevOps & Platform EngineersFor CTOs
Industries servedRetail & eCommerce
Ask AI:ChatGPTClaudePerplexityGemini

What we set up

WhatsApp on AWS runs through AWS End User Messaging Social. Your WhatsApp Business Account (WABA) is linked to your AWS account, messages go out with SendWhatsAppMessage, and inbound messages and statuses arrive at an event destination you choose. It is part of what AWS calls Communication Developer Services.

FactualMinds has no published WhatsApp engagement. The facts on this page come from AWS documentation and our WhatsApp field guide, which links every source.

Architecture

LayerAWS componentWhat we configure
AccountEnd User Messaging Social + Meta sign-upWABA link or migration, phone number, business profile, display name
TemplatesWhatsApp message templatesUtility for order status, Authentication for codes, Marketing only with its own opt-in
SendSendWhatsAppMessageSession replies inside the window, templates outside it. Media is uploaded, then referenced
EventsAmazon SNS event destinationInbound messages plus delivery, read, and fail statuses on one topic
FilterAWS LambdaDrops status events. Only customer messages continue
ReplyAmazon Bedrock or Amazon ConnectAgent answers with read-only tools, or the contact routes to a live agent
ApprovalYour queueRefunds, address changes, price changes go to a person

AWS publishes two samples of this reply path: end-user-messaging-bedrock (WhatsApp to SNS, Lambda, and an optional Bedrock agent) and the two-way multi-channel chat sample (SMS and WhatsApp). Neither is a FactualMinds deployment.

One-time passcodes on WhatsApp

Since October 16, 2026, Notify can generate, send, and verify a passcode on WhatsApp from an AWS-managed template. That removes your own code store. Meta’s Authentication fee still applies on top of the AWS message fee.

WhatsApp in Amazon Connect

If live agents should take WhatsApp contacts, the same linked number can be imported into Amazon Connect. Customers write on WhatsApp, the contact flow routes them, and agents answer in the agent workspace with the rest of the contact history. Amazon Lex can take the first turn.

Engagement phases

  1. Fit check. If the customer has never written to you on WhatsApp, a business-started thread needs a template and a Meta fee. For some jobs the RCS page is the better start.
  2. Account and number. Link or migrate the WABA and confirm the origination number is ACTIVE. The public samples refuse to run without it.
  3. Templates. Get one Utility template approved for order status before any model is connected.
  4. Event path. Subscribe Lambda to the SNS topic and prove that a status event never reaches Bedrock.
  5. Agent and handoff. Connect the Bedrock agent with read-only tools, set a session lifetime, and route money changes to a person or to Connect.
  6. Cost reporting. Log AWS fees and Meta fees on separate lines.

What could go wrong

  • Every status event hits the model. Delivery and read events share the topic with user messages. Filter first.
  • Wrong template category. A Marketing template sent as a support reply is a different Meta meter and a different opt-in.
  • Budget from the AWS fee alone. 10,000 outbound messages are $50 in AWS fees, plus whatever Meta’s row says for that country and type.
  • Sessions that never expire. Using the phone number as the session id is fine only after you decide how long a session lives.

Next step

Tell us whether you have a WABA today, which countries you serve, and which jobs WhatsApp should handle. Contact us.

Key Features

WABA Linking and Migration

Create a WhatsApp Business Account, migrate an existing one, or add a phone number to an existing WABA through the Meta sign-up flow in the End User Messaging Social console.

Template Approval

Utility, Authentication, and Marketing templates written and submitted per job, so the order-status agent is never stuck with only a Marketing template.

The 24-Hour Window

Session replies inside the customer service window, templates outside it. The branch is coded once and tested, not guessed per message.

Events to Amazon SNS

Inbound messages and delivery, read, and fail statuses go to an event destination. Lambda drops status events before any model call.

Amazon Connect Channel

Link the WhatsApp number to an Amazon Connect instance so live agents take WhatsApp contacts in the same workspace as voice and chat.

Bedrock Replies With Handoff

A Bedrock agent answers order status and policy questions in the thread. Refunds, address changes, and price changes go to a person.

Why Choose FactualMinds?

AWS-Native, Not Another Vendor

WhatsApp sending runs in your AWS account with IAM, CloudWatch, and your existing event pipeline, instead of a separate messaging vendor contract.

Honest Cost Model

We model the AWS fee and the Meta fee on separate lines. The AWS outbound fee is $0.005 per message. Meta charges on top by country and message type.

Published Field Guide

Our WhatsApp guide documents the window, the template rule, the reply path, and the receipt-filter detail from AWS sources and public samples.

AWS Select Tier Services Partner

50+ AWS certifications on staff. We have no published WhatsApp engagement yet, and we will say so on every page that covers it.

Frequently Asked Questions

How do we connect WhatsApp to AWS?
In the AWS End User Messaging Social console you choose Link business account, then complete the Meta sign-up flow. You can create a new WhatsApp Business Account, migrate an existing one, or add a phone number to an existing WABA. During sign-up you give AWS End User Messaging Social access to the WABA and allow it to bill you for messages.
What is the 24-hour customer service window?
When a customer messages you, a 24-hour customer service window starts or refreshes. Inside it you can send any message type. Outside it you can only send approved template messages, and only to users who opted in. A reply to someone who just asked is a different send from a promotion to someone who has been quiet for a week.
What does a WhatsApp message cost on AWS?
The AWS fee is $0.005 per outbound message, $0.002 for India Authentication and Utility, and $0.001 per inbound message (AWS pricing page read 29 September 2026). Meta charges its own fee on top, by country and message type. Since 1 July 2025 both are per message, not per conversation.
Can Amazon Connect agents answer WhatsApp messages?
Yes. You link a WhatsApp Business Account and phone number with AWS End User Messaging Social, import the number into your Amazon Connect instance, and route it with an inbound contact flow. The integration supports text, interactive messages, rich link previews, delivered and read receipts, and attachments. Amazon Lex can automate first responses.
Can the WhatsApp agent issue a refund?
Not in what we build. The agent may look up an order and answer in the thread. A refund, a new shipping address, or a price change becomes a proposal that a named person approves. The channel being WhatsApp does not make the tool safe.
What could go wrong?
Sending every status event to the model, so you pay to analyze read receipts. Having only a Marketing template approved, so the support agent cannot answer outside the window. Budgeting from the AWS fee alone. A Bedrock session that never expires and answers a new question with last month’s order.

Launch WhatsApp From Your AWS Account

Tell us whether you already have a WhatsApp Business Account, which countries you serve, and which jobs WhatsApp should handle. We will map templates, events, and the reply path.