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:
#ButtonMixtells Wazzap "this is a button message".Titleis the bold heading at the top of the card.Subtitleis the body text right under the title.image*IMAGE_URLattaches a hero image. Typically a JPG up to 5 MB.action*ButtonText*payloadis the button itself. Theactiontoken changes per flavor (call,copy,list,url…), thepayloadchanges 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.