root.bots object

Defines a bot solution, along with optional information such as default command properties.

Properties that reference this object type:

Syntax

{
  "botId": "{string}",
  "configuration": {
    "team": {
      team object
    },
    "groupChat": {
      groupChat object
    }
  },
  "needsChannelSelector": {boolean},
  "isNotificationOnly": {boolean},
  "requiresSecurityEnabledGroup": {boolean},
  "supportsFiles": {boolean},
  "supportsCalling": {boolean},
  "supportsVideo": {boolean},
  "scopes": [
    "team | personal | groupChat"
  ],
  "commandLists": [
    {
      "scopes": [
        "team | personal | groupChat"
      ],
      "commands": [
        {
          commands object
        }
      ]
    }
  ],
  "requirementSet": {
    "hostMustSupportFunctionalities": [
      {
        hostFunctionality object
      }
    ]
  }
}
{
  "botId": "{string}",
  "configuration": {
    "team": {
      team object
    },
    "groupChat": {
      team object
    }
  },
  "needsChannelSelector": {boolean},
  "isNotificationOnly": {boolean},
  "supportsFiles": {boolean},
  "supportsCalling": {boolean},
  "supportsVideo": {boolean},
  "scopes": [
    "team | personal | groupChat"
  ],
  "commandLists": [
    {
      "scopes": [
        "team | personal | groupChat"
      ],
      "commands": [
        {
          commands object
        }
      ]
    }
  ]
}

Properties

botId

The Microsoft App ID specified for the bot in the Bot Framework portal (https://dev.botframework.com/bots)

Type
string

Required

Constraints

Supported values
The string value must be a guid.

configuration

Represents configuration information for the given scope of the bot.

Required

Constraints

Supported values

needsChannelSelector

This value describes whether or not the bot utilizes a user hint to add the bot to a specific channel.

Type
boolean

Required

Constraints

Supported values
Default value: False.

isNotificationOnly

A value indicating whether or not the bot is a one-way notification only bot, as opposed to a conversational bot.

Type
boolean

Required

Constraints

Supported values
Default value: False.

requiresSecurityEnabledGroup

A value indicating whether the team's Office group needs to be security enabled.

Type
boolean

Required

Constraints

Supported values
Default value: False.

supportsFiles

A value indicating whether the bot supports uploading/downloading of files.

Type
boolean

Required

Constraints

Supported values
Default value: False.

supportsCalling

A value indicating whether the bot supports audio calling.

Type
boolean

Required

Constraints

Supported values
Default value: False.

supportsVideo

A value indicating whether the bot supports video calling.

Type
boolean

Required

Constraints

Supported values
Default value: False.

scopes

Specifies whether the bot offers an experience in the context of a channel in a team, in a 1:1 or group chat, or in an experience scoped to an individual user alone. These options are non-exclusive.

Type
Array of enum

Required

Constraints
Maximum array items: 3.

Supported values
Allowed values: team, personal, groupChat.

commandLists

The list of commands that the bot supplies, including their usage, description, and the scope for which the commands are valid. A separate command list should be used for each scope.

Type
Array of commandLists

Required

Constraints
Maximum array items: 3.

Supported values

requirementSet

Runtime requirements for the bot to function properly in the Microsoft 365 host application. If one or more of the requirements aren't supported by the runtime host, the host won't load the bot.

Required

Constraints

Supported values

Remarks

The item is an array (maximum of only one element— only one bot is allowed per app) with all elements of the type object. This block is required only for solutions that provide a bot experience.

Examples

{
 "bots": [
        "commandLists": [
            {
                "scopes": [
                    "team",
                    "groupChat"
                ],
                "commands": [
                    {
                        "title": "Command 1",
                        "description": "Description of Command 1"
                    },
                    {
                        "title": "Command 2",
                        "description": "Description of Command 2"
                    }
                ]
            },
            {
                "scopes": [
                    "personal",
                    "groupChat"
                ],
                "commands": [
                    {
                        "title": "Personal command 1",
                        "description": "Description of Personal command 1"
                    },
                    {
                        "title": "Personal command N",
                        "description": "Description of Personal command N"
                    }
                ]
            }
        ]
    ]
}