Docs
Get started

Video header with reply buttons

Lead with a short product demo or testimonial clip, then give the contact a clean tap-target. Video buttons combine an autoplay-friendly preview with up to three structured replies.

Overview

Video buttons use the same #ButtonMix command as image buttons, but the header is a .mp4 file instead of a .jpg. Everything else, including the title, subtitle, and IDs returned on tap, behaves the same way.

Use them when a still image isn't enough: short product demos, walk-throughs, before-and-after clips, and confirmation videos. Keep clips under 15 seconds for the best tap-through rate.

Video buttons are part of the Buttons (BETA) family. Confirm rendering on iOS and Android before a large send.

Command syntax

#ButtonMix|Title|Subtitle|video*VIDEO_URL|button*Text1*id_1/button*Text2*id_2/button*Text3*id_3

How it works

  1. #ButtonMix declares the message type.
  2. Title shows above the video preview in bold.
  3. Subtitle shows below the title.
  4. video*VIDEO_URL is the public URL of an .mp4 file. Most CRMs cap this at 5 MB.
  5. button*Text*id defines each interactive button. Same rules as image buttons: short label, stable ID, 1 to 3 buttons.

Example

A product demo with three follow-up actions:

#ButtonMix|See it in action|30s walkthrough|video*https://wazzap-files.sfo3.cdn.digitaloceanspaces.com/demo.mp4|button*Book a call*id_book/button*Send pricing*id_pricing/button*Not now*id_dismiss

Result

  1. The contact receives a chat bubble with an inline video preview and the three buttons below.
  2. Tapping plays the video. Tapping a button records the response with its ID.
  3. Your CRM branches the workflow on that ID: book a call, send a pricing PDF, or close the thread.

Important notes

  • The header video must be a .mp4. Other containers won't render.
  • Keep the file under 5 MB. Compress with ffmpeg -crf 28 if needed.
  • Aim for clips of 10 to 15 seconds. Long videos hurt completion rate and risk download timeouts.
  • Vertical (9:16) and square (1:1) videos preview best inside chat.
  • Button IDs should be unique and stable across the command.
  • Send from your CRM's Conversations tab, not the WhatsApp app.

Troubleshooting

The video shows as a download link instead of inline preview

The file is either too large or not encoded with H.264 baseline. Re-encode with ffmpeg -c:v libx264 -profile:v baseline -movflags +faststart and try again.

Buttons render but the video fails to load

Check the URL returns a video/mp4 content-type header. CDNs sometimes serve application/octet-stream, which WhatsApp refuses.

!

If your demo is over 15 seconds, use a carousel instead and split the content across cards.

Was this page helpful?