本文介绍声明性代理清单使用的 1.6 架构。 清单是一个计算机可读文档,它提供大型语言模型 (LLM) ,以及专门解决一组选定用户问题所需的说明、知识和作。 Microsoft 365 应用清单引用 应用包内的声明性代理清单。 有关详细信息,请参阅 Microsoft 365 应用清单参考。
声明性代理在理解和生成类似人类的文本方面很有价值,因此它们可用于编写和回答问题等任务。 此规范侧重于声明性代理清单,该清单充当结构化框架,以专门化和增强特定用户所需的功能。
与以前版本相比的更改
此架构版本引入了 1.5 版中的以下更改:
- 添加了可选
sensitivity_label属性, 以便仅在代理具有嵌入文件时指定代理的 Purview 敏感度标签。 - 添加了可选
worker_agents属性以指定此代理可以使用的其他声明性代理。 - 添加了可选
user_overrides属性,以指定代理用户可以修改的已配置功能。 - 添加了 嵌入式知识 功能,允许代理使用本地文件作为知识。
-
items_by_id向会议对象添加了 属性,使代理创建者能够限制代理可用的会议。 -
include_related_content向 people 对象添加了 属性,允许代理创建者在搜索人员内容时选择包含相关文档、电子邮件和 Teams 消息。 -
group_mailboxes向电子邮件对象添加了 属性。
JSON 架构
约定
URL 中的相对引用
除非另行指定,否则作为 URL 的所有属性都可以是相对引用。 清单文档中的相对引用相对于清单文档的位置。
字符串长度
除非另有说明,否则将所有字符串属性限制为 4,000 个字符。 此字符串长度不会为文档中的所有字符串属性设置可接受的大小。 实现可以对清单长度设置自己的实际限制。
无法识别的属性
本文档中定义的 JSON 对象仅支持所述的属性。 任何 JSON 对象中无法识别或无关的属性会使整个文档无效。
字符串本地化
可本地化字符串可以使用本地化键而不是文本值。 语法为 [[key_name]],其中 key_name 是本地化文件中 属性中的 localizationKeys 键名称。 有关本地化的详细信息,请参阅 本地化代理。
声明性代理清单对象
清单文档的根目录是一个 JSON 对象,它涵盖所需的字段、功能、对话启动器和作。
声明性代理清单对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
version |
String | 必需。 架构版本。 设置为 v1.6。 |
id |
String | 可选。 清单的标识符。 |
name |
String | 必填。 可本地化。 声明性代理的名称。 它必须至少包含一个非空白字符,并且长度不超过 100 个字符。 |
description |
String | 必填。 可本地化。 声明性代理的说明。 它必须至少包含一个非空白字符,并且长度不超过 1,000 个字符。 |
instructions |
String | 必填。 有关声明性代理的行为方式、其函数以及要避免的任何行为的详细说明或指南。 它必须至少包含一个非空白字符,并且长度不超过 8,000 个字符。 |
capabilities |
Capabilities 对象的数组 | 可选。 包含一个对象数组,这些对象定义声明性代理的功能。 数组不能包含一个以上的每个派生类型的 Capabilities 对象。 |
conversation_starters |
Conversation 初学者对象的数组 | 可选。 标题和文本是可本地化的。 声明性代理可以回答的问题示例列表。 数组不能包含超过 12 个对象。 |
actions |
Action 对象的数组 | 可选。 1-10 个对象的列表,这些对象标识 API 插件 ,这些插件提供声明性代理可访问的作。 |
behavior_overrides |
行为重写对象 | 可选。 包含修改代理行为的配置设置。 |
disclaimer |
免责声明对象 | 可选。 在聊天开始时向用户显示的免责声明文本。 |
sensitivity_label |
敏感度标签对象 | 可选。 指定代理的Microsoft Purview 敏感度标签。 |
worker_agents |
辅助角色代理对象的数组 | 可选。 指定此代理可以使用的其他声明性代理。 |
user_overrides |
用户重写对象的数组 | 可选。 在 属性中 capabilities 指定用户可修改的功能。 |
声明性代理清单对象示例
以下代码显示了声明性代理清单中必填字段的示例。
{
"version": "v1.6",
"name": "Repairs agent",
"description": "This declarative agent is meant to help track any tickets and repairs",
"instructions": "This declarative agent needs to look at my Service Now and Jira tickets/instances to help me keep track of open items"
}
Capabilities 对象
capabilities 对象是声明性代理清单对象的 属性中的 capabilities 对象的基类型。 可能的对象类型包括:
- Web 搜索对象
- OneDrive 和 SharePoint 对象
- Copilot 连接器对象
- 图形艺术对象
- 代码解释器对象
- Dataverse 对象
- Microsoft Teams 消息对象
- Email 对象
- 用户对象
- 方案模型对象
- Meetings 对象
- 嵌入式知识对象
注意
仅当租户允许按流量计费或具有智能 Microsoft 365 Copilot 副驾驶®许可证时,用户才能使用除 Web 搜索以外的任何功能访问声明性代理。
Capabilities 对象示例
{
"capabilities": [
{
"name": "WebSearch",
"sites": [
{
"url": "https://contoso.com"
}
]
},
{
"name": "OneDriveAndSharePoint",
"items_by_sharepoint_ids": [
{
"site_id": "bc54a8cc-8c2e-4e62-99cf-660b3594bbfd",
"web_id": "a5377427-f041-49b5-a2e9-0d58f4343939",
"list_id": "78A4158C-D2E0-4708-A07D-EE751111E462",
"unique_id": "304fcfdf-8842-434d-a56f-44a1e54fbed2"
}
],
"items_by_url": [
{
"url": "https://contoso.sharepoint.com/teams/admins/Documents/Folders1"
}
]
},
{
"name": "GraphConnectors",
"connections": [
{
"connection_id": "jiraTickets"
}
]
},
{
"name": "GraphicArt"
},
{
"name": "CodeInterpreter"
},
{
"name": "Dataverse",
"knowledge_sources": [
{
"host_name": "organization.crm.dynamics.com",
"skill": "DVCopilotSkillName",
"tables": [
{
"table_name": "account"
},
{
"table_name": "opportunity"
}
]
}
]
},
{
"name": "TeamsMessages",
"urls": [
{
"url": "https://teams.microsoft.com/l/channel/19%3ApO0102YGEBRSH6RziXCxEgB4mtb7-5hIlDzAjtxs_dg1%40thread.tacv2/G%C3%A9n%C3%A9ral?groupId=2670cf94-acf5-48f4-96d4-c58dd8937afc&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47"
}
]
},
{
"name": "People"
},
{
"name": "ScenarioModels",
"models": [
{
"id": "model_id"
}
]
},
{
"name": "Meetings",
"items_by_id": [
{
"id": "010000002300A00045B6C7890D12E0030000000040056F7GH890IJ01000000000000000020000000J3L45M6A7NO8PQ9R0S12TUV340XY5Z00",
"is_series": true
}
]
}
]
}
Web 搜索对象
指示声明性代理可以在 Web 中搜索地面信息。
Web 搜索对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
name |
String | 必需。 必须设置为 WebSearch。 |
sites |
Site 对象的数组 | 可选。 对象数组,用于标识允许代理搜索的站点。 如果省略此属性,代理可以搜索所有网站。 数组不能包含四个以上的项。 |
注意
有关智能 Microsoft 365 Copilot 副驾驶® 对话助手和智能 Microsoft 365 Copilot 副驾驶®中 Web 搜索的数据、隐私和安全性的详细信息,请参阅 Web 搜索的数据、隐私和安全性。
网站对象
指示声明性代理可以搜索内容的网站。
站点对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
url |
String | 必填。 要搜索内容的网站的绝对 URL。 例如,URL 不能包含两个以上的路径段 (https://contoso.com/projects/mark-8 有效,但 https://contoso.com/projects/mark-8/beta-program) 无效。 URL 不能包含任何查询参数。 |
OneDrive 和 SharePoint 对象
指示声明性代理可以在用户的 SharePoint 和 OneDrive 中搜索地面信息。
OneDrive 和 SharePoint 对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
name |
String | 必需。 必须设置为 OneDriveAndSharePoint。 |
items_by_sharepoint_ids |
按 SharePoint ID 对象排列的项目数组 | 可选。 使用 ID 标识 SharePoint 或 OneDrive 源的对象数组。 如果省略 items_by_sharepoint_ids 和 items_by_url 属性,则声明性代理可以访问组织中的所有 OneDrive 和 SharePoint 源。 |
items_by_url |
按 URL 对象排列的项目数组 | 可选。 对象的数组,这些对象按 URL 标识 SharePoint 或 OneDrive 源。 如果省略 items_by_sharepoint_ids 和 items_by_url 属性,则声明性代理可以访问组织中的所有 OneDrive 和 SharePoint 源。 |
有关如何优化 Copilot 的 SharePoint 内容的信息,请参阅 优化 SharePoint 内容检索。
SharePoint ID 对象的项目
SharePoint ID 对象的项目包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
site_id |
String | 可选。 SharePoint 或 OneDrive 网站的唯一 GUID 标识符。 |
web_id |
String | 可选。 SharePoint 或 OneDrive 网站中特定 Web 的唯一 GUID 标识符。 |
list_id |
String | 可选。 SharePoint 网站中文档库的唯一 GUID 标识符。 |
unique_id |
String | 可选。 唯一 GUID 标识符,用于限定由 属性指定的 list_id 文档库中的文件夹或文件的范围。 |
search_associated_sites |
布尔值 | 可选。 指示是否启用搜索关联网站。 仅当该值引用 SharePoint HubSite 时, site_id 此值才适用。 |
part_type |
String | 可选。 指示部件 part_id 引用的类型。 仅当存在该值时, part_id 此值才适用。 可能的值为: OneNotePart。 |
part_id |
String | 可选。 用于表示 SharePoint 项目(如 OneNote 页面)的一部分的唯一 GUID 标识符。 |
提示
有关如何获取 SharePoint 或 OneDrive 资源的唯一标识符的信息,请参阅 检索声明性代理清单的功能 ID。
按 URL 对象排序的项目
按 URL 对象的项包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
url |
String | 可选。 SharePoint 或 OneDrive 资源的绝对 URL。 |
Copilot 连接器对象
指示声明性代理可以在所选的 Copilot 连接器中搜索地面信息。
Copilot 连接器对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
name |
String | 必需。 必须设置为 GraphConnectors。 |
connections |
Connection 对象的数组 | 可选。 一个对象的数组,这些对象标识可用于声明性代理的 Copilot 连接器。 如果省略此属性,则声明性代理可以访问组织中的所有 Copilot 连接器。 |
Connection 对象
标识 Copilot 连接器。
连接对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
connection_id |
String | 必填。 Copilot 连接器的唯一标识符。 |
additional_search_terms |
String | 可选。 关键字查询语言 (KQL) 查询,以基于连接架构中的字段筛选项。 |
items_by_external_id |
Item 标识符对象的数组 | 可选。 按 ID 在 Copilot 连接器中指定可供代理使用的特定项。 |
items_by_path |
Path 对象的数组 | 可选。 按项路径筛选代理可用的项, (项) itemPath 的语义标签。 |
items_by_container_name |
容器名称对象的数组 | 可选。 按容器名称筛选代理可用的项, (containerName) 项的语义标签。 |
items_by_container_url |
容器 URL 对象的数组 | 可选。 按容器 URL 筛选代理可用的项, (项) containerUrl 的语义标签。 |
提示
有关获取 Copilot 连接器的唯一标识符的说明,请参阅 检索声明性代理清单的功能 ID。
项目标识符对象
按 ID 标识外部项。
项标识符对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
item_id |
String | 必填。 外部项的唯一标识符。 |
Path 对象
按外部项的路径标识外部项。
路径对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
path |
String | 必填。 外部项 (itemPath 语义标签值) 的路径。 |
容器名称对象
按容器名称标识容器。
容器名称对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
container_name |
String | 必填。 容器的名称 (外部项的 containerName 语义标签值) 。 |
容器 URL 对象
通过容器的 URL 标识容器。
容器 URL 对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
container_url |
String | 必填。 容器的 URL (containerUrl 外部项的语义标签值) 。 |
图形艺术对象
指示声明性代理可以根据用户输入的文本创建图像和艺术。 有关详细信息,请参阅 映像生成器。
图形艺术对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
name |
String | 必填。 设置为 GraphicArt。 |
代码解释器对象
指示声明性代理可以生成和执行 Python 代码来解决复杂的数学问题、分析数据、生成可视化效果等。 有关详细信息,请参阅 代码解释器。
代码解释器对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
name |
String | 必填。 设置为 CodeInterpreter。 |
Dataverse 对象
指示声明性代理可以从 Dataverse 中的表中搜索数据。
Dataverse 对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
name |
String | 必填。 设置为 Dataverse。 |
knowledge_sources |
知识源数组 | 可选。 对象的数组,其中包含要作为知识包含的 Dataverse 实例的标识符、技能和表名称。 |
知识源对象
包含有关要作为知识包含的 Dataverse 实例的信息。
知识源对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
host_name |
String | 必填。 Dataverse 中主机的唯一标识符。 |
skill |
String | 一个唯一标识符,用于定义代理如何与 Dataverse 知识交互的配置。 |
tables |
表数组 | 用于限定代理知识范围的表数组。 |
若要查找要包括的 Dataverse 知识源的唯一 skill 标识符,
- 在“Copilot Studio”的左窗格中,选择“适用于 Microsoft 365 的代理>”,然后选择“添加”以创建新代理。
- 按照 添加 Dataverse 知识源 中的说明添加 Dataverse 知识。
- 选择“ 发布”,然后下载 .zip 文件。
- 解压缩并打开declarativeAgent.json文件。
- 值
skill包含在 节中knowledge_sources,如以下示例所示。
{
"name": "Dataverse",
"knowledge_sources": [
{
"host_name": "org0f612cfc.crm.dynamics.com",
"skill": "AIBuilderFileAttachedData_e7eTReDbkX_1t4X1oGoCF",
"tables": [
{
"table_name": "msdyn_aibfileattacheddata"
}
]
}
]
}
Tables 对象
包含用于限定代理知识范围的表。
tables 对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
table_name |
String | 必填。 表的唯一标识符。 |
Microsoft Teams 消息对象
指示声明代理可以搜索Microsoft Teams 频道、团队、会议、1:1 聊天和群组聊天。
Microsoft Teams 消息对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
name |
String | 必填。 设置为 TeamsMessages。 |
urls |
Microsoft Teams URL 数组 | 可选。 对象数组,用于标识可用于声明性代理的 Microsoft Teams 频道、会议聊天、群组聊天或 1:1 聊天的 URL。 数组不能包含五个以上的对象。 如果省略此属性,声明性代理可以搜索所有频道、会议、1:1 聊天和群组聊天。 |
Microsoft Teams URL 对象
标识Microsoft Teams 频道、团队或会议聊天。
Microsoft Teams URL 对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
url |
String | 必填。 格式正确的Microsoft Teams URL,链接到Microsoft Teams 频道、会议聊天、群组聊天或 1:1 聊天。 |
Email 对象
指示声明性代理可以在用户有权访问的邮箱中搜索电子邮件。
电子邮件对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
name |
String | 必需。 必须设置为 Email。 |
shared_mailbox |
String | 可选。 共享邮箱的 SMTP 地址。 |
group_mailboxes |
字符串数组 | 可选。 Microsoft 365 组或共享邮箱的 SMTP 地址数组。 最多支持 25 个邮箱。 |
folders |
文件夹数组 | 可选。 如果存在,则代理只能使用指定文件夹中的电子邮件。 |
Folders 对象
包含用于确定代理知识范围的文件夹。
folders 对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
folder_id |
String | 必填。 要引用的文件夹的已知文件夹名称或文件夹 ID。 |
用户对象
指示声明性代理可以搜索有关组织中人员的信息。 有关基本人员功能返回的数据的更多详细信息,请参阅人员知识。
people 对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
name |
String | 必需。 必须设置为 People。 |
include_related_content |
布尔值 | 可选。 指示在搜索人员数据时是否包含相关内容。 设置为 true 时,DA 将包括代理用户与被引用人员之间的相关文档、电子邮件和 Teams 消息 (即他们共同) 的内容。 设置为 false 或省略时,将仅包括组织图表、姓名、电子邮件地址和技能等基本组织信息。 默认值为 false。 |
方案模型对象
指示声明性代理可以使用特定于任务的模型。
方案模型对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
name |
String | 必需。 必须设置为 ScenarioModels。 |
models |
Model 对象的数组 | 必填。 对象的数组,标识可用于声明性代理的任务特定模型。 |
Model 对象
标识特定于任务的模型。
模型对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
id |
String | 必填。 模型的唯一标识符。 |
Meetings 对象
指示声明性代理可以搜索有关组织中会议的信息。
meetings 对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
name |
String | 必需。 必须设置为 Meetings。 |
items_by_id |
会议标识符对象的数组 | 可选。 一个对象数组,用于标识可用于声明性代理的会议。 数组不能包含五个以上的对象。 如果省略此属性,声明性代理可以搜索所有会议。 |
会议标识符对象
标识会议。
会议标识符对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
id |
String | 必填。 会议的唯一标识符。 有关查找会议 ID 的说明,请参阅 获取会议的 ID。 |
is_series |
布尔值 | 必填。 指示会议是否为系列会议。 |
嵌入式知识对象
指示声明性代理可以在应用包中本地使用文件。
重要
此功能尚不可用。
嵌入式知识文件的最大文件大小为 1 MB,并且必须是以下文档类型之一:
- Word文档 (.doc,.docx)
- PowerPoint 演示文稿 (.ppt、.pptx)
- Excel 工作簿 (.xls,.xlsx)
- 纯文本 (.txt)
- 可移植文档格式 (.pdf)
嵌入式知识对象包含以下属性:
| 属性 | 类型 | 说明 |
|---|---|---|
name |
String | 必需。 必须设置为 EmbeddedKnowledge。 |
files |
File 对象的数组 | 可选。 标识包含代理可用于地面的知识的文件的对象列表。 数组的最大大小为 10。 |
EmbeddedKnowledge 对象示例
{
"name": "EmbeddedKnowledge",
"files": [
{ "file": "file1.docx" },
{ "file": "file2.csv" }
]
}
File 对象
| 属性 | 类型 | 说明 |
|---|---|---|
file |
String | 必填。 嵌入文件的文件相对路径。 |
对话初学者对象
会话初学者对象在清单中是可选的。 它包含提示,该代理向用户显示,以演示如何开始使用声明性代理。
对话初学者对象包含以下属性:
| 属性 | 类型 | 说明 |
|---|---|---|
text |
String | 必填。 可本地化。 建议用户可用于从声明性代理获取所需结果。 它必须至少包含一个非白空间字符。 |
title |
String | 可选。 可本地化。 对话初学者的唯一标题。 它必须至少包含一个非白空间字符。 |
注意
数组不能包含超过六个对象。
对话初学者对象示例
{
"conversation_starters": [
{
"title": "My Open Repairs",
"text": "What open repairs are assigned to me?"
}
]
}
Actions 对象
作是清单中的可选 JSON 对象。 它们充当开发人员输入,可被视为插件。
作对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
id |
String | 必填。 作的唯一标识符。 它可以是 GUID。 |
file |
String | 必填。 此作的 API 插件清单的路径。 |
注意
数组必须包含至少一个且不超过 10 个对象。
Actions 对象示例
行为重写对象
一个可选的 JSON 对象,其中包含替代代理行为的配置设置。
行为重写 对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
suggestions |
Suggestions 对象 | 可选。 包含建议功能的配置设置。 |
special_instructions |
特殊指令对象 | 可选。 包含用于将特殊说明注入提示的设置。 |
Suggestions 对象
包含建议功能的配置设置的可选 JSON 对象。
suggestions 对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
disabled |
Boolean | 必填。 如果设置为 true,则禁用建议功能。 默认值为 false。 |
特殊指令对象
可选的 JSON 对象,其中包含用于将特殊指令注入提示的设置。
特殊指令对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
discourage_model_knowledge |
Boolean | 必填。 如果设置为 true,则代理在生成响应时不使用模型知识。 默认值为 false。 |
免责声明对象
免责声明是清单中指定免责声明文本的可选 JSON 对象。 代理在会话开始时向用户显示此文本。
免责声明对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
text |
String | 必填。 免责声明文本。 该值必须至少包含一个非空格字符,并且不应超过 500 个字符。 |
敏感度标签对象
注意
仅当代理具有嵌入式文件时,敏感度标签才会应用于代理。 此属性尚未启用,因为尚未启用嵌入文件。
可选的 JSON 对象,指定代理中嵌入文件的 Microsoft Purview 敏感度标签。 它包含嵌入到 Embedded Knowledge 属性中代理的所有文件的最高保护
| 属性 | 类型 | 说明 |
|---|---|---|
id |
String | Microsoft Purview 中敏感度标签的 GUID。 |
敏感度标签对象示例
{
"sensitivity_label": {
"id": "<guid>"
}
}
辅助角色代理对象
标识可由此代理使用的声明性代理。
重要
此功能尚不可用。
辅助角色代理对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
id |
String | 必填。 包含声明性代理的应用程序的游戏 ID。 使用 Microsoft 365 Agents Toolkit 发布应用程序时会返回,也可以在开发人员模式卡的代理元数据部分找到。 |
用户重写对象
重要
此功能尚不可用。
标识代理中的功能,代理最终用户可以通过 智能 Microsoft 365 Copilot 副驾驶® 中的 UI 控件进行修改。
注意
在 中path声明GraphConnectors时,系统使用友好名称存储并显示Microsoft提供的连接器,并使用连接器名称 (自定义连接器,例如 CB Insights) 。 此行为可确保最终用户在配置代理会话时轻松识别和管理连接器源。 有关连接器和发布者的详细信息,请参阅 智能 Microsoft 365 Copilot 副驾驶® 连接器库。
用户重写对象包含以下属性。
| 属性 | 类型 | 说明 |
|---|---|---|
path |
String | 必填。 标识用户可以修改的功能的 JSONPath 表达式。 JSONPath 表达式仅允许按名称定位特定功能。 |
allowed_actions |
字符串数组 | 必需。 指定可以对指定的功能执行作。 唯一受支持的作是 remove。 |
声明性代理清单示例
以下示例演示一个声明性代理清单文件,该文件使用本文中所述的大多数清单属性。
{
"$schema": "https://developer.microsoft.com/json-schemas/copilot/declarative-agent/v1.6/schema.json",
"version": "v1.6",
"name": "Teams Toolkit declarative agent",
"description": "Declarative agent created with Teams Toolkit",
"instructions": "You are a repairs expert agent. With the response from the listRepairs function, you **must** create a poem out of the repairs listed and always include their title and the assigned person. The poem **must** not use the quote markdown and use regular text. If the user is asking to create a new repair, use the createRepair function and do not add poems.",
"conversation_starters": [
{
"title": "Getting Started",
"text": "How can I get started with Teams Toolkit?"
},
{
"title": "Getting Help",
"text": "How can I get help with Teams Toolkit?"
}
],
"sensitivity_label": {
"id": "00000000-0000-0000-0000-000000000000"
},
"actions": [
{
"id": "repairsPlugin",
"file": "repairs-hub-api-plugin.json"
}
],
"behavior_overrides": {
"suggestions": {
"disabled": true
},
"special_instructions": {
"discourage_model_knowledge": true
}
},
"disclaimer": {
"text": "This declarative agent is a fictional example. You should not take it seriously."
},
"worker_agents": [
{
"id": "P_2c27ae89-1f78-4ef7-824c-7d83f77eda28"
}
],
"user_overrides": [
{
"path": "$.capabilities[?(@.name == 'OneDriveAndSharePoint')]",
"allowed_actions": [
"remove"
]
}
],
"capabilities": [
{
"name": "WebSearch",
"sites": [
{
"url": "https://contoso.com/projects/mark-8"
}
]
},
{
"name": "OneDriveAndSharePoint",
"items_by_url": [
{
"url": "https://contoso.sharepoint.com/sites/ProductSupport"
}
]
},
{
"name": "GraphConnectors",
"connections": [
{
"connection_id": "foodStore"
}
]
},
{
"name": "GraphicArt"
},
{
"name": "CodeInterpreter"
},
{
"name": "Dataverse",
"knowledge_sources": [
{
"host_name": "organization.crm.dynamics.com",
"skill": "DVCopilotSkillName",
"tables": [
{
"table_name": "account"
},
{
"table_name": "opportunity"
}
]
}
]
},
{
"name": "TeamsMessages",
"urls": [
{
"url": "https://teams.microsoft.com/l/channel/19%3ApO0102YGEBRSH6RziXCxEgB4mtb7-5hIlDzAjtxs_dg1%40thread.tacv2/G%C3%A9n%C3%A9ral?groupId=2670cf94-acf5-48f4-96d4-c58dd8937afc&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47"
}
]
},
{
"name": "Email",
"shared_mailbox": "sample@service.microsoft.com",
"folders": [
{
"folder_id": "inbox"
}
]
},
{
"name": "People"
},
{
"name": "ScenarioModels",
"models": [
{
"id": "model_id"
}
]
},
{
"name": "Meetings",
"items_by_id": [
{
"id": "010000002300A00045B6C7890D12E0030000000040056F7GH890IJ01000000000000000020000000J3L45M6A7NO8PQ9R0S12TUV340XY5Z00",
"is_series": true
}
]
},
{
"name": "EmbeddedKnowledge",
"files": [
{ "file": "file1.docx" },
{ "file": "file2.csv" }
]
}
]
}