Power Automate入门1 - 云端流
一、不同类型流的概述
Power Automate 是一项服务,可用于自动执行重复性任务以提高所有组织的效率。
云端流
当您希望自动、即时或通过计划触发自动化时,请创建云端流。
桌面流
使用桌面流自动执行 Web 或桌面上的任务。
业务流程流
业务流程流为人们完成工作提供指导。 它们提供简洁的用户体验,可以引领用户完成其组织为需要推进以获得某种结论的交互而定义的流程。 此用户体验可以定制,使具有不同安全角色的人可以拥有最适合其所做工作的体验。
以下选择允许您自动执行重复的桌面流程,向自动化添加智能,分析和优化业务流程,并使用您自己的语言进行描述和生成。
-
Power Automate 桌面版:拖放或记录任务的步骤以自动执行您的流程。
-
AI Builder:借助人工智能加速复杂场景的数字化转型。
-
Process advisor:记录和分析流程以发现低效问题并进行改进。
-
您来描述,AI 来生成:将您的日常用语转化为云端流(预览版)。
二、云端流
当您希望自动、即时或通过计划触发自动化时,请创建云端流。
什么是触发器?
触发器是指启动云端流的一个事件。 例如,如果您想在有人向您发送电子邮件时在 Microsoft Teams 中收到通知,在这种情况下,“您收到的电子邮件”是启动此流程的触发器。
Power Automate 为 SharePoint 和 Outlook 等服务提供连接器。 大多数连接器都提供可用于启动流的预构建触发器。
触发器可以立即启动,也可以手动启动、按计划启动,或在发生外部事件(如电子邮件到达时)时自动启动。
流的第一步必须是触发器。
您需要单独的 Power Apps 许可证或 Power Automate 许可证才能访问所有高级、本地和自定义连接器。 Microsoft 365 计划的许可证持有人可以使用标准连接器,但不能使用高级连接器。
通过添加条件自定义触发器
有时,您可能需要自定义触发器,以便它仅在满足某些条件时才会触发。 例如,您可以在 Power Automate 中使用 SharePoint 的当创建或修改项时触发器。 每次更改 SharePoint 项时都会触发此触发器,但您可能希望仅在创建项或状态标记为已批准时才触发流。 虽然您可以通过向流中添加条件来筛选其他事件,但流仍会运行,并且调用将作为 API 请求计数,从而导致您更快地达到 API 请求限制。 为了避免此情况,您可以在触发器条件中编写表达式,如果不满足触发器中的条件,则避免运行。
您可能还需要保护云端流运行历史记录中的触发器输入和输出。 为此,您可以打开触发器中的安全输入或安全输出设置。
更改非解决方案感知云端流的负责人
要更改非解决方案感知云端流的所有权,您必须通过导出/导入创建新流,然后另存为或发送副本。 非解决方案识别云端流的所有权不能就地更改,因为负责人是流身份的一部分。
如果流没有活动负责人,您应更改负责人。 要更改流的负责人,请复制流,然后让预期负责人从副本创建流。
“管理仅运行用户”仅支持具有触发器“手动触发流”或“对于所选项目”的流,
请确保您已创建触发器为“手动触发流”的流。
2.自动化流
您可以从模板集合中进行选择以找到最适合您的场景的模板。 搜索所有模板或按类别浏览以找到您的场景,然后按照模板中的步骤从模板创建云端流。
您可以通过添加、编辑或删除触发器和操作创建自己的流,以调整模板。 您可以在同一流中或跨流复制并粘贴操作来加快调整速度。
从描述创建云端流
当您使用 Power Automate 构建自动化时,可能需要花费宝贵的时间来了解您需要哪些操作和触发器,特别是在您刚开始使用 Power Automate 时。 如果您想要直接开始,可以用日常语言写下您想要自动化的事项的描述。 Power Automate 然后会使用 OpenAI Codex 将您的描述转换为代码,然后提供您可以立即创建的相应流的列表。
重要
-
这是一项预览功能。
-
预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前推出,以便客户可以提前使用并提供反馈。
创建云端流
创建在被事件触发后自动执行一个或多个任务的云端流。 例如,可以创建一个云端流,在别人发送的推文包含指定的关键字时通过电子邮件通知您。 在此示例中,发送推文是事件,发送邮件是操作。
帐户中最多可以有 600 个流。 如果已经有 600 个流,则需先删除一个流才能创建另一个流。
从 OneDrive for Business 启动面板创建流 - Power Automate | Microsoft Learn
筛选并复制数据 - Power Automate | Microsoft Learn
创建一个云端流,用于监视源中新建或更改的项,然后将这些更改复制到目标。 如果用户在一个位置输入数据,但团队需要在另一个位置或以另一种格式获得该数据,则可以创建此类云端流。
在目标中所做的更改不会复制到源,因为不支持双向同步。 如果尝试设置双向同步,会创建一个无限循环,在源和目标之间无休止地发送更改。
源和目标中的每个列名称无需都匹配,但必须在插入或更新项目时为所有必填列提供数据。 Power Automate 标识了必填字段。
添加 length() 函数可使流检查值列表,并确定它是否包含任何项。
使用 bttn 启动流 - Power Automate | Microsoft Learn
3.计划流
创建一个云端流,使之执行一个或多个符合以下条件的任务(例如在电子邮件中发送报表)。
-
一天、一小时或一分钟执行一次。
-
在指定的日期执行。
-
在指定的天数、小时数或分钟数过后执行。
如果您在频率下指定天,在在这些小时和在这些分钟下拉列表中选择流应在该时间运行的一天中的时间。
如果您在频率下指定周,请执行下列操作。
-
在在这些天和在这些小时下拉列表中,选择流应该在一周中的哪一天或几天以及在一天中的哪个时间或几个时间运行。
-
在在这些分钟字段中,输入以逗号分隔的分钟值(从 0 到 59)。
4.操作方法
向操作和触发器添加注释
制作者可以在构建流时与同事一起添加线程注释。 他们可以添加或编辑注释、回复注释线程以及解决和删除注释线程。 操作和触发器都可以有多个注释线程。
输入对您的操作的注释,并 @mention 其他人。 如果您执行此操作,当您选择发送图标时,系统会向他们发送电子邮件通知。
限制
-
制作者必须至少保存一次流才能够添加注释。
-
对于条件、切换和范围等控制操作,不会出现注释线程计数图标。
-
不允许为托管解决方案流添加注释。
-
共享和通知选项只能用于非解决方案感知流。 对于解决方案感知流,@mentioning 仅限于已经是流共同负责人的用户。
解决多个编辑的冲突
如果多个用户同时对流进行更改,Power Automate 会向制作者提供适当的选项,以最大程度地减少保存操作期间的冲突。 制作者可以选择刷新流定义或保存流副本来保留更改。
新操作表达式编辑器(试验性功能)
您是否在流操作中难以编写表达式? 您可以在试验模式下使用改进的表达式编辑器。 若要使用改进的表达式编辑器,请启用试验性功能设置,然后针对某个操作选择 fx。
在 Power Automate 中使用数据操作(包含视频) - Power Automate | Microsoft Learn
Power Automate 中的一些常见数据操作,如撰写、联接、选择、筛选数组、创建表和分析 JSON。 这些操作可用于在您创建流时操作数据。
在 Power Automate 中的条件中使用表达式 - Power Automate | Microsoft Learn
操作Excel Online
可以在条件中使用以下逻辑表达式的任何组合。
Expression |
描述 |
示例 |
采用两个参数,如果两个值均为 true,则返回 true。 注意:两个参数都必须为布尔型。 |
以下表达式返回 false: and(greater(1,10),equals(0,0)) |
|
采用两个参数,如果其中一个参数为 true,则返回 true。 注意:两个参数都必须为布尔型。 |
以下表达式返回 true: or(greater(1,10),equals(0,0)) |
|
equals |
如果两个值相等,则返回 true。 |
例如,如果 parameter1 为 someValue,则以下表达式返回 true: equals(parameters('parameter1'), 'someValue') |
采用两个参数,如果第一个参数小于第二个参数,则返回 true。 注意:支持的类型为整数、浮点和字符串。 |
以下表达式返回 true: less(10,100) |
|
lessOrEquals |
采用两个参数,如果第一个参数小于或等于第二个参数,则返回 true。 注意:支持的类型为整数、浮点和字符串。 |
以下表达式返回 true: lessOrEquals(10,10) |
采用两个参数,如果第一个参数大于第二个参数,则返回 true。 注意:支持的类型为整数、浮点和字符串。 |
以下表达式返回 false: greater(10,10) |
|
greaterOrEquals |
采用两个参数,如果第一个参数大于或等于第二个参数,则返回 true。 注意:支持的类型为整数、浮点和字符串。 |
以下表达式返回 false: greaterOrEquals(10,100) |
如果对象、数组或字符串为空,则返回 true。 |
以下表达式返回 true: empty('') |
|
not |
返回布尔值的相反值。 |
以下表达式返回 true: not(contains('200 Success','Fail')) |
if |
如果表达式生成 true 或 false,则返回特定值。 |
以下表达式返回“yes”: if(equals(1, 1), 'yes', 'no') |
在 Power Automate 中存储和管理变量中的值 - Power Automate | Microsoft Learn
创建和使用变量以将值存储在您的云端流中。 例如,变量可以帮助您跟踪循环运行的次数。 若要迭代访问数组或检查特定项的数组,您可以使用变量引用“应用到每一个”数组项的索引号。
您可以为数据类型创建变量,例如整数、浮点、布尔、字符串、数组和对象。 例如,创建变量之后,可以执行其他任务。
-
获取或引用变量的值。
-
按恒定值(也称为增量或减量)增加或减小变量。
-
向变量分配不同的值。
-
将变量的值作为字符串或数组中的最后一项插入或追加。
变量存在,并且仅在创建它们的云端流中是全局变量。 此外,它们始终位于流内的任何循环迭代中。
在引用变量时,请使用变量的名称(而不是操作的名称)作为令牌,这是引用操作的输出的常规方式。
警告
默认情况下,“应用到每一个”循环中的每个迭代按顺序运行。 您可以并行运行循环迭代以提高性能。 如果您在“应用到每一个”循环中使用变量,如何您的循环变量返回可预测的结果很重要,您必须按顺序运行循环迭代。
备注
必须先从触发器开始,然后才能添加创建和使用变量的操作。 您不能使用移动设备添加变量。
初始化变量 - 提供有关您的变量的以下信息。
属性 |
必需 |
值 |
说明 |
名称 |
是 |
<variable-name> |
要初始化的变量的名称 |
类型 |
是 |
<variable-type> |
变量的数据类型 |
值 |
否 |
<start-value> |
变量的初始值 提示:尽管可选,但将此值设置为最佳做法,以便始终知道变量的开始值。 |
备注
虽然初始化变量操作有一个构造为数组的 variable 部分,但此操作一次只能创建一个变量。 每个新变量都需要单独的初始化变量操作。
获取变量的值
要检索或引用变量的内容,您可以使用 Power Automate 设计器中的 variables() 函数。
例如,该表达式使用 variables() 函数从数组变量中获取项。 string() 函数以字符串格式返回变量的内容:"1, 2, 3, red"
JSON复制
@{string(variables('myArrayVariable'))}
增量变量
若要按恒定值增加或增量变量,请向您的流添加增量变量操作。
重要
此操作仅适用于整数和浮点变量。
提供有关增量变量的此信息:
属性 |
需要 |
值 |
描述 |
名称 |
是 |
<variable-name> |
要增量的变量的名称 |
值 |
否 |
<increment-value> |
用于增量变量的值。 默认值为 1。 提示:尽管可选,但将此值设置为最佳做法,以便始终知道增量变量的特定值。 |
备注
递增变量操作必须显示在循环内。
减量变量
若要按恒定值减少或减量变量,请执行有关增量变量的步骤,除了改为查找和选择减量变量操作外。 此操作仅适用于整数和浮点变量。
下面是减量变量操作的属性:
属性 |
需要 |
值 |
描述 |
名称 |
是 |
<variable-name> |
要减量的变量的名称 |
值 |
否 |
<increment-value> |
减量变量的值。 默认值为 1。 提示:尽管可选,但将此值设置为最佳做法,以便始终知道减量变量的特定值。 |
设置变量
若要将不同的值分派给现有变量,请执行除以下步骤之外的增加变量步骤:
-
改为查找和选择设置变量操作。
-
提供要分派的变量名称和值。 新值和变量必须具有相同的数据类型。 该值是必需的,因为此操作没有默认值。
下面是设置变量操作的属性:
属性 |
需要 |
值 |
描述 |
名称 |
是 |
<variable-name> |
要更改的变量的名称 |
值 |
是 |
<new-value> |
要分派变量的值。 两者必须具有相同的数据类型。 |
备注
除非您增量或减量变量,否则如果并行运行循环,更改循环内的变量可能会创建意外结果。 在这些情况下,尝试将循环设置为按顺序运行,这是默认设置。
追加到变量
对于存储字符串或数组的变量,可在这些字符串或数组中作为最后一项插入或追加变量的值。 除了改为执行以下步骤,您可以遵循增加变量的步骤:
-
根据变量是字符串还是数组,查找并选择这些操作之一。
-
追加到字符串变量
-
追加到数组变量
-
提供要作为字符串或数组中的最后一项追加的值。 此值是必需的。
下面是追加到...操作的属性:
属性 |
需要 |
值 |
描述 |
名称 |
是 |
<variable-name> |
要更改的变量的名称 |
值 |
是 |
<append-value> |
要追加的值,可具有任何类型 |
在 Power Automate 中管理敏感输入(如密码) - Power Automate | Microsoft Learn
在 Power Automate 中批量取消或重新提交流运行 - Power Automate | Microsoft Learn
流必须有运行才能取消或重新提交流运行。
您一次最多可以重新提交或取消 10 个流。
您可以重新提交的流数受限于流中连接器的最大 API 调用数。
在 Power Automate 中恢复已删除的流 - Power Automate | Microsoft Learn
如果您或其他人意外删除了不属于解决方案的流,您可以在删除后 20 天内进行恢复。
有两种方法可以恢复已删除的流。
-
使用 Power Automate 管理连接器恢复已删除的流。
-
使用 PowerShell 恢复已删除的流。
备注
-
本文中的步骤仅适用于非解决方案流。 如果您删除了作为解决方案一部分的流,您需要通过 Microsoft 支持部门创建支持票证来寻求帮助。
-
删除超过 20 天的流无法恢复。 两种恢复方法(PowerShell 脚本和 Power Automate 管理连接器)以及 Microsoft 支持部门都无法帮助恢复。
-
恢复流后,它默认为禁用状态。 您必须根据您的要求手动启用流。
在 Power Automate 中使用 Microsoft Visio 设计流 - Power Automate | Microsoft Learn
表达式函数的参考指南 - Azure Logic Apps | Microsoft Learn
在 Power Automate 中打开或关闭流 - Power Automate | Microsoft Learn
如果您关闭流,它的运行将会排队,会在您打开流时运行。
如果在流运行时禁用流,运行将继续。 如果您删除正在运行的流,当前运行将终止。
在 Power Automate 中更改云端流的负责人 - Power Automate | Microsoft Learn
更改非解决方案云端流的负责人
要更改非解决方案感知云端流的所有权,您必须通过导出/导入创建新流,然后另存为或发送副本。 非解决方案识别云端流的所有权不能就地更改,因为负责人是流身份的一部分。
通过示例使用 Power Automate 使用格式数据更改数据格式 - Power Automate | Microsoft Learn
5.常见云端流方案
5.1 将流与审批结合使用
如果您希望快速开始使用审批,请使用启动并等待审批操作。 通过此操作,您可以提供审批请求中应包含的信息以及将收到请求的审批者。
当您使用启动并等待审批操作时,流将启动,然后等待审批者的响应,之后完成运行。
您可以使用四个审批类型。
审批类型 |
行为 |
批准/拒绝 - 所有人必须批准 |
所有审批者会有两个选项:批准或拒绝。 流运行完成之前,每个审批者都需要做出响应。 启动并等待审批操作之后的操作在所有审批者响应之后运行,或者在发生单个拒绝时运行。 |
批准/拒绝 - 首先响应 |
为分派的审批者提供了以下两个选项:批准或拒绝。 需要任意一个审批者批准或拒绝来完成请求。 启动并等待审批操作后的操作在任何一个审批者批准之后运行。 |
自定义响应 - 等待所有响应 |
您将定义分配的审批者可以选择的选项。 所有审批者必须作出响应才能完成此流程。 |
自定义响应 - 等待一个响应 |
您将定义分配的审批者可以选择的选项。 需要任意一个审批者响应来完成流程。 |
自定义审批请求
自定义审批请求的方法有两种。
1.使用自定义选项
Power Automate 审批提供两个默认的批准或拒绝请求选项。
除批准/拒绝之外,您的业务可能还需要其他选项。 例如,您可能在审查折扣请求,您可能希望审批者能够根据可能的折扣限制列表作出响应,包括:
-
最高 5%
-
最高 10%
-
最高 15%
-
拒绝。
自定义响应 – 等待所有响应或自定义响应 – 等待一个响应
2.使用 Markdown
Markdown 是一种用于将文本格式设置为诸如标头、表或粗体文本之类的网页的语言。 在审批请求中,您可以在详细信息字段中使用 Markdown 来设定呈现给审批者的信息的格式。
您可以在在 Power Automate 审批请求中使用 Markdown 一文中了解有关如何使用 Markdown 和支持的应用的详细信息。
将审批重新分配给其他人
操作方法 - 审批流的主要场景 - Power Automate | Microsoft Learn
创建长时间运行的审批
如果流的运行时间可能超过 30天,请考虑将审批存储在 Microsoft Dataverse 中。 这使您可以创建作用于审批请求的响应的流,即使在原始流运行超时后也是如此。
若要执行此操作,请使用两个流,一个用于发送审批请求,另一个用于根据创建审批 (v2)操作对审批请求的响应运行业务逻辑。 详细了解长时间运行的审批。
对审批 - 启动审批操作的有效响应为“批准”和“拒绝”。 这些响应区分大小写。
从组中请求审批,已知问题和限制
-
仅支持启用邮件的 Microsoft 365 组和安全组。
-
组审批不支持 Teams 通知。 Teams 通知仅针对分配给单个用户的审批发送。
-
组必须允许来自外部发件人的电子邮件接收电子邮件通知。
-
当您为新创建的 Microsoft 365 组创建审批时,可能会在一小段时间里,Outlook 可操作电子邮件可能会出现错误。
https://learn.microsoft.com/zh-cn/power-automate/approvals-markdown-support
自定义审批响应选项 - 限制
Outlook 和 Outlook Web Access(OWA) 可操作消息具有五个自定义响应限制。 这意味着在 Power Automate 批准电子邮件的可操作部分,将仅显示流中定义的前五个响应。 您可以通过非可操作 HTML 电子邮件、Power Automate 审批中心、Power Automate 移动应用程序或 Teams 提交其余选项。
如果将依赖于自定义响应的审批发送给类型设置为每个人必须审批的很多用户,这些审批可能会失败。 出现此失败是由于结果字段的数据大小限制。
备注
对于使用单一自定义响应的审批,Outlook 和 OWA 会展开响应字段,以便用户无需选择按钮就可以像在有多个审批选项时那样响应。
已知问题和限制
https://learn.microsoft.com/zh-cn/power-automate/approvals-known-issues
审批操作中心中的已放弃审批
作为流的一部分,您可以向用户发送审批请求并等待响应。 现在,审批流可以等待 28 天。 如果等待时间超过 28 天,该流将失败。 这仅影响流本身,这意味着操作中心中仍存在审批。 这可能会导致审批操作中心中有已放弃审批,没有流等待审批的情况。 请求者或环境管理员将需要从操作中心手动删除这些审批。
“自定义响应”设置为“每个人必须审批”的审批
如果将依赖于自定义响应的审批发送给类型设置为“每个人必须审批”的很多用户,这些审批可能会失败。 出现此失败是由于结果字段的数据大小限制。
5.2 将流与Microsoft 365 Outlook电子邮件结合使用
每个 Power Automate 计划都包括一个运行配额。 请尽量检查流触发器中的属性。 这样做可以避免不必要地使用运行配额。 如果检查某个条件中的属性,那么每次运行都将记入计划的运行配额,即使未满足定义的筛选器条件。
例如,如果检查某个条件中电子邮件的“发件人”地址,每次运行都将计入计划的运行配额,即使它不是您感兴趣的发件人地址。
自定义流中的电子邮件
https://learn.microsoft.com/zh-cn/power-automate/email-customization
以下是 Microsoft Power Automate 中电子邮件的最佳方案,以及如何实现这些方案的示例。
-
发送格式精美的电子邮件。
-
在电子邮件中添加图像。
-
从共享邮箱发送自动答复。
-
更改电子邮件的日期和时间格式。
解决流中的电子邮件问题
https://learn.microsoft.com/zh-cn/power-automate/email-troubleshooting
我没有收到电子邮件,发送电子邮件操作似乎在我的流中卡住了。
如果您使用的是邮件连接器,请注意每 24 小时最多只能有 100 个 API 调用。 请尝试使用 Office 365 Outlook 连接器,它的 API 调用限制为每 60 秒 300 次,达到限制的可能性较低。
我在尝试向所有审批者发送电子邮件。 我在发送电子邮件操作周围看到“应用到每一个”操作,导致产生单独的电子邮件。 我想要向所有人发送电子邮件。
添加应用到每一个是因为存在多个审批者。 您可以创建一个字符串变量(不是数组),在其中存储电子邮件地址,用分号分隔。
我的部分审批没有收到附件。
审批操作将文件附加到通知电子邮件,直到电子邮件的大小达到 5 MB。 如果附件超过 5 MB,审批电子邮件会指示审批者检查 Power Automate 审批中心的附件。
无法发送电子邮件,并出现附件错误:“参数‘附件内容’不能为 null 或为空。”
使用表达式通过 base64 对附件进行编码。 完成后,将识别该附件。
5.3 将流与SharePoint结合使用
Microsoft Power Automate 中的 SharePoint 连接器
SharePoint 触发器和操作
您可以使用 SharePoint 触发器来启动监视对列表或库所作更改的流。 要获取完整列表,请转到 SharePoint 触发器。