01 · How it works, in 5 steps
How does the template library work?
- 1
Find the use case
Browse by topic or industry in WhatsApp Manager, or query
GET /message_template_librarywithusecase=DELIVERY_UPDATEand alanguageto list candidates with their fixed text and parameters. - 2
Read the fixed wording
Read the body exactly as customers will see it. If any sentence does not fit your business, the entry is the wrong choice, because it cannot be edited.
- 3
Create it on your WABA
POST /{WABA_ID}/message_templateswithname,language,category: "UTILITY"(the only category the API accepts for library templates) andlibrary_template_name, pluslibrary_template_button_inputs, which is required when the entry has buttons. - 4
Map your data to the parameter types
Make every value match its declared type —
TEXT,AMOUNT,DATE,ADDRESS,EMAIL,PHONE NUMBERorNUMBER— and stay within the length limits. Document headers accept PDFs only. - 5
Send it like any other template
Send by your chosen
nameandlanguagethrough the messages endpoint. It is billed like any template of its category.
02Try it
Hands-on: use the controls to work through it yourself.
Library or custom: compare the three routes
| Categories | Wording | Review | Ready to send | Good fit for | |
|---|---|---|---|---|---|
| Library entry, used as-is | |||||
| Library entry, customised | |||||
| Custom template from scratch |
Hover, tap or arrow-key through the cells — a dot in the corner means there is a note.
Custom template from scratch by Review
Standard reviewWaits on review
Review is automatic and can take up to 24 hours; appeals are decided within 24 hours.
Legend — press one to highlight its cells
Row 3 of 3. Custom template from scratch × Review: Standard review. Review is automatic and can take up to 24 hours; appeals are decided within 24 hours.
03What is the template library?
The template library is a catalogue of pre-written WhatsApp message templates that Meta maintains for common utility and authentication use cases — order confirmations, delivery updates, payment reminders, fraud alerts, account creation, identity verification and more. Each library template is already categorised, has fixed wording that cannot be edited, and contains parameters you fill with business- or customer-specific details.
You can browse it in WhatsApp Manager or with GET /message_template_library, filtering by search, topic, usecase, industry, language or name. Topics include ORDER_MANAGEMENT, PAYMENTS, ACCOUNT_UPDATE and CUSTOMER_FEEDBACK; industries include E_COMMERCE and FINANCIAL_SERVICES; and there are 25 use cases such as DELIVERY_UPDATE, PAYMENT_DUE_REMINDER and LOW_BALANCE_WARNING.
To use an entry, you create a template on your WABA with library_template_name pointing at it, plus your own name, language and, if the entry has buttons, library_template_button_inputs such as your tracking URL. Created as it is, the template comes back with status APPROVED, so it can be sent straight away. Choosing “Customize template” in WhatsApp Manager instead turns it into a template that must pass review before you can send it.
That is the trade-off against a custom template drafted from scratch: speed and a settled category in exchange for wording you cannot change. Library templates are also type-checked at send time — a parameter declared as AMOUNT, DATE, EMAIL or PHONE NUMBER must hold a value of that type, and values outside the allowed ranges or lengths make the send fail.
Key takeaways
- The template library is Meta's catalogue of pre-written utility and authentication templates with fixed wording and fillable parameters.
- A library template created without changes comes back APPROVED and can be sent at once; customising it sends it to review.
- Browse with GET /message_template_library and create with library_template_name on your WABA's message_templates edge.
- Library parameters are type-checked at send time: AMOUNT, DATE, EMAIL, PHONE NUMBER and NUMBER values must match their type.
- The library has no marketing templates, and library templates are billed like any other template of their category.
04 · Why it matters
Why does the template library matter?
Review and recategorisation are where many WhatsApp launches stall: a utility message worded slightly too promotionally is approved as marketing, or a rejection costs a day. For routine transactional messages the library sidesteps both. The wording is Meta's, the category is settled, and a new business can be sending order and payment notifications on its first day instead of iterating drafts against review.
05 · In code
The template library in code
# 1. Browse the library for delivery updatescurl -G "https://graph.facebook.com/v26.0/message_template_library" \-H "Authorization: Bearer {ACCESS_TOKEN}" \--data-urlencode "usecase=DELIVERY_UPDATE" \--data-urlencode "language=en_US"# 2. Create your own template from a library entrycurl -X POST "https://graph.facebook.com/v26.0/{WABA_ID}/message_templates" \-H "Authorization: Bearer {ACCESS_TOKEN}" \-H "Content-Type: application/json" \-d '{"name": "shipping_update","language": "en_US","category": "UTILITY","library_template_name": "delivery_update_1","library_template_button_inputs": [{ "type": "URL","url": { "base_url": "https://shop.example.in/track/{{1}}","url_suffix_example": "https://shop.example.in/track/KOC1042" } }]}'# Response: {"id": "{TEMPLATE_ID}", "status": "APPROVED", "category": "UTILITY"}
The created template is yours: it has its own ID and name on your WABA, while the wording stays Meta's.
06 · Key facts
The template library: key facts and limits
- Categories
- Utility and authentication
- Browse endpoint
- GET /message_template_library
- Filters
- search, topic, usecase, industry, language, name
- Use cases
- 25, e.g. DELIVERY_UPDATE, FRAUD_ALERT
- Create field
- library_template_name
- Status when created unedited
- APPROVED
- Parameter types
- TEXT, AMOUNT, DATE, ADDRESS, EMAIL, PHONE NUMBER, NUMBER
- Document headers
- PDF only
07Example: Launch-day notifications for a Kochi electronics store
A Kochi electronics store opening its online shop needs order confirmations, shipping updates and delivery-failure notices from day one. Rather than drafting three templates and waiting on review, its developer creates all three from library entries — including delivery_update_1 for shipping updates, with the store's tracking URL passed in library_template_button_inputs. All three come back approved and the shop launches on schedule. Two weeks later the team wants a warmer, branded order confirmation, so it drafts a custom utility template for that one message and submits it for review, keeping the library version running until the new one is approved.
08 · Mistakes to avoid
Common mistakes with the template library
Choosing an entry whose wording almost fits
The fixed text cannot be edited, and customers will see every word of it. If a sentence is wrong for your business, draft a custom template instead.
Customising and expecting instant approval
“Customize template” sends the template to review like any custom one. Only entries created without changes skip the wait.
Passing values that fail the type checks
An
AMOUNTparameter given “approx. 1,200”, or aDATEin an unusual format, makes the send fail. Normalise values before sending.Looking for marketing templates
The library covers utility and authentication only. Promotional messages still need a custom marketing template and review.
09 · Pro tips
Best practices for the template library
- Search the library before drafting any new transactional template.
- Use library entries for routine, high-volume notifications and spend your review effort on templates that carry your brand voice.
- Use the
searchfilter to find entries containing a phrase you need, such as “refund”. - Validate amounts, dates and phone numbers in your own code so type-check failures never reach the API.
10Template Library FAQs
Do template library templates need approval?+
Can I edit the text of a library template?+
Does the template library include marketing templates?+
Are library templates cheaper to send?+
* Per-message rates for India, ex-GST: marketing, utility and authentication effective 1 July 2026; service messages ₹0.145 since 1 October 2026 (they were ₹0 until 30 September 2026). Volume commitments earn discounts — final rate is confirmed on your account; applicable GST extra. Rates for other countries differ (see the international rate table on /pricing).