---
title: RCS Business Messaging on AWS
description: RCS Business Messaging on AWS End User Messaging: agent setup, test agents, country launch registration, rich cards, suggested replies, and SMS fallback.
url: https://www.joinhorizon.co/services/aws-rcs-messaging/
category: email
updated: 2026-10-27
---

# RCS Business Messaging on AWS

> Your logo, a verified brand name, and suggested replies in the phone’s default messaging app, sent from AWS End User Messaging. We run the registration, the send pattern, and the SMS fallback.

## What we set up

RCS on AWS is part of **AWS End User Messaging**, one of the channels AWS groups as [Communication Developer Services](https://www.joinhorizon.co/services/aws-communication-developer-services/). Company details and logo can be stored once in a Brand Profile; the banner and other brand fields live on the registration, not on the agent you create. Each country needs its own launch registration.

FactualMinds has no published RCS engagement. Every fact and price here comes from AWS documentation and our [RCS field guide](https://www.joinhorizon.co/blog/aws-end-user-messaging-rcs-guide-2026/), which links the sources.

## Registration lifecycle

| Step | What happens | Common failure |
| --- | --- | --- |
| Create agent | `create-rcs-agent` creates the container. No display name on this call | Inventing `--display-name` flags that do not exist |
| Testing registration | Brand fields filled, verified testers added, first send to your own phone | Treating a delivered test message as a launch |
| Brand Profile | Company details stored once (since October 16, 2026) and reused for SMS and RCS registrations | Refilling every field on each new registration version |
| Country launch | Use case chosen, screen recording, compliance keywords | STOP and HELP text that does not match the agent, denied as `Invalid field value` |
| Submit | `CreateRegistrationAssociation`, then `SubmitRegistrationVersion` | Skipping the association, `SUBMIT_REGISTRATION_VERSION_NOT_ALLOWED` |

Use cases do not mix. OTP, transactional, promotional, and multi-use each have rules in the launch guide. We recommend a transactional agent for order updates and a separate agent if you also send promotions.

## Send patterns

| Pattern | API | Fallback |
| --- | --- | --- |
| Pool | `SendTextMessage` with a pool ID | Upfront carrier and device checks, then SMS if RCS is not delivered (about 25 seconds per our RCS guide) |
| Account | `SendTextMessage` with no originator | Falls back onto a dedicated number, which may belong to another use case |
| Direct | `SendTextMessage` with the agent ARN | None |
| Rich | `SendRcsMessage` (AWS CLI 2.35.12 or later) | Only with an explicit `FallbackConfiguration` |

Cards, carousels, and chips do not convert into SMS. The fallback body is a sentence you write. For SMS registration and 10DLC, see the [SMS guide](https://www.joinhorizon.co/blog/aws-end-user-messaging-sms-guide-2026/).

## Replies and agents

Inbound RCS messages go to Amazon SNS. A Lambda function can call an Amazon Bedrock agent that reads the order and answers with Rich text and two suggested replies. Suggested replies stay on the Rich meter. A product photo moves the message to Rich Media. Refunds stay out of the tool list, as in [human-in-the-loop approvals](https://www.joinhorizon.co/blog/human-in-the-loop-ai-agents-ecommerce-2026/).

## Engagement phases

1. **Use case and countries.** Pick the use case per agent and the launch countries.
2. **Testing.** Build the test agent, enroll phones, prove the inbound path with the documented test keyword.
3. **Pool.** Pair the RCS agent with a same-use-case SMS number.
4. **Country launch.** File the registrations and track each carrier.
5. **Send and measure.** Count RCS vs SMS deliveries from the `originationPhoneNumber` field in delivery events. That count is your fallback rate.

## Who this is for

**Good fit if:**

- You send order, delivery, appointment, or account messages to consumers in countries on the AWS RCS list.
- Recipients should see a verified brand name and logo instead of an unknown number.
- You accept that part of your audience still gets SMS, and you want that fallback designed rather than accidental.
- You already have, or will register, SMS numbers for the same use case.

**Not a fit if:**

- Your audience is in countries AWS does not currently list for RCS. Use SMS or email there, and check the list again later.
- You need guaranteed same-day production delivery. Carrier review sets the schedule.
- You plan to mix OTPs and promotions on one agent. Carriers review the use case, and mixing invites denial.
- You want rich cards to work without any fallback. Cards and carousels do not convert to SMS, so the fallback text has to be written separately.

## Approach and architecture

1. **Use case and countries.** Decide the use case per agent and the countries in order of value. Each country launch creates a separate RCS for Business ID that is approved carrier by carrier.
2. **Agent and testing registration.** Create the AWS RCS Agent and complete the testing registration. The testing agent delivers only to verified test devices, and test messages are billed at standard RCS rates. The console presents agent creation and testing as one workflow. AWS strongly recommends completing testing before any launch registration.
3. **Brand configuration.** The testing agent's brand name, logo, banner, color, description, and website prefill each country form. You can change them per country.
4. **Country launch registration.** Choose the use case, give examples, and submit. Registration states run from created to submitted, reviewing, and complete, with REQUIRES_UPDATES if carriers want changes. Each carrier shows PENDING, ACTIVE, or REJECTED, and the country shows PENDING, PARTIAL, ACTIVE, or REJECTED.
5. **Phone pool and fallback.** Put the RCS agent and a dedicated SMS number or sender ID of the same use case in one pool. AWS tries RCS first and falls back to SMS. A pool with only an RCS agent has no fallback, and a message that cannot go by RCS is not delivered. After a fallback, AWS uses sticky sending, preferring the number that last delivered for 24 hours.
6. **Events and replies.** Delivery and inbound events go to an event destination such as Amazon SNS. Inbound replies can feed the Lambda and Bedrock path described above. For the SMS side, see the [SMS guide](https://www.joinhorizon.co/blog/aws-end-user-messaging-sms-guide-2026/).
7. **Measure.** Track the share of messages delivered by RCS versus SMS per country, and review registration states weekly until each target country is ACTIVE.

## Deliverables and engagement boundaries

**We deliver:**

- A country and use case plan with a registration tracker
- The RCS agent, testing registration, tester phones, and a verified test send
- Draft country launch submissions for your approval, including the brand copy and use case examples
- Phone pool and fallback configuration, with fallback SMS text written per message type
- Event destination, alarms, and a view of RCS versus SMS delivery
- A list-price cost model for the agent fees and message types you plan to use
- Handover and a runbook for denials and carrier rejections

**You or carriers own:**

- Carrier approval, timing, and denial decisions, per carrier and per country
- Your brand assets, trademark rights, and consent to message recipients
- The sending application and message content
- Registration fees and message charges on your AWS invoice
- Compliance with the AWS RCS country launch compliance guide for each country

## Prerequisites, limits, and restrictions

- Country support is limited to the list on the AWS page, and some countries have extra rules (for example, France brand matching).
- Testing agents reach only enrolled devices. Production delivery needs an approved country launch.
- Recipients without RCS support get SMS only if the send goes through a pool or account-level sending with a dedicated SMS identity. A direct send to the agent fails when RCS is unavailable.
- AWS says pricing models differ by market, and that RCS is billed on successful delivery. Rates change, so we re-check the pricing page at the start of the engagement.
- We do not quote approval times. The AWS launch guide says to plan for several months, and carriers decide.

## Related guides and services

- [RCS field guide](https://www.joinhorizon.co/blog/aws-end-user-messaging-rcs-guide-2026/)
- [SMS and 10DLC guide](https://www.joinhorizon.co/blog/aws-end-user-messaging-sms-guide-2026/)
- [Communication Developer Services decision hub](https://www.joinhorizon.co/blog/aws-communication-developer-services-2026/)
- [WhatsApp guide](https://www.joinhorizon.co/blog/aws-end-user-messaging-whatsapp-guide-2026/)
- [AWS Communication Developer Services consulting](https://www.joinhorizon.co/services/aws-communication-developer-services/)
- [WhatsApp Business API on AWS](https://www.joinhorizon.co/services/aws-whatsapp-business-api/)
- [Amazon SES consulting](https://www.joinhorizon.co/services/aws-ses/)
- [Amazon Connect](https://www.joinhorizon.co/services/amazon-connect/)

## Next step

Tell us the countries and the use case. [Contact us](https://www.joinhorizon.co/contact-us/).

## Features

### RCS Agent and Brand
Company details, contacts, and logo stored once in a Brand Profile and reused across SMS and RCS registrations. Banner, accent color, and STOP/HELP text are set per registration.

### Testing Registration
A test agent with verified tester phones, so you see the real message on a handset before any carrier review starts.

### Country Launch Registration
One registration per country, the right use case (OTP, transactional, promotional, or multi-use), and the screen recording carriers ask for.

### Rich Cards and Suggested Replies
SendRcsMessage for cards, carousels, and suggestions, priced against plain Rich text before you pick the layout.

### SMS Fallback
SMS fallback only through a phone pool, account-level sending, or an explicit fallback configuration. A direct send from the agent ARN fails if RCS is unavailable.

### Inbound to SNS and Bedrock
Customer replies land on Amazon SNS. A Lambda function can pass them to a Bedrock agent with read-only tools and a human approval step.

## Why FactualMinds

### Registration Is the Schedule
The API call is the short part. We plan the launch around carrier review, which the AWS launch guide says can take several months per country.

### Cost Before Layout
A US Rich text segment lists at $0.01194 per delivery and a rich card at $0.02949. We run both numbers before you design the message.

### Published Field Guide
Our RCS guide covers the two send APIs, fallback patterns, registration errors, and cleanup order from AWS sources and public samples.

### AWS Select Tier Services Partner
50+ AWS certifications on staff. We have no published RCS engagement yet, and we state that plainly.

## FAQ

### What is RCS for Business on AWS?
RCS (Rich Communication Services) for Business shipped in AWS End User Messaging on 31 March 2026. A verified brand sends messages with a logo, rich cards, and suggested replies to the phone’s default messaging app. You create an RCS agent, register it per country, and send with the same pinpoint-sms-voice-v2 API family used for SMS.

### Can a testing agent message customers?
No. A testing registration needs no carrier approval, but it delivers only to verified test devices. Messages are still billed at standard RCS rates. Production delivery needs a country launch registration approved by carriers.

### How long does country launch take?
The AWS launch guide lists 22 supported countries and says to expect several months of carrier review. A country can be partially active: you can send to carriers that approved you, and recipients on other carriers fall back to SMS only if you send through a pool or account-level send.

### How does SMS fallback work?
Fallback happens only when you send through a phone pool, use account-level sending, or set an explicit fallback configuration. AWS checks carrier and device support upfront where it can and routes to SMS; otherwise it tries RCS first and sends SMS as a separate attempt (our RCS guide documents a 25-second wait). A direct send from the RCS agent ARN fails if RCS is unavailable. With SendRcsMessage, fallback needs an explicit FallbackConfiguration whose originator is a phone number or sender ID, not the pool.

### What does a US RCS agent cost?
From the AWS pricing page (read 29 September 2026): $500 one-time setup, $200 a year for brand vetting, and $200 a month for agent maintenance, per agent. Messages are $0.01194 per delivered Rich text segment and $0.02949 per delivered Rich Media message. Registration fees apply per agent, so a second agent for promotions doubles them.

### What could go wrong?
One multi-use agent for both password resets and discounts, which invites a carrier denial. A rich card with no SMS sentence written for fallback. A coding assistant that refuses SendRcsMessage because an AI prompt says there is no separate RCS API. Deleting the agent before its registration, which fails with RESOURCE_NOT_EMPTY.

### Which countries and phones can receive RCS?
AWS supports RCS country launches in 22 countries, and each carrier in a country reviews your agent separately. Not every phone receives RCS: AWS lists older Android devices, devices with RCS turned off, and iPhones earlier than iOS 18 as unable to receive it. Check the current country list before you plan.

### Can we start sending in a country before every carrier approves?
Yes. The country shows a PARTIAL state once at least one carrier has approved your agent, and you can send to recipients on approved carriers. When a recipient is on a carrier that has not approved yet, AWS falls back to SMS if you send through a pool or account-level sending. The pool needs a dedicated SMS number or sender ID, because shared routes are not used for RCS fallback.

### What use cases can one RCS agent cover?
You pick a use case per country launch registration: OTP, transactional, promotional, or multi-use. OTP and transactional do not allow offers or promotions. Promotional does not allow OTPs. Multi-use is for a mix of transactional and promotional, and does not cover OTP. This is why we plan a separate agent for promotions.

### What do we need to provide for the brand review?
Brand name, logo, banner image, brand color, description, and website, plus use case examples that carriers review. France has strict brand name matching and language rules. The console fills later country forms from your testing agent, so we finish the brand details there first.

---

*Source: https://www.joinhorizon.co/services/aws-rcs-messaging/*
