> For the complete documentation index, see [llms.txt](https://docs.360dialog.com/partner/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.360dialog.com/partner/messaging/sending-and-receiving-messages/text-messages/conversational-components.md).

# Conversational Components

Conversational Components are in-chat features that you can enable for each business phone number. They make it easier for WhatsApp users to interact with businesses.&#x20;

You can configure easy-to-use commands, provide pre-written icebreakers that users can tap, and greet first time users with a welcome message.&#x20;

This feature can be configured within the WhatsApp Business Manager or via API. See [Configuration Steps](#configuration).&#x20;

## Welcome Messages <a href="#welcome-messages" id="welcome-messages"></a>

Activating *Welcome Messages* allows your business to automatically greet users opening your chat for the first time. This can be particularly useful for enhancing service interactions like customer support or account management. For example, embedding a WhatsApp button on your app or website directs users to WhatsApp, where they're can be met with a welcome message that provides context on how they can interact with you.

<figure><img src="/files/ooYyaw1S1qOGbymz1euE" alt="" width="375"><figcaption></figcaption></figure>

If you enable this feature and a user messages you, Meta checks for an existing message thread between the user and your business phone number. If there is none, it triggers a `messages` webhook with `type` set to `request_welcome`. You can use this to then respond to the user with your own welcome message.

The `request_welcome` webhook triggers a [**customer service window**](broken://pages/fTKB5o8I8KjMhhkw0tsy#customer-service-window) which allows your business to send free-form messages when responding to customers.

<figure><img src="/files/HYwGN6js2zgBtoIBHYGz" alt="" width="184"><figcaption><p>Carousel template message as a Welcome Message</p></figcaption></figure>

**Webhook Payload**

```json
{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>",
              "phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>"
            },
            "contacts": [
              {
                "profile": {
                  "name": "<WHATSAPP_USER_NAME>"
                },
                "wa_id": "<WHATSAPP_USER_ID>"
              }
            ],
            "messages": [
              {
                "from": "<WHATSAPP_USER_PHONE_NUMBER>",
                "id": "<WHATSAPP_MESSAGE_ID>",
                "timestamp": "<TIMESTAMP>",
                "type": "request_welcome"  // Indicates first time message from WhatsApp user
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}
```

See [Webhook Events and Notifications](/partner/onboarding/webhook-events-and-setup/webhook-events-partner-and-messaging-api.md#request_message).&#x20;

## Ice Breakers <a href="#ice-breakers" id="ice-breakers"></a>

Ice Breakers are customizable, tappable text strings that appear in a message thread the first time you chat with a user. For example, "Plan a trip" or "Create a workout plan".

Ice Breakers are great for service interactions, such as customer support or account servicing. For example, you can embed a WhatsApp button on your app or website. When users tap the button, they will be redirected to WhatsApp where they can choose from a set of customizable prompts, showing them how to interact with your services.

<figure><img src="/files/YAXecuXMVkctN4Ixd6R4" alt="" width="375"><figcaption></figcaption></figure>

You can configure up to 4 ice breakers on a business phone number from WhatsApp Manager. Each ice breaker can have a maximum of 80 characters. Emojis are not supported.

When a user taps an ice breaker, it triggers a standard received `message` webhook with the *ice breaker* *string* assigned to the `body` property in the payload. If the user attempts to message you instead of tapping an ice breaker, the keyboard will appear as an overlay, but it can be dismissed to see the ice breaker menu again.

{% hint style="warning" %}
If a WhatsApp user taps a [universal link](https://faq.whatsapp.com/425247423114725?fbclid=IwAR0Wk3l6XfxxQC8iF5oku5y-BmYMO-xSguTyGlypF50tH2_GzxsblV2-G2s) (i.e. **wa.me** link) configured with pre-filled text, the user interfaces for **ice breakers** are automatically dismissed.
{% endhint %}

**Webhook Payload**

```json
{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>",
              "phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>"
            },
            "contacts": [
              {
                "profile": {
                  "name": "<WHATSAPP_USER_NAME>"
                },
                "wa_id": "<WHATSAPP_USER_ID>"
              }
            ],
            "messages": [
              {
                "from": "<WHATSAPP_USER_PHONE_NUMBER>",
                "id": "<WHATSAPP_MESSAGE_ID>",
                "timestamp": "<TIMESTAMP>",
                "text": {
                  "body": "Plan a trip" //ice breaker string
                },
                "type": "text"
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}

```

See [Webhook Events and Notifications](/partner/onboarding/webhook-events-and-setup/webhook-events-partner-and-messaging-api.md#messaging-webhook-associated-with-messaging-api).&#x20;

## Commands <a href="#commands" id="commands"></a>

Commands are text strings that WhatsApp users can see by typing a forward slash in a message thread with your business.

Commands are composed of the command itself and a hint, which gives the user an idea of what can happen when they use the command. For example, you could define the command:

`/imagine - Create images using a text prompt`

<figure><img src="/files/YBm1oJivEUUPnHw824Nr" alt="" width="365"><figcaption></figcaption></figure>

When a WhatsApp user types, ***/imagine** cars racing on Mars*, it will trigger a standard received message webhook with that **exact text** string assigned to the `body` property. You could then generate and return an image of cars racing on the planet Mars from your software.&#x20;

You can define up to 30 commands. Each command has a maximum of 32 characters, and each hint has a maximum of 256 characters. Emojis are not supported.

**Webhook Payload:**

```json
{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>",
              "phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>"
            },
            "contacts": [
              {
                "profile": {
                  "name": "<WHATSAPP_USER_NAME>"
                },
                "wa_id": "<WHATSAPP_USER_ID>"
              }
            ],
            "messages": [
              {
                "from": "<WHATSAPP_USER_PHONE_NUMBER>",
                "id": "<WHATSAPP_MESSAGE_ID>",
                "timestamp": "<TIMESTAMP>",
                "text": {
                  "body": "/imagine cars racing on Mars"
                },
                "type": "text"
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}
```

See [Webhook Events and Notifications](/partner/onboarding/webhook-events-and-setup/webhook-events-partner-and-messaging-api.md#messaging-webhook-associated-with-messaging-api).&#x20;

## Configuration Steps <a href="#configuration" id="configuration"></a>

### Via WhatsApp Business Manager

Businesses with shared WABAs can configure it in the WhatsApp Manager for any phone number as follows:

1. Navigate in the [WhatsApp Manager](https://business.facebook.com/wa/manage) within the Business Manager.
2. Go to Account Tools > Phone Numbers.
3. Click on Settings (gear icon:<img src="/files/urIB8YN3Tvvy0VlfSsqP" alt="" data-size="line">)  next to the phone number you want to configure.
4. Find "Conversational Components" under **Automations** and toggle the "Welcome Messages" switch to turn the feature on.

<figure><img src="/files/o0pvxqt8UmlDiMpgQPW4" alt=""><figcaption></figcaption></figure>

If the WABA is under OBO (On Behalf Of), please [contact our Support Team ](broken://pages/-MR0aNObaBED89Cgo23u)for assistance with this configuration.

### Via API <a href="#welcome-messages" id="welcome-messages"></a>

You can configure conversational components and view any configured values using the API.

The Conversational Components API has two endpoints:

`POST /conversational_automation` which is used to configure conversational components on a given phone number.

`GET /conversational_automation` which returns the current values for the `enable_welcome_message`, `commands`, and `prompts` fields on a given phone number.

#### Enable and Configure Conversational Components

Please use this [endpoint](https://docs.360dialog.com/docs/messaging-api/api-reference/conversational-components#post-conversational_automation).&#x20;

#### Get Conversational Components&#x20;

Please use this [endpoint](https://docs.360dialog.com/docs/messaging-api/api-reference/conversational-components#get-conversational_automation).&#x20;

## Testing

To test conversational components once they have been configured, open the WhatsApp App and open a chat with your business phone number.

For[ welcome messages ](#welcome-messages)and [ice breakers,](#ice-breakers) if there is already a chat thread going with the business phone number, you must first delete the chat thread:

1. Open the thread in the WhatsApp client.
2. Tap the business phone number's profile
3. Tap **Clear Chat** > **Clear All Messages**.
4. Return to the (now empty) chat thread.

You can then send a message to the business phone number, which should trigger the `request_welcome` webhook.&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.360dialog.com/partner/messaging/sending-and-receiving-messages/text-messages/conversational-components.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
