Common Format

ServisBOT defines bots in a conversational experience using a common format. We break it up into 3 bot design file artifacts: utterances, actions and entities. This makes it easy to extract or import from NLP providers, as well as translate a large host of documentation or content into a preliminary conversational experience.

Welcome and Fallback Intents

ServisBOT automatically detects intents named welcome and fallback.

  • A welcome intent will trigger botnet actions when a conversation is started. These can also take utterances so that if the user says things like hello, the bot can respond accordingly.
  • A fallback intent is not handled at the NLP provider, but will be triggered when no workers have matching intents. No utterances are required for these intents.

Utterances.csv

This file defines what utterances and intents reside in what bot as part of a Virtual Assistant Architecture. While experts might be able to provide this easily, usually we expect that a diagnostic needs to be run on the Data.csv to better understand an appropriate bot architecture.

Botname Intent Utterance
bot1 ServisBOTDesc What is ServisBOT
bot1 ServisBOTDesc What does ServisBOT do?
bot2 ServisBOTWho Who are you

Column Descriptions

  • [botname] Required - is either [PI] or [Claims]. If unknown then leave blank.
  • [intent] Required - an alias to be used for identifying the intent. Intents are case sensitive and should not contain special characters such as hyphens, underscores or spaces.
  • [utterance] Required - a slotted training statement using soft braces {} for slots, i.e. {car-color} where car-color is the slot name. Utterances should not contain numerical characters.

Optional additional fields

  • [displayName] Providing a human readable name that does not get synced over to the nlp provider
  • [parentintent] if supporting hierarchical intents then use parent intent alias, otherwise leave blank.

Actions.csv

Intents can trigger any action across the ServisBOT Action Plane (Such as response, BaaS Call, CMS item, etc). A mapping is as simple as providign the intent, type, and value.

intent value
ServisBOT We build conversational experiences

It is possible to trigger multiple actions off an intent by adding additional rows per action.

Column Descriptions

  • [intent] Required - map this to the intent alias. Intents are case sensitive and should not contain special characters such as hyphens, underscores or spaces.
  • [Value] Required - The message or action data associated to what you want done

Optional additional fields

  • [lifecycleTrigger] - If you want botnet actions to be triggered in an intent is detected but not yet filled out
    • intent_detected
    • fulfilment
  • [Type] - This specifies the botnet action to be triggered after an utterances
    • message for send message
    • executeapi to call an API via the BaaS
    • markup to send timeline markup
    • action flow
    • flow to trigger a flow
    • goals to trigger Goals
    • hostnotification so send the client notifications

Entities.csv

In order to create more natural and intuitive conversational experiences, bots will need to rely on slots/parameters/entities. We drop this all into a bucket for “Entities”

category name value synonymn
Item Size L Large
Item Size M Medium
Item Size S Small

Column Descriptions

  • [category] label i.e. car
  • [name] label i.e. car-color
  • [value] expected value of the entity.
  • [synonymn] array of alternative values.