Rich Content

🚧

Beta

The WhatsApp rich content features are currently provided via the Twilio Messaging Content API that's currently in Pilot release.

To use the rich content features you will need to request access to the Messaging Content API from Twilio for your specific Twilio Account SID.

1168

Integration properties

Once you've been given access to the Twilio Messaging Content API for your specific Twilio Account SID, you can enabled WhatsApp rich content by setting the enable_rich_content property.

Here is an example integration configuration:

type: meya.whatsapp.integration
account_sid: (@ vault.twilio.account_sid )
api_key_sid: (@ vault.twilio.api_key_sid )
api_key_secret: (@ vault.twilio.api_key_secret )
phone_number: (@ vault.whatsapp.phone_number )
markdown: false
enable_rich_content: true

Quick replies

Quick replies can be configured with a say component and will be rendered using the twilio/quick-reply content type. You can add an action, button_id or just use text as you normally would when using the Orb integration.

Limitations

  • WhatsApp supports a maximum of 3 quick replies .

Here is an example:

- say: How can I help?
  quick_replies:
    - Check my balance
    - text: Check my points
      action:
        jump: points
    - text: Talk to an agent
      button_id: escalate_agent

Ask buttons

When you use an Ask Buttons component the WhatsApp integration will render it as a twilio/list-picker content type. The Ask Buttons component properties will be mapped as follows:

  • aks: message body text
  • label: list picker button text
  • buttons: list picker set of items
    • text: list picker item text

Limitations

  • WhatsApp supports a maximum of 10 items in a list picker.
  • You cannot set the description of a list item using the Ask Buttons component. You will need to use the List Picker component.
  • URL buttons are not supported.

Here is an example:

- ask: Select a button
  label: Select
  buttons:
    - text: Ask Email
      action:
        jump: email
    - text: Google
    - text: Talk to an agent
      button_id: escalate_agent

List picker

If your flow only needs to support the WhatsApp integration, then you can use the dedicated list picker component.

Limitations

  • WhatsApp supports a maximum of 10 items in a list picker.

Here is an example:

- list_picker: Owl Air Flash Sale! Hurry! Sale ends on Sat
  button: Select a destination
  items:
    - text: SFO to NYC for $299
      description: Owl Air Flight 1337 to LGA
      action:
        jump: nyc
    - text: OAK to Denver for $149
      description: Owl Air Flight 5280 to DEN
      action:
        jump: den
    - text: LAX to Chicago for $199
      description: Owl Air Flight 96 to ORD
      action:
        jump: ord

Twilio content types

The Meya WhatsApp integration uses the Twilio Messaging Content API to create dynamic content templates for each support Meya card.

Usually content templates are subject to WhatsApp approval before they can be used, however, if a user initiates the conversation, a 24-hour messaging session opens which allows certain rich content types to be sent without template approval.

Due to this restriction, not all Meya cards are supported, and some limitations apply to the cards that are supported.

Meya CardTwilio Content Type
Imagetwilio/media
Filetwilio/media
Buttonstwilio/list-picker
- limited to 10 list items
TilesNot supported
- is not supported by the 24-hour session template approval exception
Quick repliestwilio/quick-reply
- limited to 3 quick replies

Twilio content template approval

The following table shows which Twilio content types require template approval from WhatsApp.

WhatsApp Session Typetwilio/texttwilio/mediatwilio/location*twilio/call-to-action*twilio/quick-replytwilio/list-pickertwilio/card*
User initiated: 24-hour session (initiated by inbound message)No approval requiredNo approval requiredNo approval requiredApproval requiredNo approval requiredNo approval requiredApproval required
Business initiated: Out of session (initiated by a business - no inbound message)Approval requiredApproval requiredNot supportedApproval requiredApproval requiredNot supportedApproval required
  • Not supported by the Meya WhatsApp integrations

Twilio rate limits

By default, Twilio and WhatsApp imposes some basic rate limits on messages sent by a Twilio sender.

Media MessagesText-Only Messages
Twilio WhatsApp Sender1.5 MPS25 MPS
  • MPS = Messages Per Second

You can use multiple Twilio WhatsApp Senders to achieve higher rate limits. Please contact your Twilio account manager to set this up.

f you are requesting more than 25 MPS for text, 1.5MPS for Media, your messages will enter Twilio's message queue. This message queue has a maximum limit of four hours. Messages that remain in the queue for more than four hours will eventually fail.