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.
Type
configuration
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"
}
]
}
]
]
}