Bots

Bots are a collection of workers and configuration that come together to meet a set of customer use cases. These are made up of at least one worker, and at least one way of understanding utterances.

Example Bot Definition

{
  "Workers": [],
  "State": "RUNNING",
  "SecureSession": false,
  "QuietTimeEnabled": false,
  "NluManagementMode": "ServisBOT",
  "Persona": "integration-bot",
  "Organization": "steve",
  "DisplayName": "langbot",
  "Created": 1627553133508,
  "Updated": 1627553133508,
  "CreatedBy": "stephen.walsh@servisbot.com",
  "Name": "langbot",
  "Srn": "srn:botnet:eu-private-3:steve:bot:langbot",
  "RelatedResources": [{
    "ResourceType": "Bot",
    "Alias": "langbotSpanish",
    "Relationship": "LanguageChild",
    "Properties": {
      "Language": "es"
    }
  }]
}
  • Created - [System Field] - Records the date when this bot was created.
  • CreatedBy - [System Field] - Records user that created this bot.
  • DisplayName - [Optional] - Human-readable non-unique name for the bot. Can accept spaces.
  • Name - [Required] - Unique ID for the bot.
  • NluManagementMode - [Required] - Describes what system is expected to own the updates of this bot’s NLP model. Remote is for “BYO” bot scenarios where training data should not be updated by ServisBOT.
  • Organization -[System Field] - Describes what organization bot is a part of
  • Persona - [Optional] - Changes what bot icon is used in portal
  • QuietTimeEnabled - Deprecated field
  • RelatedResources - [Optional] Describes relationships to other bots and services. See available configurations
  • SecureSession - [Defaults to false] - Configuration for requiring end users to be authenticated with using the bot.
  • Srn - [System Field] - System Resource Name
  • State - [Required] - Running, Stopped, Paused states. Paused and Stopped bots cannot accept user input or incur billing charges.
  • UpdatedBy - [System Field] - Records user that last updated
  • Updated - [System Field] - Records date of last bot update. This refers to the bot object, and not its resources.
  • Workers - [Required] - Units of work within a bot that process user input. See available worker types

Workers

The available worker types are:

Adding Workers to Bots

Workers can be added to a bot either through the Add Resource button on a bots detail page in portal, or through the CLI manually by updating the definition of the bot.

Limitations/Exceptions

  • Action flow workers should not be added to the same bot from which they will be triggered.
  • Filter workers should always be added to the top of a bot’s worker array.
  • When adding a worker from the CLI, the worker will have to be existing, or created through a previous step.

RelatedResources

Language copies of a bot can be referenced in the RelatedResources property. A bot can have many relationships or none.

A bot with a language copy child will have the following relationship

"RelatedResources": [{
  "ResourceType": "Bot",
  "Alias": "langbot-es",
  "Relationship": "LanguageChild",
  "Properties": {
    "Language": "es"
  }
}]

That child will have a reciprocal relationship with its parent bot.

"RelatedResources": [{
  "ResourceType": "Bot",
  "Alias": "langbot",
  "Relationship": "LanguageParent",
  "Properties": {
    "Language": "en"
  }
}],

Learn more