Kata ML Spec

Kata ML is a descriptive YAML-based language for defining bots. The entry-point of KataML-based bot is the bot.yml file.


The root structure of bot.yml is as following:

# kataML schema definition
schema: kata.ai/schema/kataml/1.0

# Bot name
name: test-bot
# Bot description
desc: Some Bot
# Bot language
lang: id

# Flow definition
  # flowName and description
    # you can include other files using $include directive
    intents: $include(./some/path)

# Method definitions
  # method definition in javascript
  someMethod(x): x*x

# NLU definition
  # define NLU to be used in this bot
  someNlu: ...

# Config
  # free to define your nested configuration

Include Directive

KataML support $include directive to include definition from other files. Using this directive it is easier to structure your bot project.


config: $include(./config.yml)

Contributing to the Documentation

Is something missing/incorrect? Please let us know by contacting support@kata.ai. If you know how to fix it straight away, don’t hesitate to create a pull request on this documentation’s GitHub repository.