RCS messages through Twilio
RCS (Rich Communication Services) messages arrive in the phone’s built-in messaging app as a chat from your brand, with your logo and a card, a carousel, media, or buttons instead of plain text. Pushwoosh sends them through Twilio as part of the SMS channel.
How it works
Anchor link toAn RCS message gets from a Twilio template to the phone in three steps:
- You build the message as a content template in Twilio.
- You pick the template in an SMS preset. Each language of the preset can carry its own template.
- When the preset is sent, Twilio tries to deliver the template over RCS. Phones that can’t receive RCS get an SMS instead, as described in SMS fallback.
If you pick a template for only some languages of the preset, the other languages aren’t sent over RCS. They go out as a regular SMS with the text from their Message field.
SMS fallback
Anchor link toThe SMS fallback is what phones without RCS receive instead of the RCS message. If the recipient’s phone or carrier doesn’t support RCS, Twilio sends an SMS built from the template’s Text type.
The SMS fallback comes from the template, not from the Message field of the preset. If the template has no Text type, phones without RCS don’t get the message at all.
What you need to send RCS
Anchor link toRCS works only through your own Twilio account with a Messaging Service and a carrier-approved RCS sender.
- Twilio as the SMS provider. Connect it with your own Twilio Account SID and Auth token. If Pushwoosh provides the Twilio number and credentials for your project, RCS isn’t available, and such sends are rejected.
- A Twilio Messaging Service. Its sender pool holds an RCS sender and an SMS number. Its SID goes into Messaging Service SID in the SMS platform settings. Without it, a message with a template fails to send.
- A From number. Set it in the SMS platform settings to the SMS number from the Messaging Service pool. Pushwoosh doesn’t send Twilio SMS without it, even when a Messaging Service is set.
- An RCS sender approved by carriers in the countries you send to. Twilio handles the registration. According to Twilio, it takes 4–6 weeks or more per country.
Set up RCS in Twilio
Anchor link toThese steps run in the Twilio Console. Menu names follow the Twilio RCS onboarding guide and may differ slightly in your console.
Create an RCS sender
Anchor link toThe RCS sender is the brand profile recipients see in the chat: your name, logo, and colors.
-
Go to Communications → Numbers & senders → Overview → RCS.
-
Click Create RCS Sender.
-
Enter a Sender display name.
-
Accept the terms and click Continue.
-
On Public details, fill in every field:
- Display name and Description.
- Logo image (224×224 px, up to 50 KB) and Banner image (1440×448 px, up to 200 KB), as public JPG or PNG URLs.
- Accent color with a contrast ratio of at least 4.5:1 against white, for example
#1A73E8. - A contact phone number or email, a Privacy policy URL, and a Terms of service URL.
-
Click Next.
Add a test phone
Anchor link toUntil carriers approve the sender, it delivers only to test phones.
- On Try it out, click Add device to test this sender.
- Enter an Android phone number in international format and click Invite.
- On the phone, open the invitation in Google Messages and tap Make me a tester.
- In the console, confirm that the owner accepted the invitation.
- Send a message from Your message. It should arrive as a chat from your brand with the logo, not as an SMS.
Register the sender with carriers
Anchor link toTwilio adds an RCS sender to a Messaging Service only after at least one carrier has approved it, so start the registration before you build the Messaging Service.
- On the RCS sender, open Compliance registration.
- Click Add countries.
- Select the countries you send to and click Save countries.
- Click Start.
- Fill in the form and click Submit registration. For the US, Twilio has a separate US registration form.
The registration status shows as Pending Review until carriers approve it.
Create a Messaging Service
Anchor link toThe Messaging Service groups the RCS sender and an SMS number, so Twilio can choose RCS or SMS for each phone.
- Go to Messaging → Services.
- Create a service.
- In Sender Pool, add an SMS-capable Twilio number. Without it, phones without RCS get nothing.
- Once at least one country shows Approved in Compliance registration, add the RCS sender to Sender Pool.
- Copy the service SID. It starts with
MG.
Build a content template
Anchor link toThe content template defines the RCS message and its SMS fallback.
- Go to Messaging → Content Template Builder.
- Click Create new.
- Choose an RCS-capable type: Card, Carousel, Quick reply, Call to action, or Media.
- Fill in the content. For a value that changes per recipient, use a numbered variable, for example
{{1}}for the first name in the card title. - To branch a journey on the reply, add quick reply buttons and give each one an ID. Don’t use
defaultor an ID that starts withoutput: such a button gets no branch in the journey. - Add the Text type to the same template. Twilio builds the SMS fallback from it.
- Save the template.
Connect Twilio in Pushwoosh
Anchor link toPushwoosh sends RCS with the Twilio credentials and the Messaging Service you enter in the SMS platform settings.
-
Go to Settings → Configure Platforms.
-
Open SMS.
-
Set the SMS provider to Twilio.
-
Fill in the fields:
- From number: the SMS number from the Messaging Service pool.
- Account SID and Auth token: the credentials of the Twilio account that owns the RCS sender and the templates.
- Messaging Service SID (optional): the
MGSID of the Messaging Service. The field is optional for SMS, but RCS needs it.
-
Click Apply.
For the rest of the SMS settings, see SMS platform configuration. Delivery statuses of RCS messages need no webhook setup, because Pushwoosh submits the status callback URL to Twilio with every message.
Receive replies
Anchor link toReplies to RCS messages reach Pushwoosh only through a webhook you set on the RCS sender.
- In the Twilio Console, open the RCS sender and go to Configuration.
- Set Webhook URL for incoming messages to the incoming SMS URL from SMS provider webhooks, with the
POSTmethod. - Click Save configuration.
Pushwoosh handles an RCS reply the same way as an SMS reply. It fires the PW_SMSReceived event for the sender’s phone number, and a STOP reply sets the subscriber’s marketing consent tag to false. See SMS and Viber marketing consent.
Send an RCS message
Anchor link toAn RCS message goes out wherever you send an SMS preset that has a template.
- Open or create an SMS preset.
- Pick a Twilio template for each language in the RCS block, as described in Send over RCS.
- Send the preset in an SMS campaign or a Customer Journey.
In a journey, an SMS element with a quick reply template gets a branch for each button and waits up to 24 hours for a tap. See Branch on RCS reply buttons.
Check RCS statistics
Anchor link toTo see how many deliveries were confirmed over RCS, how many arrived as SMS, and what share of RCS recipients read the message, open the Message stats of the send.