CSML updates
CSML updates

CSML v1.6 Release





We just released CSML v1.6! Once again a great update from the team, that comes with many improvements and bugfixes, but also 3 important features that we are going to highlight now. You can as usual check all the release notes here on Github (and don't forget to star our repo!).

Data Management API

We added several endpoints to the CSML Engine API that let you access or manage your user data programmatically. This makes it much easier to return all conversations a user had with a chatbot, update their memory if a certain event happens outside of the context of the conversation, or delete everything related to a user in case they made a data deletion request (looking at you, GDPR! 🥸).

For reference, here are all the endpoints available in the CSML Engine.

Fully Printable Memory

Speaking of user data, with the introduction of the new _memory global variable, you can now print all the memory of a user at any given time:

// print all the keys and first-level values in a readable format:
debug _memory

// or for a full but unformatted output:
say "{{_memory}}"

Read the docs


With the new Time() utility function, you can now easily manipulate time objects. This was one of the main requests we've had for a long time, and here it is!

With this function, you can generate Time objects for any given date, past or future, format it into a nice string or unix timestamp, and even parse ISO-formatted strings into Time objects!

do time = Time()
do time = Time().at(2021, 03, 28, 12, 53, 20, 123)

do time.unix()

do time.format()
do time.format("%h%d")

do time = Time().parse("2021-03-28T12:53:20.123Z")

Read the docs