Skills Overview

A skill represents the ability of a bot to handle a single, specific domain. That means being able to understand and react to any user query related to this domain. A skill is also tied to a specific language.

A skill is composed of the following components:

  • Inputs define events that a bot can react to. There are 2 types of inputs:
    • user query: a sentence in natural language that a user says to a bot. Upon reception, the bot will try to extract 2 things from it:
      • an intent: it represents what the user is trying to express. It is usually a verb e.g. ask for the weather.
      • entities: they represent valuable piece of information that the bot will use later on. It is usually a noun e.g. location, name, quantity.
    • trigger: an automated event coming from an external system or scheduled at a given time.
  • Slots are the memory of the bot: they are used to store and remember some information during the conversation.
  • Replies are all the possible sentences that a bot can reply to a user.
  • Actions are complex tasks a bot can perform. It usually involves calling an external system, but can also be “rich” replies such as displaying buttons with choices or a link preview.
  • Stories bring everything together: by connecting inputs to replies or actions, they define the logic behind a skill.