Skip to content

Interactive · list

Show a menu of up to ten options.

One button opens a sheet with sections and rows. The choice comes back with the row's id.

to and the message ids are n8n expressions that read the WhatsApp Trigger right before this node ($json.messages[0].from / .id). For a manual test, replace them with a number and a message id.

The JSON body

HTTP Request → Body → JSON
POSThttps://graph.facebook.com/v26.0/YOUR_PHONE_NUMBER_ID/messages
{  "messaging_product": "whatsapp",  "recipient_type": "individual",  "to": "{{ $json.messages[0].from }}",  "type": "interactive",  "interactive": {    "type": "list",    "body": {      "text": "How can we help?"    },    "action": {      "button": "View options",      "sections": [        {          "title": "Orders",          "rows": [            {              "id": "track",              "title": "Track my order"            },            {              "id": "reschedule",              "title": "Change delivery time"            }          ]        },        {          "title": "Support",          "rows": [            {              "id": "agent",              "title": "Talk to support"            }          ]        }      ]    }  }}

Limits & common mistakes

  1. Up to 10 sections and 10 rows in total, across all sections.

    Source (opens in a new tab)
  2. Button label 20 max; section title 24; row title 24; row description 72; row id 200.

    Source (opens in a new tab)
  3. Body 4,096 max; header text only, 60 max; footer 60 max.

    Source (opens in a new tab)
  4. The choice arrives as interactive.type = list_reply with id, title and description.

    Source (opens in a new tab)
How to set up the credential in n8n
  1. In n8n, open Credentials → Create credential and pick Header Auth.
  2. Fill in the two fields:
    NameAuthorization
    ValueBearer <your token>
  3. Open the pasted node. Authentication is already Generic → Header Auth; choose the credential you just made.
  4. Use a System User token from Meta Business settings; the token on the API Setup page expires within hours.Source (opens in a new tab)Source (opens in a new tab)

Your token lives in n8n only. I never ask for it.

Don't have time to build it? I'll build it for you.

Build it for me

WhatsApp and n8n are trademarks of their owners. Pixtaha isn't affiliated with or endorsed by Meta or n8n.