Conversational Components

Welcome messages, ice breakers, and slash commands for WhatsApp business numbers.

Overview

Conversational Components are in-chat UX features configured per WhatsApp business phone number. They help users start and navigate conversations faster.

Supported types:

  • Welcome Messages — trigger (request_welcome) on first contact
  • Ice Breakers — tap-to-send starter prompts
  • Commands — slash commands with hints

In Dualhook setups, webhook events for these interactions are delivered directly from Meta to your endpoint through Webhook Override.

Welcome Messages

When enabled, WhatsApp emits a first-contact event when a user opens or starts chat with your number. The event opens a customer service window so you can reply with free-form messages.

{
  "messages": [
    {
      "from": "<WHATSAPP_USER_PHONE_NUMBER>",
      "id": "<WHATSAPP_MESSAGE_ID>",
      "timestamp": "<TIMESTAMP>",
      "type": "request_welcome"
    }
  ]
}

Ice Breakers

Tappable starter prompts shown when a user opens chat for the first time.

  • Up to 4 Ice Breakers per phone number
  • Up to 80 characters each
  • Emojis are not supported
  • Tapping sends a normal text message — the selected text appears in messages[].text.body

If a user enters chat through a wa.me link with pre-filled text, the Ice Breaker UI can be dismissed.

Commands

Slash-prefixed text options users discover by typing / in the chat:

  • Up to 30 commands
  • Keyword max 32 characters
  • Hint max 256 characters
  • Emojis are not supported

Command usage is delivered as a normal text message. Your backend should parse messages[].text.body and run the associated action.

Implementation Notes

  • Handle request_welcome as a distinct trigger in your webhook consumer.
  • Treat Ice Breakers and Commands as plain inbound text events.
  • Keep webhook handling idempotent using message IDs.
  • Return HTTP 200 quickly and process asynchronously.

For setup instructions, see Configure Conversational Components. For Dualhook customers, these components are configured in WhatsApp Manager at phone-number level.

Related

Browse more docsGet started with Dualhook