# Utility templates

Utility templates are designed for transactional messages related to an agreed-upon transaction.

## Examples

| Use case | Example |
|  --- | --- |
| Order confirmation | "Your order #0021 is confirmed" |
| Account alert | "To finish setting up your profile, please click here to sign the document: {{1}}" |
| Opt-in confirmation | "Thanks for confirming opt-in! You'll now receive notifications via WhatsApp." |


## Components

| Component | Support | Notes |
|  --- | --- | --- |
| **Header** | Partially supported | Optional. Appears at the top of the message. Templates are limited to one header component.Text only (max 60 characters).Currently, only preset text defined in the template is supported — placeholders in headers are not yet available. |
| **Body** | Fully supported | **Required**. Text with multiple placeholders (max 1024 characters). Templates are limited to one body component. Supports [text formatting](/products/whatsapp/enterprise-documentation/developer-documentation/integration-guide/how-to-format-messages). |
| **Footer** | Partially supported | Optional. Appears immediately after the body. Templates are limited to one footer component.Text only (max 60 characters).Currently, only preset text defined in the template is supported. |
| **Buttons** | Partially supported | Optional. Interactive components that perform specific actions when tapped. Templates can have up to 10 buttons total. See button types below. |


## Button types

| Button type | Support | Description |
|  --- | --- | --- |
| URL buttons | Fully supported | Opens a URL in the device browser. Max 2 per template. Supports 1 dynamic variable appended to the URL (max 2000 characters). |
| Phone number buttons | Not yet supported | Calls a phone number when tapped. |
| Quick reply buttons | Not yet supported | Sends a predefined text reply. |
| Copy code buttons | Not yet supported | Copies a text string to the clipboard. |


Use the [send message API](/products/whatsapp/enterprise-documentation/developer-documentation/api-references/send-message-apis/send) to send this type of message.

## Example: access notification with URL button

This example sends an access notification with a button linking to the customer portal.

**Template structure:**

- **Header**: "Access notification" — preset text, defined in the template
- **Body**: text with two placeholders (city and username). Supports [text formatting](/products/whatsapp/enterprise-documentation/developer-documentation/integration-guide/how-to-format-messages) (bold, italic)
- **Button**: "Check activity" — URL button with a dynamic path


**Template base URL** (defined at configuration time):


```
https://www.check-my-activity.com{{1}}
```

The URL button supports 1 variable appended to the end of the URL (max 2000 characters).

**Request:**


```json
{
  "to": "+390000000000",
  "language": "en",
  "templateId": 2,
  "body": {
    "parameters": [
      { "text": "Rome" },
      { "text": "m.rossi" }
    ]
  },
  "urlButtons": [
    {
      "index": 0,
      "urlPath": "/activity/m.rossi"
    }
  ],
  "reference": {
    "service": "DIGITALSIGN",
    "action": "LOGIN",
    "key": "ext-key-003"
  }
}
```

**Final button URL:**


```
https://www.check-my-activity.com/activity/m.rossi
```