Docs
Get started

Native action buttons on WhatsApp

Buttons let your customer tap instead of type. Wazzap ships seven button flavors (list, URL, call, copy code, image, video and carrousel) and you trigger each one with a single command line, no Meta template waiting list.

Overview

Action buttons are the highest-converting UI WhatsApp offers. They cut decisions to a tap, they're always visible at the bottom of the bubble, and they remove the friction of having to write back. With buttons you turn a one-way message into an interactive moment.

The button system uses a single command prefix: #ButtonMix. Everything else is positional arguments separated by |. The structure stays predictable across every flavor, so once you know one, you know them all.

!

Buttons are currently in beta. They render perfectly on Android. On iPhone, some button types fall back to plain text. Always test on both before launching a campaign.

Button types

Pick the right button for the action you want the customer to take:

  • List button. A scrollable menu with up to 10 options. Best for FAQs, sub-account routing, product picks.
  • URL button. Opens a link. Perfect for checkout, booking pages, gated content.
  • Call button. Dials a phone number. Great for sales escalations or support routing.
  • Copy code button. Copies a code/string to clipboard. Promo codes, OTPs, IDs.
  • Image buttons. Quick reply buttons on top of an image card.
  • Video buttons. Same idea, on top of a video card.
  • Carrousel button. Multiple swipeable cards, each with its own button.

Shared syntax

All button commands share the same skeleton:

#ButtonMix|Title|Subtitle|image*IMAGE_URL|action*ButtonText*payload

Where:

  • #ButtonMix tells Wazzap "this is a button message".
  • Title is the bold heading at the top of the card.
  • Subtitle is the body text right under the title.
  • image*IMAGE_URL attaches a hero image. Typically a JPG up to 5 MB.
  • action*ButtonText*payload is the button itself. The action token changes per flavor (call, copy, list, url…), the payload changes per use case.

Quick example

A call-to-action with an image and a "Call now" button:

#ButtonMix|Talk to a human|We're online right now.|image*https://cdn.example.com/hero.jpg|call*Call now*id_call

Want to see this exact pattern with every button type? Open the child docs:

Beta limits

  • Apple devices. Some button flavors (notably call) don't render natively on iOS yet. The recipient sees a plain text fallback.
  • Image file. JPG only, up to ~5 MB depending on your CRM. Other formats fail silently.
  • Button text. Keep it under 20 characters. Long labels get truncated by the WhatsApp UI.
  • One card per message. If you need multiple cards in one bubble, use the carrousel button.

Troubleshooting

The button doesn't render, the recipient sees plain text

You're probably on iOS. Confirm by checking the recipient's device. Some buttons are Android-only during beta. If iOS coverage is critical for your campaign, use a URL button as the safest universal fallback.

The image doesn't load

Verify the URL is publicly accessible (open it in an incognito window). It must end in .jpg or .jpeg, be served over HTTPS, and be under 5 MB.

The command sends as a literal message

The command must be the only content in the message body. No leading space, no preceding paragraph, no quote characters. Copy-paste from a code block, not from a styled doc.

Combine buttons with tag triggers to auto-route the customer's tap to a HighLevel workflow. Button press → tag → automation. Pure conversion magic.

Was this page helpful?