Content Types Overview
Template Support on API Vs. Console
All template types will appear on the Content Templates. Template types that are supported on API only will display the following pop-up when opened in the console.
Support |
||
Content Type |
Console |
API |
---|---|---|
twilio/text |
Yes |
Yes |
twilio/media |
Yes |
Yes |
twilio/location |
Coming Soon | Yes |
twilio/list-picker |
Yes | Yes |
twilio/call-to-action |
Yes | Yes |
twilio/quick-reply |
Yes | Yes |
twilio/card |
Yes | Yes |
whatsapp/authentication |
Yes | Yes |
whatsapp/card |
Yes | Yes |
Channel Support
Twilio supports the following content types, which we describe in the sections that follow.
Channel Media Type Support
Twilio supports the following content types, which we describe in the sections that follow.
Channel Support |
||||
Content Type |
SMS |
MMS |
||
---|---|---|---|---|
Images |
|
Yes |
Yes |
Yes |
Video |
|
Yes |
Yes |
Yes |
Document |
|
|
Yes |
Yes |
Audio |
In session only |
Yes |
Supported MIME Types
- Images: JPG, JPEG, PNG
- Documents: PDF, DOC, DOCX, PPTX, XLSX
- Video: MP4 (with H.264 video codec and AAC audio)
- Audio: OGG
WhatsApp Approval Requirements
WhatsApp has channel-specific approval requirements and limitations. By default, to send outbound messages to WhatsApp users, template approval by WhatsApp is required. This is done as a separate API request via the Content API. However, if a WhatsApp subscriber initiates a 24-hour messaging session with an inbound message, then certain outbound rich content types can be sent without a template during the 24-hour session.
WhatsApp Session Type |
||
Twilio Content Type | User Initiated: 24 hour Session (initiated by inbound message) | Business Initiated: Out of Session (initiated by a business - no inbound message) |
twilio/text | ✅ No Approval Required to Send Messages | ⚠️ Template Approval Required to Send Messages |
twilio/media | ✅ No Approval Required to Send Messages | ⚠️ Template Approval Required to Send Messages |
twilio/location | ✅ No Approval Required to Send Messages | 🚫 Not supported |
twilio/call-to-action | ⚠️ Template Approval Required to Send Messages | ⚠️ Template Approval Required to Send Messages |
twilio/quick-reply | ✅ No Approval Required to Send Messages | ⚠️ Template Approval Required to Send Messages |
twilio/list-picker | ✅ No Approval Required to Send Messages | 🚫 Not supported |
twilio/card | ⚠️ Template Approval Required to Send Messages | ⚠️ Template Approval Required to Send Messages |
whatsapp/card | ⚠️ Template Approval Required to Send Messages | ⚠️ Template Approval Required to Send Messages |
whatsapp/authentication | ⚠️ Template Approval Required to Send Messages | ⚠️ Template Approval Required to Send Messages |
WhatsApp Template Approval Statuses
Templates can have the following statuses:
Unsubmitted:
Indicates that the template has not been submitted to Twilio or WhatsApp for any sort of approval. These templates may still be used in session for some channels and in some WA sessions subject to the WhatsApp approval requirements listed above.Received
: Indicates that your template approval request has been received by Twilio. It is not yet in review by WhatsApp.Pending
: Indicates that the template is now under review by WhatsApp. Review can take up to 24 hours.Approved
: The template was approved by WhatsApp and can be used to notify customers.Rejected
: The template has been rejected by WhatsApp during the review process.Paused
: The template has been paused by WhatsApp due to recurring negative feedback from end users, typically resulting from "block" and "report spam" actions associated with the template. Message templates with this status cannot be sent to end users.Disabled
: The template has been disabled by WhatsApp due to recurring negative feedback from end users or for violating one or more of WhatsApp's policies. Message templates with this status cannot be sent to end users.
Common Components
The following parameters are used as an array in the "Actions" parameter of twilio/quick-reply, twilio/call-to-action, and twilio/card content types.
Actions
Parameter |
Type |
Required |
Description |
|
type |
string (enum) |
yes |
no |
The type of action.
|
title |
string |
no - whatsapp/authentication yes - all others |
no - quick_reply buttons on templates for WA business initiated messages. yes - everywhere else |
Display value for the action. For type QUICK_REPLY, this is the message that will be sent back when the user taps on the button.
|
url |
string |
yes - URL no - others |
yes |
URL to direct to when the recipient taps the button. |
phone |
string |
yes - PHONE_NUMBER no - others |
no |
Phone number to call when the recipient taps the button.
|
id |
string |
no |
yes |
Postback payload. This field is not visible to the end user.
|
copy_code_text |
string |
yes - whatsapp/authentication no - all other templates |
no |
Display value for the Copy Code button. |
Need some help?
We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.