Create templates with the Content Template Builder in Console
The Content Template Builder in Console guides you through creating and managing templates for channels like WhatsApp, Facebook Messenger, and SMS. Content Templates allow you to deliver an engaging messaging experience to your customers through their preferred channels. The Content Template Builder uses universal templates that support shared capabilities across channels, providing a consistent experience.
If you do not have the Messaging product in your Develop sidebar, go to Explore Products, and pin the Messaging product.

Click on the Messaging product, and from the dropdown select Content Template Builder.

Click on Create new to create a new template in the Content Template Builder.

- Template Name: Provide a name for your template. This will also be the name you submit to WhatsApp for template approval.
- Template Language: Specify the template language.
- Select Content Type: Select the type of content your template will contain.
Info
Not all template types available in the Content API are currently available in the Content Template Builder. We will be adding more template types over time. If you would like to use twilio/card
, twilio/list
, or twilio/location
templates now, please use the Content API.

Supported channels are displayed on the template listing page and template detail pages.

Each Content Type has its own unique fields. For more information, see the Content Types Overview section. For this example, we will be using a twilio/call-to-action
template.
-
Body: The message content within the template.
-
Add buttons: The action buttons to attach to the template. There can be up to two buttons per CTA template.
- Type of action: The type of button on the template.
- Button text: The text that will appear on the button.
- URL: A URL that can be dynamic or static. Only one URL button can be used in a CTA template.
- Phone: A phone number in E.164 format that will be called upon click. Only one phone number button can be on a CTA template.

Variables can be added in Content Template Builder using the +Add Variable button (shown in the image below) or by typing or copying text with the correct notation of {{}}
brackets.
To delete a variable, use your keyboard's Delete/Backspace keys.

Variable samples are required in templates that contain media and certain templates that require WhatsApp approval. We recommend supplying samples for all variables so that your messages have a placeholder value if a variable is not defined at send time. Samples can be set upon Save or Save and submit to WhatsApp Approval within Twilio's sample modal shown below. Samples may be required or optional depending on the template type and whether or not you submit for WhatsApp approval.

You can have up to 100 variables in a template. Templates submitted for approval by WhatsApp must maintain a certain non-variable word to variable ratio. This ratio is defined as (2x + 1) non-variable words for every x variables.
For templates sent out of session through WhatsApp, the following rules apply. For additional tips on how to create templates and avoid template rejections, please refer to this guide.
-
Content variables must be numbered sequentially without skipping integers. Variables can appear in any order within the template, but their numbering should not skip numbers. For example, Meta does not allow
{{1}} words {{3}}
, but allows{{1}} words {{2}}
.- Not Allowed:
"body": "Hi {{1}}, Your flight will depart from gate {{3}}. Please reply Stop to unsubscribe."
- Allowed:
"body": "Hi {{1}}, Your flight will depart from gate {{2}}. Please reply Stop to unsubscribe."
- Not Allowed:
-
Content variables cannot be adjacent to each other without sample text. Meta considers variables separated only by spaces as being next to each other. There must be other characters or words between variables.
- Example that would need a sample:
"body": "Hi {{1}} {{2}}, flight will depart from gate {{3}}. Please reply Stop to unsubscribe."
- Example that would not need a sample:
"body": "Hi {{1}} and {{2}}, flight will depart from gate {{3}}. Please reply Stop to unsubscribe."
- Example that would need a sample:
-
Content variables cannot be at the start or end of the body string without sample text. Meta considers strings ending with a variable followed by punctuation as having a variable at the end. You need to include additional text after the variable.
- Example that would need a sample:
"body": "Hi {{1}}, flight will depart from gate {{2}}."
- Example that would not need a sample:
"body": "Hi {{1}}, flight will depart from gate {{2}}. Please reply Stop to unsubscribe."
- Example that would need a sample:
-
Templates cannot have too many variables relative to the message length. The general rule is that for every x variables, there must be at least (2x + 1) non-variable words (words are defined as characters separated by spaces).
- Not Allowed:
"body": "Hi {{1}}, gate {{2}}. Thank you."
- Allowed:
"body": "Hi {{1}}, Your flight will depart from gate {{2}}. Thank you."
- Not Allowed:
Info
Samples are required for any of the validations above. They are also required in Media and CTA URL links. If a variable is present in the template for a Media or CTA URL link, all text variables will require samples. This applies even if the text variable does not trigger any of the above validations.

- Save: Saves and creates the template and returns to the home screen. The template will now have a template SID starting with HX that you can reference in your send requests.
- Save and submit for WhatsApp approval: Saves and creates the template and returns to the home screen. The template will now have a template SID starting with HX that can be used for sending. This button also submits the template for WhatsApp review. Meta typically processes approvals within an hour, but some approvals take up to one business day. You will need to select a template category when submitting a template for review.
- Cancel: Deletes the template and does not save it. You will be returned to the home screen after clicking this button.
