事件触发器概述

您可以配置自定义代理以执行操作或调用主题,以使用事件触发器响应所发生的事情。与需要用户输入的主题触发器不同,事件触发器允许您的代理自主操作以响应发生的定义事件。

重要提示

启用事件触发器会影响计费的计算方式。 详细了解生成模式的计费

备注

此功能仅适用于启用了生成式编排的 代理

事件触发器工作原理

事件触发器需要一个选定的事件,该事件生成触发器有效负载并通过连接器将其发送到代理。 有效负载包含有关事件的信息,包括特定类型数据的变量。 当代理收到有效负载时,它会执行代理作者在代理的指令和通过触发器有效负载发送的指令中提供的指令。

代理仅根据其作者的设计和说明行事。 例如,您可以在添加新团队成员时添加触发器,并将响应指定为向新员工发送包含入职资源的欢迎消息的操作

事件触发器根据代理外部的事件激活。 它们与主题触发器不同,主题触发器用于根据用户输入的触发短语激活主题或操作。

本文介绍事件触发器的工作原理、其局限性和故障排除策略。 有关添加事件触发器的详细信息,请参阅添加事件触发器

事件触发器的其他示例包括:

  • 当在 SharePoint 中创建项时
  • 在 OneDrive 中创建文件时
  • 计划器中的任务完成时
  • 经过的设定时间量(重复触发器)

重要提示

哪些触发器可用取决于组织的数据丢失防护策略,由管理员在 Power Automate 中进行配置。

事件触发器的计费和使用情况

事件触发活动计入使用量和计费的消耗单位。 消息定义为发送到代理的任何请求或消息,其触发来自代理的操作或回复。 这包括从事件触发器发送到代理的有效负载。 例如,设置为每 10 分钟激活一次的重复触发器每 10 分钟将触发器有效负载作为消息发送到代理。

更多信息,请参阅管理 Copilot Studio 消息和容量

触发器工作流程

触发器是包含多个部分的工作流的一部分:

  1. 事件触发器注册发生了特定事件
  2. 触发器发送包含有关事件和说明的信息的有效负载
  3. 代理有指令,可根据有效载荷选择一个或多个操作主题

查找适合您的事件的触发器

Copilot Studio 有一个触发器库,用于 Microsoft 和合作伙伴服务中可能发生的一系列事件。 触发器配置确定启动触发器的事件的参数。 它还确定触发器有效负载的内容。

事件触发器库的屏幕截图。

大多数触发器都允许您指定有关激活触发器的事件的参数。 例如,在用于 Dataverse 的添加、修改或删除行时触发器中,选择哪个表的更改会激活触发器。

定义触发器有效负载

触发器有效负载是包含事件信息的 JSON 或纯文本消息,作为消息发送给代理。 添加触发器时,您可以保留该触发器的默认有效负载内容,也可以添加自己的指令。 稍后,您可以在 Power Automate 中修改有效负载内容,包括添加变量和字符串运算符。

例如,添加、修改或删除行时触发器中的默认消息为使用 Body 的内容。 当代理收到有效负载时,它包含该行的内容以及使用该内容的说明。

定义触发器的字段截图。

您可以在有效负载内添加要发送到代理的指令,指导代理在触发器激活时如何操作。 如果有多个触发器,则每个触发器有效负载都可以具有特定且详细的说明。 因此,您可以避免在代理的一般说明中编写冗长而复杂的指南,或者混淆代理哪些说明适用于哪个触发器。

例如,在添加、修改或删除一行时触发器有效载荷中,可以添加在聊天中发送更改摘要。 当代理收到有效负载时,它会在代理聊天中为用户汇总更改。

但是,请避免编写与代理的一般说明相冲突的有效负载指令。 指令中的冲突可能会导致错误或意外结果。 请确保测试涉及事件触发器的所有更改。

创建触发器后,您可以在触发器有效负载中添加或更改变量或字符串运算符,并使用 Power Automate 修改现有有效负载指令。

代理指令与有效负载指令

有效负载指令特定于如何对一个事件做出反应。 您还可以使用代理指令来指导您的代理如何处理来自触发器的信息,以及在收到触发器有效载荷时如何行动,并确定代理的一般行为。 例如,对于检查新 Dataverse 表行中是否有重复账户名的代理,指令可以是:添加新行时,检查是否为重复账户。如果有重复,则创建待办任务进行调查,并包含有关更改和重复的详细信息。

代理说明字段截图。

不过,代理说明可能并不适合所有情况。 如果您的代理有多个触发器或多个复杂目标,则应使用触发器载荷中的说明。

继续上一个示例,您可以在触发器有效负载中添加一条指令,以便在同一 Dataverse 表中查找重复的帐户名称。当代理收到有效负载时,系统会指示它查找重复的帐户名称。 代理的一般说明然后说,如果有重复项,请创建一个待办事项任务进行调查,并包括有关更改和重复项的详细信息。

用于在创建触发器时添加触发器有效负载指令的字段的屏幕截图。

为代理创建指令需要练习。 转到写作指南以获取更多提示,并始终测试您对代理所做的所有更改。

调用操作或主题

当代理收到触发器有效负载时,您提供给它的指令会根据它可用的信息确定它调用的操作或主题作为响应。

您的代理不会当场创建新的操作或主题。 作为代理作者,您需要定义它可以选择的操作或主题。 要了解您的代理如何确定要调用的操作或主题,请转到生成业务流程的工作原理?

如果您的代理没有按预期做出反应,您可以使用活动图查看它是否缺少任何关键输入信息。

显示缺少输入的操作的活动图的屏幕截图。

您可以对说明进行的一些改进包括:

  • 在触发器有效负载或代理说明中添加更详细的说明。 您的代理可能需要更多指导,例如在特定输入字段中使用哪些信息进行操作。
  • 触发器有效负载中包含指令。
  • 指示您的代理调用特定操作或主题。
  • 检查触发器有效负载和代理指令之间是否存在冲突指令。
  • 添加到操作的描述中,因此代理有更多信息来确定何时调用它。
  • 在操作输入字段中添加说明,帮助代理正确填写参数。 如果操作的输入每次都相同,您可以自行设置值。
  • 连续调用少于 15 个操作或主题。 将许多操作或主题作为单个序列运行的复杂代理可能难以可靠地运行它们。

如果您的代理仍然难以调用预期的操作,请考虑添加一个 Power Automate 流,作为代理的操作来实现您的目标。

使用事件触发器发布代理

在发布带有新事件触发器的代理之前,代理不会自动对该触发器做出反应。 请确保在发布之前彻底测试代理,因为在使用新触发器发布代理后,每次激活其触发器时,代理都会自动做出反应。 您可以在活动页面查看代理触发器和反应的分步记录。

有关在测试期间激活触发器的信息,请转到测试触发器

事件触发器只能使用代理制作者的凭据对触发器进行身份验证(即用于授权连接的凭据)。 这可能允许代理的用户使用代理使用相同的授权访问数据和系统。 更多信息,请参阅故障排除和限制

发布后对操作进行身份验证

如果您的代理缺少执行操作的身份验证,或者配置为请求用户身份验证,它会向用户发送一条消息,要求提供凭据。 如果代理的流因无法接收信息或操作失败而中断,则无法继续会话。 如果希望代理自主运行,则每个操作都必须配置不需要用户输入的工作创建者身份验证。 您还可以指示代理不要向用户请求凭据。

由于触发器使用制作者身份验证,因此请注意潜在用户可以通过具有触发器的已发布代理访问哪些数据。 更多信息,请参阅触发器的数据保护部分。

故障排除和限制

配额限制

如果触发器激活过于频繁,则代理最终可能会使用比预期更多的资源。 然后,您的代理可能会超出服务负载配额限制,并且您的服务可能会受到限制。

管理员可以通过 Power Platform 监控资源使用情况。 它们还可以阻止事件触发器在环境中使用。

为避免超出配额限制,请执行以下操作:

  • 添加非常频繁的触发器或无限期重复的触发器时要小心。 例如,每当经过设定的时间量时,重复触发器就会激活。 激活之间的时间越短,触发器使用的资源就越多。
  • 跟踪环境中有多少触发器处于活动状态。

为带触发器的代理提供数据保护

目前,事件触发器只能使用代理作者的凭据进行身份验证。 此外,为了让代理自主运行,所有需要身份验证的触发器和操作都必须使用制作者的凭据。

如果您发布的代理带有经过身份验证的事件触发器,那么用户可能会使用制作者的凭据访问信息或提示代理执行操作。 如果制作者为代理配置了经过身份验证的事件触发器,则在发布代理之前,系统会提醒他们注意此限制。

屏幕截图,显示在发布带有触发器的代理之前有关作者凭据的警告。

触发器有效载荷可能包含敏感信息,代理可以通过操作将这些信息输出到其他位置。 例如,如果您构建了一个代理,使用接收到的电子邮件中的信息在 Dataverse 表中填充新行。

管理员可以阻止 Copilot Studio 用户在其代理中使用事件触发器。 有关详细信息,请参阅阻止事件触发器

数据保护最佳实践

帮助防止用户访问敏感数据:

  • 评估具有事件触发器的代理是否以及如何使用需要身份验证的数据和系统。
  • 通过测试,了解触发器的有效载荷中可能包含哪些信息,以及使用这些有效载荷输入会输出哪些信息操作。
  • 使用触发器参数缩小触发器的激活范围,并向代理提供如何处理有效载荷数据的说明。

必须启用解决方案感知云端流共享

制作者只能在开启解决方案感知云端流共享的环境中为代理添加事件触发器。

如果无法添加触发器,而贵组织的数据丢失防护策略允许触发器,则您的环境可能已关闭此选项。 请联系您环境的管理员打开解决方案感知云共享。

排除连接器问题

代理可能无法成功运行每个连接器。 如果代理反复调用连接器失败,请考虑创建一个 Power Automate 流操作,该操作使用有问题的连接器来完成该操作。