Message Markup Language (MML) enables you to build an interactive message experience. MML supports embedding elements as simple as a button to your message or as complex as date pickers and custom forms within your chat experience. MML also supports images, icons, and tables out of the box.
The goal for MML is to provide a standardized way to handle the most common use cases for message interactivity. MML can be extended into custom components using the MML React library.
MML for React
The first Stream SDK to support MML is the Stream Chat SDK for React. This feature accepts an MML string and renders it as React components.
If there are any stateful tags, the library will gather all the initial states and expose them in MMLContext
. Also, it accepts a custom converter, which allows you to expand the default tags and add additional components.
Whether you are scheduling an appointment, rendering a carousel, showing a small list of options to a user through a button list, or optimizing data elements (like numbers) for mobile input, MML enables you to build interactive messaging experiences through the Stream React SDK.
Read more about MML in our chat docs.
MML is currently only available on applications using the React SDK, but stay tuned for broader support for this feature.