Skip to content

Rich messages

Build a message with buttons, media, cards, or a carousel once and send it over RCS, WhatsApp, LINE, and Facebook Messenger. Pushwoosh checks the content against each channel while you edit and turns it into a preset for each channel, so you don’t build the same message four times.

Before you start

Anchor link to

Pushwoosh creates a copy of the message only for channels set up in the project. A channel that isn’t set up gets the Has errors status, and nothing is sent there.

Create a rich message

Anchor link to
  1. Go to Content > Messenger presets.
  2. Open the Rich messages tab.
  3. Click Create rich message.
  4. Click Enter preset name next to Rich message at the top and enter a name for the message.

Add languages

Anchor link to

The message starts with the Default language, which is sent to users with no matching language. To add translations:

  1. Click the plus (+) icon next to the language dropdown.
  2. Select the languages you want to add.
  3. Switch between languages in the dropdown and fill in the content for each one.

Every language has its own content type and fields. The channel status is the worst one across all languages: if one language has errors in a channel, the whole message has errors there.

Choose the content type

Anchor link to

Select a Type in the Content type block. The type decides which blocks and fields the form shows, so choose it first.

TypeWhat it isUse it when
TextPlain text with no media or buttons.You only need to tell users something.
MediaText with an image, video, document, or audio file.You want to send a file together with the text.
Quick replyText with reply buttons.You want users to answer with one tap. In a journey, each button gets its own branch, so users continue by their answer.
Call to actionText with buttons that open a link or call a phone number.You want users to open a page or call a number straight from the message.
List pickerText with a list of options.You want users to choose one option from a list. Works only in WhatsApp, inside the 24-hour window, so use it only when the fallback text works on its own.
CardOne block with media, a title, text, and buttons.You present one item with a picture and buttons.
CarouselTwo to ten cards in one message.You present several items at once.
Custom LINE FlexYour own LINE Flex layout.You already have a LINE Flex layout. Works only in LINE.

The other types work in all four channels: RCS, WhatsApp, LINE, and Messenger. In a channel where a type doesn’t work, users get the fallback text instead.

Next to Type, WhatsApp category sets the category of the WhatsApp template. See Get the WhatsApp template approved.

Fill in the message

Anchor link to

The Type decides what follows the Content type block. Most types have a Message block with the Body. List picker adds a List block, Card and Carousel add a Card or Carousel cards block, and Custom LINE Flex has only the LINE Flex message block. Find your type below.

The editor checks the limits of each channel and gives the channel the Has errors status when the content goes over one of them. The limits are listed with each type. For WhatsApp, the issues under the WhatsApp badge come from the template check and the Meta review state.

Use it for a plain message without media or buttons. It works in all channels.

  1. In Type, select Text.
  2. Type the message text in Body. You can insert emoji and personalization placeholders.

Body limits: 1,600 characters in RCS, 5,000 in LINE, and 2,000 in Messenger.

Use it to send an image, video, document, or audio file with text. You choose the type of file, then add a link to it.

  1. In Type, select Media.
  2. Enter the Body.
  3. Select the Media type: Image, Video, Document, or Audio.
  4. Set the file link in Media URL:
    • For an image, click the attachment icon next to the field and pick a JPEG or PNG file from the media library, or paste an https:// link.
    • For a video, document, or audio file, paste an https:// link. The media library holds images only.
  5. For a video, set a Video poster URL the same way as an image. LINE needs it to show the video: without it, the LINE badge has errors.
Media rich message with the Media URL field and its attachment icon, the Media type dropdown, and an image selected

Body limits: 1,600 characters in RCS and 2,000 in Messenger.

The same steps set Header media URL and the media of cards.

Quick reply

Anchor link to

Use it when you want users to answer with one tap. In a journey, each button gets its own branch, so you can continue the journey by the user’s answer.

  1. In Type, select Quick reply.
  2. Enter the Body.
  3. Click Add button and enter the button Title.
  4. Repeat step 3 for each button.
Three quick reply buttons, each with a title, and the Add button control

Limits:

  • Buttons: 1–4 in RCS, 1–13 in LINE and Messenger.
  • Button title: 25 characters in RCS, 20 in LINE and Messenger.

Call to action

Anchor link to

Use it to send users to a link or let them call a phone number straight from the message.

  1. In Type, select Call to action.
  2. Enter the Body.
  3. Click Add button.
  4. Select the Type of action: Open URL or Call phone.
  5. Enter the button Title.
  6. For Open URL, enter the URL. For Call phone, enter the Phone number in international format, for example +1234567890.
Call to action rich message with two buttons: the Type of action, Title, and URL or Phone number fields filled in

Limits:

  • Buttons: 1–4 in RCS, 1 or more in LINE, 1–3 in Messenger.
  • Button title: 25 characters in RCS, 40 in LINE, 20 in Messenger.
  • Body: 1,600 characters in RCS and 640 in Messenger. The editor doesn’t check the LINE body.

List picker

Anchor link to

Use it to let users choose one option from a list.

  1. In Type, select List picker.
  2. Enter the Body.
  3. In the List block, enter the List button text.
  4. Click Add item.
  5. Enter the Item name and, optionally, the Item description.
  6. Repeat steps 4 and 5 for each item.
List picker rich message with the list button text and two list items, each with a name and a description
Anchor link to

Use a card for one block with media, text, and buttons. Use a carousel to show two to ten cards in one message.

  1. In Type, select Card or Carousel.

  2. For a carousel, enter the Body in the Message block, then click Add card for each card, up to ten. RCS and Messenger don’t send the carousel Body.

  3. Fill in each card:

    • Media URL and Media type
    • Card title
    • Card body (optional)
    • Footer (optional)
    • Buttons: Quick reply, Open URL, or Call phone
    First card of a carousel with the media URL, card title, card body, footer, and two buttons
  4. To change how the card looks in RCS, set Orientation, Height, and Thumbnail alignment under RCS card layout. Leave them at Default to use the RCS default layout.

Add card button and the RCS card layout block with Orientation, Height, and Thumbnail alignment set to Default

Card rules by channel

Anchor link to

The channels accept different cards:

  • RCS carousel: every card needs an image or a video, a Card body, and one or two buttons. The buttons must be of the same types in the same order on every card. RCS doesn’t show the card Footer in a carousel. In a single card, the footer is shown under the body and can’t contain placeholders.
  • Messenger: every card needs a Card title, and card media must be an image. Messenger doesn’t show the card Footer.
  • LINE: card media must be an image.

The editor also checks these limits:

  • Cards in a carousel: 2–10 in RCS, LINE, and Messenger.
  • Card title: 200 characters in RCS and 80 in Messenger. The editor doesn’t check it in LINE.
  • Card body: in RCS, 1,600 characters in a single card, and 160 characters for the title and body together in a carousel. In Messenger, 80 characters. The editor doesn’t check it in LINE.
  • Buttons on a card: in RCS, 0–4 on a single card and 1–2 in a carousel. In Messenger, 0–3. The editor doesn’t check it in LINE.

Custom LINE Flex

Anchor link to

Use Custom LINE Flex when you already have a LINE Flex layout.

  1. In Type, select Custom LINE Flex.
  2. Paste a Flex container into Flex JSON. The container type must be bubble or carousel.
Custom LINE Flex rich message with a Flex container pasted into the Flex JSON field

LINE sends it as is, and RCS and Messenger send the fallback text.

Set the fallback text

Anchor link to

Fallback text is what Pushwoosh sends where a channel can’t show the message as you built it. Enter it in Fallback text at the bottom of the form.

Bottom of the rich message form with the Fallback text field filled in
Where Pushwoosh uses itIf Fallback text is empty
A channel that can’t show the content type, for example a list picker in RCSThe channel gets Has errors.
An SMS to a phone without RCSPushwoosh sends the Body. With both empty, RCS gets Has errors.
The LINE notification and chat-list text for cards, carousels, calls to action, and Flex messagesPushwoosh uses the Body. With both empty, LINE gets Has errors.

Fallback text limits: 1,600 characters in RCS, 2,000 in Messenger, and 5,000 in LINE (400 for cards, carousels, calls to action, and Flex messages).

Check channel compatibility

Anchor link to

The Channels strip under the header shows one badge per channel. Pushwoosh rechecks the message when you leave a field or change a dropdown.

Badge colorStatusWhat it means
GreenCompatibleThe channel sends the message as designed.
OrangePartially compatibleThe channel can’t show some of the content and sends the fallback text instead.
RedHas errorsNothing is sent to this channel until you fix the errors.
GrayNot checkedThe message hasn’t been checked yet, or the check failed. Edit a field to check again.

Click a badge to see the issues for that channel under the strip and to preview the message in that channel on the right. Each issue names the field and the rule it breaks.

When you select a channel, fields that it doesn’t deliver get a note next to their name in the form, for example (not delivered on RCS), and the preview leaves them out.

In this example, RCS has errors because RCS isn’t set up in the project:

Rich message editor header with RCS, WhatsApp, Messenger, and LINE badges and an RCS is not set up issue under them

Save the rich message

Anchor link to

Click Save. Pushwoosh saves the message and, for every channel without Has errors, creates or updates its copy:

  • RCS: an SMS preset with the same name. Pushwoosh creates an RCS template in your Twilio account and attaches it to the preset. Phones without RCS get the fallback text as an SMS.
  • WhatsApp: a WhatsApp preset with the same name, available in the WhatsApp journey element and in one-time WhatsApp messages.
  • LINE: a LINE preset with the same name.
  • Messenger: a Messenger preset with the same name, available in the Facebook Messenger journey element.

The RCS copy is an SMS preset, so it appears on the SMS tab. The LINE copy appears on the LINE tab. Both have a Rich message badge. You manage a copy through its rich message:

  • Edit a copy: click it or its Edit action. The rich message opens in the editor.
  • Delete a copy: delete the rich message. You can’t delete a copy on its own, and Pushwoosh deletes all its copies with the message.
LINE tab of Messenger presets filtered by name, with two presets marked with the Rich message badge

Get the WhatsApp template approved

Anchor link to

Outside the 24-hour window that a user’s last message opens, WhatsApp delivers only templates approved by Meta. Until the rich message has an approved template, Pushwoosh sends it on WhatsApp only to users who wrote to you in the last 24 hours, and the WhatsApp badge stays orange.

  1. Next to Type, select the WhatsApp category: Marketing or Utility. Meta prices and reviews templates by category.
  2. Save the rich message.
  3. Click Save and submit for WhatsApp approval. Pushwoosh saves the message and sends a template for every language to Meta.
Rich message editor with the WhatsApp category field next to Type and the Save and submit for WhatsApp approval button

Check the review state

Anchor link to

The line under the Channels strip shows the review state after WhatsApp template:. Before you submit, it reads not submitted:

Rich message editor with the WhatsApp badge selected, the 24h window issue, the Save and submit for WhatsApp approval button, and WhatsApp template: not submitted

The state changes as Meta reviews the template:

StateWhat it means
not submittedThe template hasn’t been sent to Meta. WhatsApp gets the message only inside the 24-hour window.
pending reviewMeta is reviewing the template. Until it’s approved, WhatsApp gets the message only inside the 24-hour window.
approvedWhatsApp sends the template to any user.
the latest change is pending review, the approved version is sentYou edited and resubmitted an approved message. Outside the 24-hour window, users get the previously approved version.
rejectedMeta rejected the template, and the reason follows the state. Fix the content and submit it again.

Pushwoosh checks the review state with Meta every few minutes. To check right away, click Refresh status. With several languages, the state shown is the one furthest from approval.

When you can’t submit

Anchor link to

Save and submit for WhatsApp approval is unavailable when:

  • WhatsApp isn’t set up in the project.
  • the type is Carousel: a carousel goes out on WhatsApp only inside the 24-hour window.
  • WhatsApp can’t build a template from the type, for example List picker or Custom LINE Flex.

Edit an approved message

Anchor link to

Editing an approved message doesn’t stop it: outside the 24-hour window, the approved version keeps going out until Meta approves the new one. Submit the message again after each edit.

Send a rich message in a journey

Anchor link to

Select the copy in the element of its channel:

Content dropdown of the WhatsApp journey element with a rich message marked with the Rich message badge

When the message has quick reply buttons, the element gets a branch for each button plus Not match.

Branch when the provider rejects the message

Anchor link to

The SMS, WhatsApp, LINE, and Facebook Messenger elements can send users whose message the provider rejected to a separate branch. Use it to try another channel instead of waiting for a reply that can’t come.

  1. Open the element settings.
  2. Turn on Branch when the provider rejects the message.
  3. Save the element.
  4. On the canvas, connect the Rejected by provider branch to the next element.
Journey canvas with a WhatsApp element, the Rejected by provider branch, and the Wait for refusal: 1 hour label

Who goes to this branch

Anchor link to

A user goes to Rejected by provider when:

  • the provider refuses the message when Pushwoosh sends it, for example Messenger outside the 24-hour window or WhatsApp to a user who hasn’t written to you in the last 24 hours
  • a later delivery report from Twilio, Meta, or an SMS provider marks the message as failed or undelivered.

Errors that Pushwoosh retries don’t lead to this branch.

How long the element waits

Anchor link to

How long the element waits depends on its other branches:

  • With quick reply buttons: a rejected message goes to Rejected by provider at once. Other users wait for a tap.
  • With a delivery split: the element waits for the time set in the split.
  • Without buttons or a delivery split: the element holds the user for up to 1 hour, and the canvas shows Wait for refusal: 1 hour. If the provider doesn’t reject the message within that time, the user continues through Sent.

Without a connected Rejected by provider arrow, a user whose message was rejected follows the element’s other branches. Turning the setting off removes the branch and its arrow.

Send a rich message as a one-time WhatsApp message

Anchor link to

In a one-time WhatsApp message, select the rich message in the template dropdown on the Content step. See Send a rich message.

An approved rich message goes to any audience. Without an approved template, it goes only to contacts with an open 24-hour window, and the audience and sending time are fixed.

Manage rich messages

Anchor link to

Rich messages are listed on the Rich messages tab with a badge for each channel.

Rich messages tab with three messages and a compatibility badge for RCS, WhatsApp, Messenger, and LINE on each

Open the ⋮ menu of a message to:

  • Edit it.
  • Duplicate it. The duplicate gets its own copies in every channel without Has errors.
  • Delete it. Pushwoosh deletes its copies too. You can’t delete a rich message while a journey sends one of its copies: remove it from the journey first.