Skip to main content

AWS Communication Developer Services

AWS Communication Developer Services Consulting

Email, SMS, RCS, and WhatsApp on AWS, chosen per job and wired to one event path. We build on AWS Communication Developer Services and keep the AI agent on the reply path, not on the refund button.

  1. A customer event arrives from the app, the store, or an agent.
  2. AWS Communication Developer Services is the send path.
  3. The channel is SES email, SMS or RCS, or WhatsApp.
  4. Delivery and reply events flow back through EventBridge or SNS.
  5. Opt-in and opt-out are checked per channel before every send.
  6. What lands is a conversation you can trace end to end.

Last updated:

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

What AWS Communication Developer Services covers

AWS Communication Developer Services (CDS) is AWS’s name for the channels a business uses to reach customers:

ChannelAWS serviceTypical job
EmailAmazon SESReceipts, policies, long answers, newsletters
SMSAWS End User Messaging SMSOne-time passcodes, RCS fallback
RCSAWS End User Messaging (RCS for Business, launched 31 March 2026)Branded order updates with suggested replies
WhatsAppAWS End User Messaging SocialReplies inside an open customer thread

Push is an End User Messaging channel too, but it sits outside the CDS list. FactualMinds builds on these services. We do not hold a CDS designation, and this page does not claim one.

The deep dives are in our six-part series: the channel decision hub, RCS, SMS and 10DLC, WhatsApp, the SES agent skill, and the production agent architecture. The dedicated engagement pages are WhatsApp Business API on AWS and RCS Business Messaging on AWS.

Architecture we build

  1. Send path per job. Each job gets its own origination identity and registration. OTP uses Notify or a dedicated OTP registration. Order status uses an RCS agent and a same-use-case SMS number in one phone pool. Promotions get their own registration. Email goes through SES configuration sets.
  2. Event path. Every channel writes delivery and inbound events to Amazon SNS, EventBridge, or Firehose. Configuration sets are attached before the first send, because event destinations do not backfill.
  3. Filter before the model. A Lambda function drops delivery, read, and status events. Only customer messages reach the model.
  4. Agent. Amazon Bedrock answers with tools scoped to reads: order lookup, delivery window, policy text. For production runtime, identity, and memory we use Amazon Bedrock AgentCore.
  5. Approval gate. Refunds, address changes, and price changes become a proposal a named person approves. The same rule is in human-in-the-loop approvals.
  6. Consent. STOP and HELP keywords, opt-out lists, WhatsApp template categories, and the SES suppression list are configured and tested before go-live.

Between the channels and the agent sits an application layer we build and you own: one internal event contract for every channel, dedup on the provider message ID, one ordered queue per conversation, and a channel adapter per send path that keeps each channel’s registration, template, and opt-out rules. The agent never calls a send API or a write API directly. The engineering detail, including evaluation and failure handling, is in production agentic AI on AWS CDS and AgentCore.

Engagement phases

PhaseOutput
Channel plan (week 1)One row per job in the channel planner CSV, with the registration blocker named
Registration10DLC or toll-free, RCS testing and country launch forms, WhatsApp Business account link, SES identity and DKIM
Event pathSNS or EventBridge destinations, Lambda filter, CloudWatch alarms on failed deliveries
AgentBedrock agent on the reply path with read-only tools and an approval queue
LaunchProduction sends per channel, opt-out tests, cost check against the list-price model

What the bill looks like before anyone replies

US list prices from the End User Messaging pricing page, read 29 September 2026. These are AWS list prices, not a client bill:

  • US Rich RCS text: $0.01194 per delivered 160-byte segment. A rich card: $0.02949 per delivered message.
  • WhatsApp: AWS charges a per-message fee and Meta charges its own on top, by country and message type. See the WhatsApp Business API page for current rates.
  • US SMS: registration fees plus a per-carrier rate published as a CSV on the same page.

What could go wrong

  • One registration for everything. Carriers review use cases. A password reset and a discount on the same RCS agent invites a denial.
  • A testing agent treated as a launch. An RCS test agent delivers only to enrolled phones. Customers get nothing.
  • Paying the model for receipts. WhatsApp delivery and read events share the topic with user messages. Filter first.
  • WhatsApp budget from the AWS fee only. The invoice includes Meta’s fee.
  • The agent decides refunds. Keep money movement out of the tool list.

Who this is for

Good fit if:

  • You send customer messages from your own product or store and want sending, events, and billing in your AWS account.
  • You have more than one message job (for example OTP, order status, and receipts) and today each one goes through a different vendor.
  • Your team can own an application and an AWS account, and needs help with registrations, event wiring, and a cost model.
  • You operate in countries where RCS or WhatsApp is a realistic option, or you need SES and SMS sorted out first.

Not a fit if:

  • You want a campaign tool with a drag-and-drop editor and a marketing team that never touches AWS. A marketing platform is a better tool for that.
  • You need to send to a country AWS does not cover for the channel you want. Check current country support for each channel before you plan.
  • You need a launch date that ignores carrier and Meta review times. Registrations set the schedule.
  • You want us to hold your consent records or act as the sender of record. Those stay with you.

Choosing a channel per job

JobStarting channelWhyWhat to check first
One-time passcodeSMS (or WhatsApp Authentication template)Reaches any phone, short, expected immediatelyRegistration for the OTP use case in each country
Order and delivery updatesRCS with SMS fallback, or WhatsApp if the customer opted in thereBranded sender, suggested repliesRCS country and carrier status, WhatsApp opt-in
Replies to a customer questionThe channel the customer usedThe thread is already openWhatsApp 24-hour window
Receipts, policies, long answersEmail through Amazon SESRoom for long content and attachmentsDomain authentication, suppression handling
PromotionsWhichever channel has a separate opt-in and registrationCarriers and Meta review promotional use separatelyConsent source, a separate registration
Live agent conversationAmazon Connect with WhatsApp or chatAgents see contact history in one workspaceConnect instance, linked number

How the pieces fit together

  • Origination identities. SMS uses phone numbers, sender IDs, or pools of them. RCS uses an RCS agent. WhatsApp uses a phone number linked to a WhatsApp Business Account. SES uses a verified domain or address. We keep one identity per use case so a carrier or Meta review of one job does not hold up another.
  • Phone pools. A pool containing an RCS agent and a dedicated SMS number tries RCS first and falls back to SMS. AWS documents that shared SMS routes are not used for RCS fallback, so the pool needs a dedicated number or sender ID.
  • Configuration sets and event destinations. A configuration set is attached when you send. It points to event destinations such as Amazon SNS, Amazon CloudWatch Logs, or Amazon Data Firehose (up to five per configuration set for SMS). Events from before a destination was attached are not replayed, so we set these up before the first production send.
  • Amazon Connect. Used when people, not code, answer. WhatsApp can be linked to a Connect instance so agents take WhatsApp contacts next to voice and chat.
  • Your application. Owns consent, templates’ variable data, and the rules for which job uses which channel.

Deliverables and engagement boundaries

We deliver:

  • A channel plan with one row per message job, the identity it uses, and the registration blocker
  • Registration support for SES identities, SMS registrations, RCS agents and launches, and the WhatsApp account link, including preparing the forms for your sign-off
  • Event destinations, a filtering function, alarms for failed deliveries, and a runbook for opt-out and complaint handling
  • A list-price cost worksheet per channel, with AWS fees and Meta fees on separate lines
  • Handover documentation and a walkthrough with your engineers

You or third parties own:

  • Your company details, brand assets, opt-in language, privacy policy, and the right to message each recipient
  • Carrier decisions on SMS and RCS, and Meta decisions on WhatsApp accounts and templates. We prepare submissions, we do not control outcomes or timing.
  • Message content, legal review of it, and the production application that calls the APIs
  • The AWS bill, including Meta charges that appear on it for WhatsApp

Prerequisites and limits

  • An AWS account with permission to create the messaging resources. Regional availability differs between SES, End User Messaging SMS and RCS, and End User Messaging Social, so we confirm the Region for each before design.
  • RCS country launches are supported in a defined list of countries (22 at the time we checked the AWS docs on 27 October 2026), and each carrier in a country reviews your agent independently. A country can be partially active while some carriers are still pending.
  • Not every device receives RCS. AWS lists older Android devices and iPhones earlier than iOS 18 as unable to receive it, which is one reason SMS fallback is part of the design.
  • WhatsApp messaging through End User Messaging Social is not available to customers located in China.
  • SMS delivery receipts can take up to 72 hours.
  • Prices and country lists change. We re-check them against the AWS pages at the start of every engagement.

Next step

Bring your OTP, order-status, promotion, and receipt flows. We will return the channel plan, the registration schedule, and the list-price cost model. Contact us.

Key Features

Channel Selection per Job

OTP, where-is-my-order, promotion, and receipt each get the channel and registration that fits them. Receipts and long answers go to SES, not into an SMS.

Registration Program

US 10DLC and toll-free, RCS testing and country launch, WhatsApp Business account linking, and SES identity verification run as one schedule with named blockers.

One Inbound Event Path

Inbound messages and delivery events land on Amazon SNS or EventBridge. Lambda drops receipts before any model call, so you do not pay to analyze a read receipt.

Bedrock Agent Replies

Amazon Bedrock (AgentCore for production runtime) answers order-status and policy questions in the same thread. Refunds, address changes, and price changes go to a person.

Consent and Opt-Out

STOP and HELP handling, opt-out lists, WhatsApp template categories, and SES suppression lists set before the first production send.

Cost Model Before Launch

List-price worksheet per channel: RCS segments vs rich media, WhatsApp AWS fee plus the separate Meta fee, SMS registration fees, SES plan breakpoints.

Why Choose FactualMinds?

Published Channel Research

Our six-part Communication Developer Services series documents prices, registration steps, and failure modes from AWS sources, with a reproducible channel planner CSV.

SES at Production Scale

Our published TargetBay case study covers 200M+ emails per month on Amazon SES. Email is the part of this stack we have run at volume.

Agents With an Approval Gate

The customer-facing agent may look up an order. It may not refund. That rule is written into the tool list, not left to the prompt.

AWS Select Tier Services Partner

50+ AWS certifications on staff. We do not hold a Communication Developer Services designation, and we will not claim one.

Step-by-Step Guides

Implementation guides for this service from our team of AWS experts.

AWS Communication Developer Services: Which Channel Should the Agent Use (2026)

On 25 September 2026 AWS published agent skills for End User Messaging and SES. A delivered US Rich RCS text segment lists at $0.01194. A rich card lists at $0.02949. Choose the channel first, then the model.

Read guide

AWS End User Messaging WhatsApp: Templates, the 24-Hour Window, and a Reply Path (2026)

Since 1 July 2025 WhatsApp on AWS is billed per message. The AWS fee is $0.005 outbound and $0.001 inbound. India Authentication and Utility are $0.002. Meta's fee is extra.

Read guide

AWS End User Messaging RCS: Registration, Rich Messages, and the Reply Path (2026)

RCS for Business shipped 31 March 2026. A US Rich text segment lists at $0.01194 on delivery. A rich card lists at $0.02949. CLI 2.35.12 is the first release with send-rcs-message.

Read guide

AWS End User Messaging SMS: 10DLC, Fallback, and When Not to Build the Agent on SMS (2026)

A US 10DLC number lists at $1 a month, a regular campaign at $10, and company vetting at $41.50. SMS is the OTP and the RCS fallback. It is the wrong place to build the rich agent.

Read guide

Building Production Agentic AI with AWS Communication Developer Services and Amazon Bedrock AgentCore

On 28 October 2026 an AgentCore Runtime session ends after 15 idle minutes by default and lasts at most 8 hours, and SNS can deliver the same inbound text twice. How to put one customer-facing agent behind RCS, SMS, WhatsApp, and SES without losing consent, order, or control.

Read guide

From Our Blog

In-depth guides and best practices from our certified AWS architects.

Frequently Asked Questions

What is AWS Communication Developer Services?
It is the name AWS uses for the customer send path: AWS End User Messaging for SMS and RCS, AWS End User Messaging Social for WhatsApp, and Amazon SES for email. Push notifications are an End User Messaging channel, but the September 2026 CDS partner hackathon rules list push as outside CDS usage.

Source: AWS End User Messaging pricing

Is FactualMinds an AWS Communication Developer Services partner?
No. FactualMinds is an AWS Select Tier Services Partner and AWS Marketplace seller with 50+ AWS certifications. We build on Communication Developer Services, but we hold no designation for it, and we have no published SMS, RCS, or WhatsApp engagement yet. Our production messaging proof is on Amazon SES.
Which channel should a customer-facing agent use first?
If the customer already has an open WhatsApp thread, answer there. If not, and a verified brand on the phone matters, send through a phone pool that tries RCS and falls back to a dedicated SMS number registered for the same use case. Use SES for receipts and long answers.

Source: Sending RCS messages

How do inbound messages reach a Bedrock agent?
Inbound SMS, RCS, and WhatsApp messages are published to an event destination such as an Amazon SNS topic. A Lambda function filters out delivery and read events, calls the model for real customer messages only, and sends the reply back on the same channel. AWS publishes a sample of this pattern for SMS and WhatsApp.

Source: Two-way multi-channel chat sample

How long does registration take?
An RCS test agent can reach your own enrolled phone the same day. RCS country launch is a separate carrier review per country, and the AWS launch guide says to plan for several months. US 10DLC needs a company, a campaign, and a number. WhatsApp needs a WhatsApp Business account linked through Meta. Plan the launch date around registration, not around code.
What could go wrong?
The common failures are mixing OTP and promotions on one registration, connecting a model to a testing RCS agent and calling it a launch, budgeting WhatsApp from the AWS fee alone, and letting a prompt decide whether a refund is allowed. Each one is avoidable with a channel plan, separate registrations, and a tool list that excludes money movement.
Do we need all four channels?
No. Most teams start with two: email through SES for receipts and long answers, plus one phone channel for time-sensitive messages. We add RCS or WhatsApp when a specific job needs it, such as a branded order update or replies inside a thread the customer already opened. Each added channel brings its own registration, so adding one without a job for it only adds schedule risk.
How do opt-outs work across channels?
They do not share one list. For SMS, AWS End User Messaging SMS adds a number to an opt-out list when it replies STOP, and it does not attempt sends to numbers on the list tied to the origination identity or pool (you can switch to self-managed opt-outs). Email uses the SES suppression list. WhatsApp requires an opt-in before template messages. We keep one consent record in your system and map it to each channel.

Source: Opt-out lists in AWS End User Messaging SMS

Can delivery events be used to confirm a message arrived?
For SMS, carrier delivery receipts can take up to 72 hours, and after that the service reports an UNKNOWN status if no final event arrived. Use events for reporting and alerting, not as a real-time proof of delivery. For anything time critical, such as an OTP, give the user a resend path.

Source: Event destinations in AWS End User Messaging SMS

What do you need from us to start?
A list of the message jobs you send today (or plan to), the countries you send to, your sending domains, an AWS account (or permission to create one), and someone who can approve company details for carrier and Meta registrations. Legal text such as opt-in language and privacy policy URLs must come from your side.

Map Your Messaging Channels on AWS

Bring your four jobs (OTP, order status, promotion, receipt) and the countries you send to. We will return a channel plan, a registration schedule, and a list-price cost model.