Whatsapp (via MessageBird) supports the following components:
Text() or string templates
Object() or JSON templates
Markdown is partially supported (only bold, italic and
To send completely custom requests, use
say Object(...) . The content of the object will be forwarded as is in the request body. For a complete reference, please visit MessageBird's API documentation.
Whatsapp has a very limited set of interactive components. Buttons for example are textual only, and your users will have to type the actual text of the button.
The mapping of
Button() components to text is performed automatically. However you need to set the right
accepts values in order to correctly match the user's input.
The typing indicator
... is not supported and replaced by a simple
Wait() component of the same duration.
Url() component does not support any alternative text or title. Only the given url will be shown as is.
For instance, the following code:
start:say Url("https://www.google.com", text="Go to google")goto end
Has the following output:
You must upload videos in mp4 format. Videos hosted on Youtube, Dailymotion or Vimeo will not display (use the
You must upload audio files in mp3 format. Audio files hosted on Spotify, Deezer or Soundcloud will not display (use the
There is a hard limit of 25MB for all uploaded files (including image, video and audio files).
File() component, not all file types are supported. A list of supported file types could not be found, but it is safe to recommend using very common file types only.
The file upload process happens asynchronously on Whatsapp, so messages might show out of order if there is a large upload with not enough time left for its upload before sending the next message.
Card() components are currently not supported.