Template Library | Developer Documentation
Template Library
Updated: Nov 14, 2025
Template Library makes it faster and easier for businesses to create utility templates for common use cases, like payment reminders, delivery updates —- and authentication templates for common identity verification use cases.
These pre-written templates have already been categorized as utility or authentication. Library templates contain fixed content that cannot be edited and parameters you can adapt for business or user-specific information.
You can browse and create templates using Template Library in WhatsApp Manager, or programmatically via the API.
Creating Templates via WhatsApp Manager (WAM)
Follow the instructions below to create templates using the Template Library in WhatsApp Manager?.
1: In the sidebar of WAM, under Message Templates, select Create Template.

2: Under Browse the WhatsApp Template Library, select Browse Templates.

3: You will now see all currently available templates. Use the search bar to search by topic or use case, or use the dropdown options on the sidebar to filter the results.
Note that hovering over a template will show you its parameter values.

4: To create a template, select one by clicking on it. Then, add your template name, select the language, and fill out the button details. Once you have completed these steps, click Submit.
Note: If you choose Customize template, your template will have to go through review before you are able to send messages.

Template Parameters and Restrictions
When a template contains the value
library_template_name in the GET <WABAID>/message_templates?name=<TEMPLATE_NAME> response, it is a template created from the Template Library and is subject to type checks and restrictions.


Templates in the library contain both fixed content and parameters. The parameters represent spaces in the template where variable information can be inserted, such as names, addresses, and phone numbers.
In the example above, parameters like the name customer’customer's name and your business’business's name.
Jim or the business name CS Mutual can be modified to accept variables like your Messages sent using templates from Template Library are subject to parameter checks during send time. Values used in parameters that are outside of the established ranges listed below will cause the message send to fail.
List of parameters and sample values
All parameters are length restricted. If you receive an error, try again with a shorter value.
ADDRESSA location address.
1 Hacker Way, Menlo Park, CA 94025TEXTBasic text.
regarding your order.12 pack of paper towelsyour requestpurchaseJasper's MarketAMOUNTA number signifying a quantity.
145USD $375.32€?1,376.22 EURRS 1200DATEA standard calendar date.
2021-04-1913/03/20215th January 198208.22.1991January 1st, 202405 12 2022PHONE NUMBERA telephone number.
+1 4256789900+91-7884-789122+39 87 62232EMAILA standard email address.
NUMBERA number.
2344490001234921388904453638Forms

Identifying forms in the request response
GET /message_template_librarytypebuttons"FORMS"{"name":"delivery_failed_2_form","language":"en_US","category":"UTILITY","topic":"ORDER_MANAGEMENT","usecase":"DELIVERY_FAILED","industry": ["E_COMMERCE"],"body":"We were unable to deliver order {{1}} today.Please {{2}} to schedule another delivery attempt.","body_params": ["#12345","try a redelivery"],"body_param_types": ["TEXT","TEXT"],"buttons": [{"type":"FLOW","text":"Reschedule"}],"id":"7138055039625658"},
Using the API
// Used to browse available library templates
GET /message_template_library// Used when you are ready to create a template from the library.
POST /<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templatesSearching and Filtering Available Templates
HeaderDocumentmessage_template_libraryPOSTRequest Syntax
// Get all available templates
GET /message_template_library
// Search for substring
GET /message_template_library?search=<SEARCH_KEY>// Filter by template topic
GET/message_template_library?topic=<TOPIC>// Filter by template use case
GET/message_template_library?usecase=<USECASE>// Filter by template industry
GET/message_template_library?industry=<INDUSTRY>// Filter by template language
GET/message_template_library?language=<LANGUAGE>Query String Parameters
| | |
| | |
| | |
| | |
| |
Example Request
curl 'https://graph.facebook.com/v25.0/102290129340398/message_templates?search="payments"'-H 'Authorization: Bearer EAAJB...'Example Response
{"name":"low_balance_warning_1","language":"en_US","category":"UTILITY","topic":"PAYMENTS","usecase":"LOW_BALANCE_WARNING","industry": ["FINANCIAL_SERVICES"],"header":"Your account balance is low","body":"Hi {{1}},This is to notify you that your {{2}} in your {{3}} account, ending in {{4}} is below your pre-set {{5}} of {{6}}.Click the button to deposit more {{7}}.{{8}}","body_params": ["Jim","available funds","CS Mutual checking plus","1234","limit","$75.00","funds","CS Mutual"],"buttons": [{"type":"URL","text":"Make a deposit","url":"https://www.example.com/"},{"type":"PHONE_NUMBER","text":"Call us","phone_number":"+18005551234"}],"id":"7147013345418927"}
Template Filters
E_COMMERCEFINANCIAL_SERVICESACCOUNT_UPDATECUSTOMER_FEEDBACKORDER_MANAGEMENTPAYMENTSACCOUNT_CREATION_CONFIRMATIONAUTO_PAY_REMINDERDELIVERY_CONFIRMATIONDELIVERY_FAILEDDELIVERY_UPDATEFEEDBACK_SURVEYFRAUD_ALERTLOW_BALANCE_WARNINGORDER_ACTION_NEEDEDORDER_CONFIRMATIONORDER_DELAYORDER_OR_TRANSACTION_CANCELORDER_PICK_UPPAYMENT_ACTION_REQUIREDPAYMENT_CONFIRMATIONPAYMENT_DUE_REMINDERPAYMENT_OVERDUEPAYMENT_REJECT_FAILPAYMENT_SCHEDULEDRECEIPT_ATTACHMENTRETURN_CONFIRMATIONSHIPMENT_CONFIRMATIONSTATEMENT_ATTACHMENTSTATEMENT_AVAILABLETRANSACTION_ALERTCreating Templates
<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templatesRequest Syntax
POST /<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templatesPost Body
{"name":"<NAME>","category":"UTILITY","language":"en_US",“library_template_name”:“<LIBRARY_TEMPLATE_NAME>”,"library_template_button_inputs":"[{'type': 'URL', 'url': {'base_url' : 'https://www.example.com/{{1}}','url_suffix_example' : 'https://www.example.com/demo'}},{type: 'PHONE_NUMBER', 'phone_number': '+16315551010'}]"}
Body Properties
| | |
| | |
| | |
| | |
| |
Library template button inputs
| | |
| | |
| ||
| | |
| | |
|
Library template body inputs
| ||
| | |
| | |
| | |
| | |
| |
Example Request
curl'https://graph.facebook.com/v19.0/102290129340398/message_templates'-H'Authorization: Bearer EAAJB...'-H'Content-Type: application/json'-d'{"name": "my_delivery_update","language": "en_US","category": "UTILITY",“library_template_name”: “delivery_update_1”,"library_template_button_inputs": "[{'type': 'URL', 'url': {'base_url' : 'https://www.example.com/{{1}}','url_suffix_example' : 'https://www.example.com/order_update}}]"}
Example Response
{"id":"{hsm-id}","status":"APPROVED","category":"UTILITY"}
Sending Template Messages
To learn how to send templated messages, view the Send Templates guide