Custom engine agents represent advanced, custom workflows and provide full control over orchestration, AI models, and data integrations. These agents are integrated into the Microsoft Copilot UI, providing a seamless experience for end-users, similar to declarative agents. To learn more about custom engine agents, see Custom engine agents for Microsoft 365 overview.
Properties that reference this object type:
Syntax
{
"id": "{string}",
"type": "bot",
"disclaimer": {
"text": "{string}"
},
"functionsAs": "agentOnly | agenticUserOnly | agentOrAgenticUser",
"agenticUserTemplateId": "{string}"
}
{
"type": "object",
"properties": {
"id": {
"$ref": "#/definitions/guid",
"description": "The id of the Custom Engine Agent. If it is of type bot, the id must match the id specified in a bot in the bots node and the referenced bot must have personal scope. The app short name and short description must also be defined."
},
"type": {
"type": "string",
"enum": [
"bot"
],
"description": "The type of the Custom Engine Agent. Currently only type bot is supported."
},
"disclaimer": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The message shown to users before they interact with this application. ",
"maxLength": 500
}
},
"required": [
"text"
]
},
"functionsAs": {
"type": "string",
"enum": [
"agentOnly",
"agenticUserOnly",
"agentOrAgenticUser"
],
"default": "agentOnly",
"description": "Possible values: \u0027agenticUserOnly\u0027, \u0027agentOnly\u0027, or \u0027agentOrAgenticUser\u0027. \u0027agenticUserOnly\u0027 means the customEngineAgent must be hired and cannot be installed as a regular agent. \u0027agentOrAgenticUser\u0027 means the customEngineAgent supports both being installed as a regular agent and being hired. \u0027agentOnly\u0027 means it supports being installed as a regular agent only (default)."
},
"agenticUserTemplateId": {
"type": "string",
"description": "Unique identifier for the agentic user template. This id must match the id specified in an agentic user template in the agenticUserTemplates node"
}
},
"required": [
"id",
"type"
],
"additionalProperties": false
}
{
"id": "{string}",
"type": "bot",
"disclaimer": {
"text": "{string}"
}
}
{
"type": "object",
"properties": {
"id": {
"$ref": "#/definitions/guid",
"description": "The id of the Custom Engine Agent. If it is of type bot, the id must match the id specified in a bot in the bots node and the referenced bot must have personal scope. The app short name and short description must also be defined."
},
"type": {
"type": "string",
"enum": [
"bot"
],
"description": "The type of the Custom Engine Agent. Currently only type bot is supported."
},
"disclaimer": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The message shown to users before they interact with this application. ",
"maxLength": 500
}
},
"required": [
"text"
]
}
},
"required": [
"id",
"type"
],
"additionalProperties": false
}
{
"id": "{string}",
"type": "bot"
}
{
"type": "object",
"properties": {
"id": {
"$ref": "#/definitions/guid",
"description": "The id of the Custom Engine Agent. If it is of type bot, the id must match the id specified in a bot in the bots node and the referenced bot must have personal scope. The app short name and short description must also be defined."
},
"type": {
"type": "string",
"enum": [
"bot"
],
"description": "The type of the Custom Engine Agent. Currently only type bot is supported."
}
},
"required": [
"id",
"type"
],
"additionalProperties": false
}
Properties
id
Unique (bot) identifier for the custom engine agent. Must match the botId specified in the bots section of the manifest, and the referenced bot must be of personal scope. The app short name and description must also be defined.
Supported values
The string value must be a guid.
type
Type of the custom engine agent.
Supported values
Allowed values: bot.
disclaimer
The disclaimer message shown to users before they interact with this application.
functionsAs
Value of 'agenticUserOnly' means the customEngineAgent must be hired and cannot be installed as a regular agent. 'agentOrAgenticUser' means the customEngineAgent supports both being installed as a regular agent and being hired. 'agentOnly' (default) means it supports being installed as a regular agent only.
Supported values
Allowed values: agentOnly, agenticUserOnly, agentOrAgenticUser.
agenticUserTemplateId
Unique identifier for the agentic user template. This id must match the id specified in an agentic user template in the agenticUserTemplates node