Bots

A bot is a Mix application with configurations that include dialog builds. Integrators use the DLGaaS API to interact as needed with bot applications.

Bots can take speech, text, or a natural language interpretation as input, perform reasoning in context using NLU, and can produce synthesized speech, orchestrating the entire experience with an end user.

For example, through the DLGaaS API, integrators can have bots that:

  • Stream audio to ASRaaS
  • Use their own third-party NLU interpretation engine or Mix NLUaaS to perform interpretation
  • Produce synthesized speech through TTSaaS

Bots have bot configurations. A bot configuration is a Mix application configuration with a dialog build. It describes the deployment flow that the bot configuration has gone through. A bot configuration is identified with a context tag, which points to specific versions of Mix resources. Configurations are deployed to environment geographies using a deployment flow.

You can access the deployed configurations using a set of bot credentials for the respective environment. Credentials include OAuth clients that are used to access runtime services. Clients also have OAuth scopes that determine the services that they can access.

Bot configuration interfaces are obtained from a bot configuration and provide an integration layer that describes the languages, channels and modalities, variables, as well as transfer nodes (both end and escalate) of a bot.

The Mix.api Bots endpoints provide integrators with the metadata necessary to call the DLGaaS API. For example:

  • The Get Bot Credentials endpoint provides the information required to authorize the client application
  • The Get Bot Config endpoint provides the context tag to specify the bot URN in the StartRequest payload
  • The Get Bot Config Interface endpoint provides the variables that can be passed at the start of the session; see Exchanging session data
  • The Get Bot Config Interface endpoint also provides the variables that are expected by the transfer nodes; this allows integrators to determine the data that must be passed back from the transfer actions in the ExecuteResponse

Get list of bots

GET /v4/organizations/{orgId}/bots

Retrieve the list of bots available in the organization specified.

Responses

Status Meaning Description Schema
200 OK List of bots mix.api.ListBotsResponse
401 Unauthorized Request could not be authorized Inline
500 Internal Server Error Internal server error Inline
default Default An unexpected error response. grpc.gateway.runtime.Error

Example responses

  200 response  

Get bot credentials

GET /v4/bots/{botId}/credentials

Retrieve the list of bot credentials that correspond to the query criteria specified.

Responses

Status Meaning Description Schema
200 OK List of bot credentials mix.api.ListBotCredentialsResponse
401 Unauthorized Request could not be authorized Inline
404 Not Found No content found Inline
500 Internal Server Error Internal server error Inline
default Default An unexpected error response. grpc.gateway.runtime.Error

Example responses

  200 response  

Get list of bot configurations

GET /v4/bots/{botId}/configs

Retrieve the list of application configurations available for a bot.

Responses

Status Meaning Description Schema
200 OK List of application configurations for the bot mix.api.ListBotConfigsResponse
401 Unauthorized Request could not be authorized Inline
404 Not Found No content found Inline
500 Internal Server Error Internal server error Inline
default Default An unexpected error response. grpc.gateway.runtime.Error

Example responses

  200 response  

Get bot config interface

GET /v4/bots/{botId}/configs/{configId}/interface

Retrieve the configuration interface (locales, channels, variables, and so on) for a bot.

Responses

Status Meaning Description Schema
200 OK Configuration interface for a bot mix.api.GetBotConfigInterfaceResponse
400 Bad Request Request contains invalid arguments Inline
401 Unauthorized Request could not be authorized Inline
404 Not Found No content found Inline
500 Internal Server Error Internal server error Inline
default Default An unexpected error response. grpc.gateway.runtime.Error

Example responses

  200 response