Docs
Get started

Tappable list menus on WhatsApp

The list button opens a scrollable menu inside the chat. Up to 10 options, each one a one-tap reply. It's the most efficient way to give a customer choices without making them type. Think IVR for WhatsApp, but pretty.

Overview

List buttons replace "Reply with 1 for sales, 2 for support" with a native menu UI. When the customer taps it, an overlay slides up showing your options grouped under a header. Tap any option and the corresponding text appears in the chat as if they had typed it. That makes it dead-simple to pair list buttons with tag triggers for full automation.

Use list buttons as the first message of a flow. Welcome the customer, then offer them the menu. You'll see conversion rates 2 to 3 times higher than open-ended welcome messages.

Command syntax

#ButtonMix|Title|Subtitle|image*IMAGE_URL|list*ButtonText*Option1*Option2*Option3

You can pass up to 10 options after the ButtonText, separated by *. Each option becomes a row inside the menu.

Field by field

  1. #ButtonMix declares a button message.
  2. Title shows in bold above the image.
  3. Subtitle shows under the title as body text.
  4. image*IMAGE_URL attaches a hero image (JPG, up to ~5 MB).
  5. list*ButtonText*Option1*Option2*… defines the list:
    • ButtonText is the label of the button that opens the list (for example See options).
    • Option1, Option2, … are the rows inside the menu. Up to 10.

Example

A welcome message that lets the customer pick which agency service they're interested in:

#ButtonMix|Welcome to Acme|Pick what you're here for and we'll route you fast.|image*https://cdn.example.com/welcome.jpg|list*See options*New website*SEO audit*Paid ads*Talk to a human

Result on WhatsApp

  1. The recipient sees a card with image, title and subtitle, plus a button labeled See options.
  2. Tapping the button slides up a menu listing every option you defined.
  3. When the user taps an option, that option's text is posted as their reply.
  4. Your CRM (HighLevel, n8n, etc.) sees a normal inbound message and can act on it via tag triggers.

Important notes

  1. The image must be .jpg. JPEG headers, no PNG.
  2. Maximum file size depends on your CRM. Typically 5 MB. Verify in your HighLevel integration.
  3. Keep option labels short. Under 24 characters renders clean on every device.
  4. You can include up to 10 options. More than that get truncated.
  5. The list button is in beta. iOS coverage may vary by WhatsApp version.
!

Send the command from the Conversations tab of your CRM, never from the WhatsApp app on your phone. The command must be the only content in the message body.

Troubleshooting

Only the first 3 options show

Older WhatsApp clients render only the first few rows before requiring a scroll. The remaining options are still there, the user just needs to scroll the menu. Test on a few devices to confirm.

The customer's tap arrives as plain text

That's by design. WhatsApp turns the tap into an outgoing message with the option's label as content. To act on it programmatically, wire it to a tag trigger that matches the label text.

The card sends, but the list never opens

You probably skipped a | separator or used the wrong action token. Re-check the template: list*ButtonText*Option1*Option2. The token must be exactly list, lowercase, no underscore.

Stack a list button into a HighLevel automation: the customer's tap drops a tag, the tag enters a workflow, the workflow sends the right asset. Set it once, run it forever.

Was this page helpful?