Skip to main content
A list message presents a button that opens a menu of up to 10 rows across sections. The selection returns as an inbound interactive.list_reply webhook.

Request

curl -X POST "${WHATSAPP_API_URL}/${WHATSAPP_PHONE_NUMBER_ID}/messages" \
  -H "Authorization: Bearer ${WHATSAPP_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
  "messaging_product": "whatsapp",
  "to": "15551234567",
  "type": "interactive",
  "interactive": {
    "type": "list",
    "header": {
      "type": "text",
      "text": "Menu"
    },
    "body": {
      "text": "Pick a time slot"
    },
    "footer": {
      "text": "Tap to choose"
    },
    "action": {
      "button": "View slots",
      "sections": [
        {
          "title": "Morning",
          "rows": [
            {
              "id": "9am",
              "title": "9:00 AM"
            },
            {
              "id": "10am",
              "title": "10:00 AM"
            }
          ]
        },
        {
          "title": "Afternoon",
          "rows": [
            {
              "id": "2pm",
              "title": "2:00 PM"
            }
          ]
        }
      ]
    }
  }
}'