Broadcasts API

You can now use the API to send broadcasts to your users on your channel of choice. Previously, you had to manually login to the platform and add your targets in the channel's settings page, as shown below.

Capture d'écran 2020-06-01 15.31.08.png

This is very easy to use, but does not allow for automatisation. With this update you can now perform HTTP requests to create broadcasts programmatically.

Please refer to the documentation to learn more about the Broadcasts API.

Of course, you can still send broadcasts from the interface!

Each channel has its set of features and limitations. For example Messenger and MS Teams only allow sending to users that have already interacted with your bot before.

New API endpoints

Starting on June 1st, 2020, all API calls should be sent to the v1 version of the API. We are introducing versioned endpoints, and the prod endpoint will always match the latest available version. To prevent issues with deprecated content on the prod endpoint, we encourage you to use the versioned endpoints instead.

  • Old prod endpoint:
  • New v1 endpoint:

Please refer to the API documentation:

Split of Studio and Language documentation

To make it easier to read and maintain, the CSML Studio and Language reference documentations are now separated in 2 different pages.

In the Language reference, you will read all about the capabilities of the language, and the expected behavior of each component.

In the Studio documentation, you will find information on how to perform various tasks in the CSML studio, such as configuring applications, functions and channels.

You can obviously seamlessly navigate between both documentations.

New Channel: Microsoft Teams

You can now easily add your a CSML chatbot with the new Microsoft Teams integration. Please read more on how to get started with the MS Teams integration in the CSML Studio documentation.

New Carousel and Card Components

We just added two new components in the language specification: Carousel and Card.

Cards allow you to display rich content in a generic, formatted fashion. By default (depending on channel capabilities of course), you can add a title, subtitle, text, a list of attached buttons (both regular Button and Url), an image_url and a default_action (what happens when you click on the card itself).

A Carousel is simply an array of cards.

For example, see below what it looks like in Facebook Messenger (link to documentation):


As usual, you can find a list of all available generic components here.

New: Conversational Apps

We are releasing a new feature for the Webapp channel, allowing you to create a menu of shortcuts to any of your bot's flows.

Capture d'écran 2020-06-01 11.11.46.png

This is a great way to help your users find and trigger specific parts of the conversation, or find their way back on track if they get lost or want to restart something!

Link to documentation

CSML for Covid-19

Clevy and the CSML development team have released a number of free resources to help with Covid-19 efforts.

In no particular order:

  • CovidBot, a chatbot based on French authorities' recommendations, updated daily.
  • CovidBot Autodiagnostic: in partnership with Institut Pasteur and AP-HP (Paris Hospitals), a chatbot to assess your symptoms based on the official triage algorithm released by the French Health Ministry. The anonymous data is sent to Institut Pasteur for epidemiological analysis and research.
  • CovidBot for Workplace: same as autodiagnostic version above, free to install on any Workplace from Facebook instance in just one-click.
  • CovidBot Autodiagnostic on Messenger: same as above, free to use on Messenger.

Capture d'écran 2020-06-01 11.04.25.png

You can install these resources on your own website for free using the following links:

The source code of these chatbots is available on Github:

We would also like to highlight the efforts of our partner Quanta: CovidBot Info is a Messenger chatbot built on CSML based on official Philippinese government information.

More information:

New Docs

We just released a new version of the CSML documentation, accessible on

The new version of the docs is more readable, with more detailed examples and a better search. You can also download a PDF version for offline reading!

Capture d'écran 2020-03-05 09.28.26.png

Also, as per our commitment to the open source community, the docs are automatically built from this Github repository, which is open to issues and pull requests!

Event Preprocessors

CSML is especially great to handle logical conversation steps, but sometimes the event received from the user is not enough to decide where to go next. This is why we added the new Event Preprocessors, now available inside the bot's Settings panel.

Capture d'écran 2020-03-04 12.26.16.png

With Event Preprocessors, you can now run every single incoming event through any number of your existing functions. For example, you can decide to detect the language of the user's input, then run it through a NLP library of your choice, and then if it matches a given intent, change the type of the event to a flow_trigger to trigger a specific flow.

Another interesting use case for the Event Preprocessor is to be able to copy uploaded data from a temporary upload to a more permanent storage solution. This is especially useful when using channels such as Messenger or Slack, where files are uploaded to their servers and the URL that they provide expires after a while! In the screenshot above, we event hooked an image analysis library to learn a bit more about what's in the uploaded image!

Introducing the CSML StdLib

All languages have a set of useful helper methods, adding convenient ways to do simple things. With this latest release, we are introducing the CSML StdLib: a series of functions that you can use to routinely perform everyday actions in your flows.

You will find mathematical operations, string manipulation, regex tooling, object and array helpers…

Head over to the documentation to learn more about the CSML StdLib!