CSML is Open-Source! Give us a ⭐️on Github!

The First Programming Language For Chatbots

Develop truly intelligent, maintainable and scalable chatbots, integrated with your favorite apps, on any channel, with full control over your source code.

CSML Hero image

Meet some awesome CSML users

Danone
SNCF
AXA
Autodesk
Ministère des Armées
CNP
Métropole Orléans
Capgemini
Covidbot
Smile
Act-On

Develop Next-Gen Chatbots

CSML is both an open-source, domain-specific programming language, and a conversational engine, created by Clevy.io. Its expressive syntax makes it extremely easy to develop complex chatbots, and its processing engine features built-in short and long-term memory, powerful context management, and integrations with other systems through HTTP APIs.

Easy To Learn & Master

While CSML is a full-blown programming language giving you complete control over the final experience, it is designed to be picked up even by beginners. Thanks to its expressive, descriptive syntax, it takes just a few minutes to develop your first full-featured chatbot.

Explore some real-world examples below and find out why CSML is so popular among professional chatbot developers!

Simple conversations

Keep your website's visitors engaged with simple, contextual content

Sign-up forms

Convert your visitors into users or customers with a lead-generation chatbot template

Recommendations

Advise your users and keep them engaged with your service by providing useful recommendations

Connection to 3rd-party apps

Integrate your chatbot with any external app or service using HTTP APIs and custom or managed apps

// Simple chatbot conversation example
start:
  say Typing(1000)
  if (firstname) say "Hello {{firstname}}! How are you? 😊"
  else say "Hello! How are you? 😊"
  hold

  say "Ok, good to know!"

  // Ask the user to pick a favorite genre
  say Question(
    "What would you like to do today?",
    buttons = [
      Button("Listen to good music", accepts=["music","listen"]) as music,
      Button("Manage my Dropbox account", accepts=["dropbox"]) as dropbox,
      Button("Tell me a joke") as joke,
    ]
  )
  hold

  // Easily parse user input
  if (event.match(music)) goto spotifyPlaylist
  if (event.match(dropbox)) goto dropboxConnection
  if (event.match(joke)) goto randomJoke

Join the Community
on Slack Slack

Come and learn all about CSML with other chatbot enthusiasts on the CSML Community Slack! 🤗