适用于 智能 Microsoft 365 Copilot 副驾驶® 的声明性代理架构 1.6

本文介绍声明性代理清单使用的 1.6 架构。 清单是一个计算机可读文档,它提供大型语言模型 (LLM) ,以及专门解决一组选定用户问题所需的说明、知识和作。 Microsoft 365 应用清单引用 应用包内的声明性代理清单。 有关详细信息,请参阅 Microsoft 365 应用清单参考

声明性代理在理解和生成类似人类的文本方面很有价值,因此它们可用于编写和回答问题等任务。 此规范侧重于声明性代理清单,该清单充当结构化框架,以专门化和增强特定用户所需的功能。

与以前版本相比的更改

此架构版本引入了 1.5 版中的以下更改:

  • 添加了可选 sensitivity_label 属性, 以便仅在代理具有嵌入文件时指定代理的 Purview 敏感度标签。
  • 添加了可选 worker_agents 属性以指定此代理可以使用的其他声明性代理。
  • 添加了可选 user_overrides 属性,以指定代理用户可以修改的已配置功能。
  • 添加了 嵌入式知识 功能,允许代理使用本地文件作为知识。
  • items_by_id会议对象添加了 属性,使代理创建者能够限制代理可用的会议。
  • include_related_contentpeople 对象添加了 属性,允许代理创建者在搜索人员内容时选择包含相关文档、电子邮件和 Teams 消息。
  • group_mailboxes电子邮件对象添加了 属性。

JSON 架构

在此处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 对象的基类型。 可能的对象类型包括:

注意

仅当租户允许按流量计费或具有智能 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_idsitems_by_url 属性,则声明性代理可以访问组织中的所有 OneDrive 和 SharePoint 源。
items_by_url 按 URL 对象排列的项目数组 可选。 对象的数组,这些对象按 URL 标识 SharePoint 或 OneDrive 源。 如果省略 items_by_sharepoint_idsitems_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 标识符,

  1. 在“Copilot Studio”的左窗格中,选择“适用于 Microsoft 365代理>”,然后选择“添加”以创建新代理。
  2. 按照 添加 Dataverse 知识源 中的说明添加 Dataverse 知识。
  3. 选择“ 发布”,然后下载 .zip 文件。
  4. 解压缩并打开declarativeAgent.json文件。
  5. 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 对象示例

{
  "actions": [
    {
      "id": "repairsPlugin",
      "file": "plugin.json"
    }
  ]
}

行为重写对象

一个可选的 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" }
      ]
    }
  ]
}