Microsoft-Power-Automate-工作流自动化-一-
Microsoft Power Automate 工作流自动化(一)
原文:Workflow Automation with Microsoft Power Automate
译者:飞龙
Microsoft Power Automate 工作流自动化
献给每一位希望技术能再多提供一点点帮助的人。
贡献者
关于作者
Aaron Guilmette 是一位技术副总裁,利用现代身份识别和生产力解决方案引导国防工业基础进入 21 世纪。此前,他是微软客户体验高级计划经理,帮助客户采用 Microsoft 365 平台。他主要关注协作和自动化技术,包括 Microsoft Teams、Exchange Online、Power Automate 和 Entra ID。Aaron 住在密歇根州底特律,带着五个孩子。当他不忙于解决技术问题、在中西部地区赛车、写作或教他的孩子在高峰交通中驾驶的“黑艺术”时,他正在制作墨西哥饼。你可以访问 Aaron 的博客:https://aka.ms/aaronblog 或在 LinkedIn 上( https://www.linkedin.com/in/aaronguilmette )与他联系。
本书献给我的孩子们,他们教会了我在编程和育儿中错误处理都是至关重要的——同时也献给我的女朋友 Megan,她证明了“需要人工干预”并不总是一件坏事。
关于评审员
Steve Miles 是微软 MVP、MCT 和作者,在安全、网络、计算、数据和 AI 基础设施方面拥有超过 25 年的经验。他在一家领先的欧洲多云分销商担任高级技术赋能职位,以通过清晰的类比和白板叙述故事来简化复杂技术而闻名。自 1999 年获得首个 Windows NT 微软认证以来,他获得了各个层级的 Azure、安全、数据、AI 和 M365 认证,以及主流云平台的厂商认证。Steve 曾与 Packt 合作编写并技术评审了 10 多本关于微软的书。
你可以在 LinkedIn 上找到他:linkedin.com/in/stemiles7
Benedikt Bergmann 是 CRMK Deutschland 的 CEO,居住在德国法兰克福附近。2017 年至 2024 年间,他与妻子家人住在瑞典斯德哥尔摩。期间,他在斯德哥尔摩的 CRM Konsulterna 担任 5 年的解决方案架构师和开发者。
Benedikt 的背景是 .NET 开发者,带有一些前端元素。自 2014 年以来,他一直在 Dynamics 和 Dataverse 中工作,现在实施基于 Dynamics 和 Power Platform 的解决方案。Benedikt 通过他的博客、YouTube 频道和演讲积极与社区分享他的知识。他是 Power Platform 应用生命周期管理领域的领先负责人之一,也是关于该主题的首批专业级书籍之一的作者。2021 年初,Benedikt 被评为微软业务应用领域最有价值专业人士(MVP)。
前言
曾有那么一段时间,“自动化”意味着编写一个只在你笔记本电脑上运行、每个周五都会崩溃、并要求你在别人察觉之前修复它的脚本。坦率地说,那些日子(大多)已经结束了。自本书上一版出版以来,Microsoft Power Automate 一直在进化。它已经从仅仅是生产力的“胶胶带”(只是更智能、更干净且粘性稍小一点),转变为一种可以用于简化你的业务和日常任务的工具。
这本《使用 Microsoft Power Automate 实现流自动化》第三版更进了一步。机器人流程自动化(RPA)让你能够自动化以前无法自动化的内容——那些拒绝退役的老应用程序以及自 2003 年以来一直存在的屏幕。Copilot 现在可以让你仅通过用简单的英语解释你的需求,就能帮助你构建流,这意味着你终于可以停止与语法争斗了(再次,大多是如此)。而且通过访问平台内置的 AI 工具和模型,你的自动化流程分析、预测和响应速度将比你让 ChatGPT 吐出燕麦片的速度快得多。
你将发现上一版中熟悉的基础:如何连接云端和本地系统、简化重复性工作,并夺回你捐献给手动任务的时间。但这次,我们将以更智能、更有个性的方式来实现。希望你在这个过程中能学到一些关于低代码自动化和 AI 如何让一切变得更简单的点子。
本书适用读者
本书适用于任何曾想过“一定有更好的方法来这样做”的人。如果你是 Microsoft Power Platform 的新手——无论是 Power Automate、Power Apps 还是 Power BI——你都来对地方了。你不需要知道如何编码、构建企业系统或精通技术术语。你只需要健康的好奇心,也许是对重复性工作的轻微挫败感,来激励你寻找新方法。
前言
我们将从基础知识开始:简单、实用的任务将教你平台各个部分是如何工作的。从那里开始,你可以直接学习更复杂的技能,甚至可能获得一些如何开始解决你当前问题的灵感。在此过程中,你将构建真实的流——你可以导出、使用并向他人展示你的成果的东西。
到最后,你将看到 Power Platform 如何将常规工作变得更智能、更快速,并且(我们敢说吗?)有点趣。
本书涵盖内容
第 1 章:介绍 Microsoft Power Automate,介绍了流和自动化的基本概念。
第 2 章:入门 Power Automate,深入研究 Power Automate 界面和应用程序组件。
第 3 章:处理电子邮件,解释如何配置 Power Automate 以处理和交互电子邮件及附件。
第 4 章:复制文件,探索如何使用 Power Automate 在基于云的服务之间复制文件。
第 5 章:创建按钮流,演示了如何使用按钮流(也称为手动或即时流),并展示了如何从移动设备执行它们。
第 6 章:生成推送通知,解释了如何配置带有移动设备推送通知的流。
第 7 章:处理共享流,涵盖了如何与同事共享和共同管理流。
第 8 章:使用条件,解释了如何根据标准评估为流启用多种输出结果。
第 9 章:理解表达式和函数,描述了函数和表达式等更复杂组件的概念。
第 10 章:开始审批,讨论了如何使用审批流处理文档。
第 11 章:处理多个审批,在上一章获取的知识基础上,使用条件、分支和顺序审批对其进行扩展。
第 12 章:向 Teams 发布审批,演示了如何将审批工作流集成到 Microsoft Teams。
第 13 章:使用数据库,涵盖了连接数据库并将其作为流的一部分来存储或检索信息。
第 14 章:处理 Microsoft Forms,演示了如何使用 Power Automate 处理来自 Microsoft Forms 的响应。
第 15 章:发布到 Slack,涵盖了使用 Power Automate 连接 Slack 和 Teams。
第 16 章:接受用户输入,探索了配置按钮流以接受各种用户输入类型。
第 17 章:自动化 Entra ID,介绍了用于 Microsoft Graph 和 Entra ID 的连接器。
第 18 章:介绍机器人流程自动化,讨论了捕捉屏幕、键盘和鼠标数据。
第 19 章:通过 RPA 向 Access 数据库贡献,解释了如何使用 Power Automate Desktop 在 Microsoft Access 中进行数据输入。
第 20 章:使用 RPA 自动化网页,演示了通过屏幕抓取和屏幕捕捉实现网页自动的概念。
第 21 章:介绍 AI 模型和生成式 AI,介绍了 Power Platform 的 AI Builder 组件以及生成式 AI 能力。
第 22 章:创建情感分析流,探索了如何使用情感 AI Builder 模型将文本评估为积极、中性或负面情感并并此采取行动。
第 24 章:使用生成式 AI 总结文档,通过使用 OpenAI 工具处理文档并根据上传的文件生成文档摘要。
第 25 章:导出、导入和分发流,展示了如何在环境之间移动流。
第 26 章:流监控与故障排除,包含了在出现问题时的故障排除技巧。
第 27 章:Power Platform 中的治理,介绍了使用卓越中心和数据防泄露(DLP)实施的一些安全和治理控制。
第 23 章:使用 Copilot 创建和管理流,涵盖了部分新的 Copilot 功能。
如何充分利用本书
为了充分利用本书的内容,您应该拥有 Microsoft 365 订阅,并可以访问高级 Power Automate 计划,以启用高级连接器、AI 模型和机器人流程自动化(RPA)。
您还应该拥有一台连接了网络的计算机,并使用现代浏览器(如 Microsoft Edge 或 Google Chrome)。您可以从 https://www.microsoft.com/en-us/microsoft-365/try 获取免费的 Microsoft 365 订阅。
下载示例文件
本书的代码包托管在 GitHub 上,地址为 https://github.com/PacktPublishing/Workflow-Automation-with-Microsoft-Power-Automate-Third-Edition 。我们还在丰富的书籍和视频目录中提供了其他代码包,您可以在 https://github.com/PacktPublishing 找到它们。快去看看吧!
下载彩色图像
我们还提供了一个 PDF 文件,其中包含了书中用到的截图/图表的彩色图像。您可以在此处下载: https://packt.link/gbp/9781836649632 。
使用的规范
本书中使用了多种文本规范。
CodeInText:表示文本中的代码词、数据库表名、文件夹名、文件名、扩展名、路径名、虚拟 URL、用户输入以及 X/Twitter 账号。例如:“在 Search connectors and actions 框中,输入 SharePoint Create new folder 并选择 Create new folder SharePoint 操作。”
代码块设置如下:
if [condition equals true], then [do action];else [do other action]
前言
粗体:表示一个新术语
警告或重要注释显示如下所示。
提示和技巧如下所示。
与我们联系
我们随时欢迎读者的反馈。
一般反馈: 如果您对本书的任何方面有疑问或有任何一般反馈,请发送电子邮件至 customer@packt.com 联系我们,并在邮件主题中注明书名。
勘误: 尽管我们尽力确保内容的准确性,但错误仍然不可避免的。如果您在书中发现错误,请向我们报告,我们将不胜感激。请访问 http://www.packt.com/submit-errata ,点击 Submit Errata(提交勘误)并填写表格。
盗版: 如果您在互联网上遇到任何形式的我们作品的非法副本,请向我们提供您的所在地地址或网站名称。请通过 copyright@packt.com 联系我们并附上材料链接。
如果您对成为作者感兴趣: 如果您在某个领域拥有专长并对编写或贡献书籍感兴趣,请访问 http://authors.packt.com/ 。
分享您的观点
一旦您阅读了《Workflow Automation with Microsoft Power Automate, Third Edition》,我们非常想听听您的想法!请点击此处直接进入该书的 Amazon 评论页面并分享您的反馈。
您的评论对我们和技术社区都非常重要,并将帮助我们确保交付高质量的内容。
书籍提供的免费福利
本书附带了支持您学习的免费福利。现在激活它们即可立即访问(指令请参阅“如何解锁”章节)。
以下是您购买后可以立即解锁的内容快速概览:
PDF 和 ePub 副本
下一代网络读者
-
访问本书的无 DRM PDF 副本,可在任何地方、在任何设备上阅读。
-
使用您喜喜欢的电子阅读器使用无 DRM 的 ePub 版本。
-
多设备进度同步:在任何设备上从上次离开的地方继续。
-
高亮和做记:捕捉想法并将阅读转化为持久的知识。
-
书签:在需要时随时保存并重新访问章节。
-
深色模式:通过切换到深色或深褐色主题来减轻眼睛疲劳。
如何解锁
扫描二维码(或访问 packtpub.com/unlock)。按名称搜索本书,确认版本,然后按照页面上的步骤操作。
注意:请妥善您的发票。直接从 Packt 购买的不需要发票。
第一部分
基础
在本书的第一部分中,您将对 Power Platform 的基础建立坚固的理解,包括术语和基础组件(如流和操作)。
本书的en包含以下章节:
-
第 1 章:介绍 Microsoft Power Automate
-
第 2 章:开始使用 Power Automate
-
第 3 章:处理电子邮件
-
第 4 章:复制文件
-
第 5 章:创建按钮流
-
第 6 章:生成推送通知
-
第 7 章:处理共享流
1
介绍 Microsoft Power Automate
信息时代的业务活动充满了重复性任务:接收电子邮件、生成采购订单、发送消息、路由文档、批准休假请求等。在许多情况下,这些活动并没有产生真正的价值,尽管它们确实需要完成以帮助支持业务目标。
计算机引入了帮助我们做更多事的承诺,但很大程度上导致了为了获得同样的价值,需要做的事情更多了。如果我们能利用技术来处理常规任务,并将我们的精力留给那些需要技能和思考的事情,该有多好?
在书中,我们将学习 Microsoft Power Automate 的基础,该工具旨在帮助您自动化重复性任务并回归价值创造。这个新修订的第三版扩展了机器人流程自动化(RPA)、人工智能(AI)、生成式 AI(GenAI)和治理。
本章重点在于理解 Power Automate 的一些基本概念以及如何获取它:
-
什么是 Power Automate?
-
选择要自动化的
-
熟悉通用术语
-
扩展到 Power Automate 术语
-
获取 Power Automate
到本章结束时,您将了解 Power Automate 的组件,以及我们何时使用它们来简化日常运营——从电子邮件管理的基础到更复杂的业务操作,再到使用最新的 AI 技术帮助决策。
书籍提供的免费福利
您的购买包含一本书的免费 PDF 副本以及其他专属福利。请查看前言中的“书籍提供的免费福利”章节以立即解锁它们,并最大化您的学习体验。
什么是 Power Automate?
Power Automate 是 Power Platform 产品家族的一部分,它是一个工作流引擎,可以根据条件或场景自动化业务流程或序列。Power Automate(以前称为 Microsoft Flow)主要是一个基于 Web 的工具,旨在与来自微软和其他供应商日益增长的软件库建立接口。
由于其无代码/低代码的设计,任何技术水平的人都可以接触 Power Automate——包括没有编码经验的办公或业务用户、系统管理员和分析师。Power Automate 还允许更高级的编程人员(有时被称为 pro-code)使用复杂的集成并开发自定义代码。
Power Automate Desktop
2021 年,微软引入了 Power Automate Desktop——该产品可以使用一种名为“机器人流程自动化”的新功能来帮助自动化遗留应用程序和流程。微软已将 Power Automate Desktop 作为 Windows 11 的原生组件。我们将在第 18 章“介绍机器人流程自动化”中开始探索 RPA。
许多读者可能熟悉 SharePoint 工作流的概念。在 SharePoint 平台上,您可以使用 SharePoint Designer 和 Workflow Manager 等产品,根据工作活动启动业务流程,例如文档被签入到特定的库中。SharePoint 工作流的巨大优点之一是,它们可以在 SharePoint 环境内实现业务流程和任务。
第 1 章
然而,SharePoint 工作流的缺点之一是它们只能自动化 SharePoint 环境内部的业务流程和任务。任何需要扩展到 SharePoint 的内容可能都需要大量的自定义开发。
虽然某些供应商已经创建了集成包来连接 SharePoint 工作流,或者开发了 SharePoint Designer 和 Workflow Manager 的完全替代方案,但其中许多方案仍然限于与 SharePoint 内部的数据进行交互。
这正是 Power Automate(以及整个 Power Platform)能力大放异彩的地方——Power Platform 开箱提供了对数百应用程序的原生连接,并且不依赖 SharePoint。它不仅对全球最流行的应用程序具有原生集成,而且具有扩展性:你可以开发自己的连接解决方案来与你组织的自定义应用程序协作。
Power Automate 的能力仅限于你的想象以及你想要集成的应用程序所提供的服务。
你可以从下面的图中看到,示例采购订单工作流将 SharePoint、Outlook 和 Microsoft Approvals 应用连接在一起:
这个基础工作流连接了 Microsoft 365 生态系统中的三个独立应用程序,这只是 Power Automate 为你和你的业务所能做的开始。
选择要自动化的内容
人们经常做他们不需要做的工作。然而,区分“完全不需要做的工作”和“需要做但不需要你来做的工作”是非常重要的。
从管理人员和终端用户的角度来看,Office 365 以及其他业务应用程序中的许多活动、流程和任务都可以通过 Power Automate 实现自动化。
自动化是一项关键的业务技术,可以减少重复性、低技能任务对劳动力的影响。在考虑业务流程时,它们通常可以分为以下四个象限之一:
这些象限构成了一个优先级矩阵(有时称为努力-影响-价值-技能矩阵)。以下是每个区域含义的详细说明:
-
高价值,低技能:需要极少的专家技能,但至关重要或能产生高价值输出。此类任务是自动化的理想选择,并能产生最大的收益。
-
高价值,高技能:需要人类智能或处理来确定价值、技能和关系;输出是关键的或高价值的。由于其高度个性化的性质,这些流程或任务通常是最不适合自动化的。
-
低价值,低技能:需要极少的专家技能,同时产生价值很小的输出。与高价值/低技能任务相比,这些通常也适合自动化。
-
低价值,高技能:需要高度的专注或技能,但产生的输出价值很小。这些任务是你通常应该尝试降低优先级,或者确定它们是否真的需要执行。
当你检查日常工作中的任务时,可以根据先验矩阵对其进行评估,以帮助理解它是否是可以或应该自动化的。你甚至可能会发现某些业务价值存疑且完全可以放弃的任务。落在低技能象限的项目是自动化的很好的候选者。
考虑以下示例:
-
运行前一天的销售总额报告是一项需要低专家技能的重复任务。如果可能,你应该寻求自动化此任务。
-
给客户致电跟进已发出的演示机是一项高接触、高价值的活动,但需要人类关系管理的个性化和复杂性才能有效执行。这项任务可能不是自动化的良好候选者。
正如你可以想象的,使用使用 Power Automate 等工具来减少重复的数据处理任务,可以为人们腾出时间,为业务流程和关系增加真正的价值。
接下来,我们将熟悉 Power Automate 的术语和界面,然后学习如何连接到常用应用程序以解决问题。
熟悉通用术语
你已经看到了一些术语,如果你熟悉 SharePoint 或协作工具,它们可能是你所熟悉的。但为了确保我们有一个坚实的基础,我们将回顾一些基础术语,然后开始进入特定的 Power Automate 术语。
业务流程
业务流程是完成业务目的所需的任何任务序列。这可能是非常简单的操作,如提交工时卡或在采购订单上签名。业务流程通常分为三类:
-
主要流程或运营流程:这些流程通常会导致某种客户价值的交付,例如客户下单和企业发货。它们还可能包括产品设计和工程等内容。
-
支持:这些流程对于主要或运营流程的发生是必要的。例如,购买制造火车所需的材料或培训员工被视为支持流程。
-
管理:这些流程用于监督运营和支持流程,或用于改进这些流程。管理流程的示例可能是对采购或员工入职进行审查并提出建议。
自动化可以用于所有这些类别的流程。Power Automate 可用于自动化许多类型业务流程的部分或全部。
流程挖掘
流程挖掘是一种使用真实数据来理解业务流程实际运行方式的方法。流程挖掘不是猜测或依赖过时的图表,而是查看事件日志(发生情况的数字记录)来发现真实情况。
它可以帮助发现减缓、效率低下或无意义的步骤:
-
收集数据:从企业资源计划(
ERP)软件、客户关系管理(CRM)工具或物联网(IoT)设备等系统收集日志 -
绘制流程:将这些数据转换为显示所采取步骤的视觉地图
-
分析流程:寻找延迟、额外步骤或显示此处可以改进运行的模式
这就像使用手机的 GPS 历史记录查看你每天如何通勤——然后找到更快的路线。
工作流
工作流可以被视为实现业务流程的单个任务或组件步骤。例如,员工入职可能是一个业务流程,而订购新电脑或创建用户账户可能是完成员工入职流程的工作流任务。
Power Automate 可用于自动化工作流的部分或全部。
REST
REST 是 REpresentational State Transfer 的行业缩写。它用于描述与计算机系统交互的方法。在基于 REST 的系统中,客户端设备通常向目标系统的统一资源标识符(URI)发送 HTTP 操作(称为动词),以输入或检索数据。
有关
REST架构的历史和设计原理的信息,请参考https://restfulapi.net/。与Microsoft 365上的许多技术一样,Power Automate利用REST实现高性能大量的交易。
扩展 Power Automate 术语
在我们开始使用 Power Automate 时,理解所使用的核心术语是非常重要的。同样重要的是,术语会定期更改,因此如果你在几年前开始使用 Power Automate(当时它还被称为 Flow),你可能需要阅读一遍,并确保你使用的是当前的术语和概念。
以下术语通常按照你在书中遇到的顺序排列,这与它们复杂性和使用程度的增加相对应。你需要理解这些术语,以便选择在何处应用正确的业务逻辑和流程。在阅读本书的过程中,如果你遇到不认识的术语,可以返回此章节以帮助你重新定位。
流程 (Flow)
流程简单来说是用于自动化过程的任务或操作的逻辑分组。可以通过多种特征来识别流程,例如它们的来源(云端或桌面)、它们执行的活动类型(技术自动化或业务流程)、发生的时间(自动或计划性),或它们采用的工具和技术类型(机器人流程自动化或人工智能)。
以下是你可以描述或分类流的某些示例:
-
自动化 (Automated):根据触发器或事件发生的流。它们可以是基于云端的,也可以基于桌面的。
-
按钮 (Button):也称为即时或手动流,在用户启动时发生(例如,通过点击图标或磁片启动流)。
-
云流 (Cloud flows):从
Power AutomateWeb 界面创建的流,通常不需要本地计算能力或访问权限。 -
计划 (Scheduled):配置为按特定的时间间隔发生。
-
审批 (Approval):一种过程请求,其中请求通过审批链进行路由。
-
业务流程 (Business process):由较小任务和工作流组成的高级流程。
-
机器人流程自动化 (Robotic Process Automation):也称为
RPA或用户界面 (UI) 流,RPA通常用于自动化非REST应用程序。机器人流程自动化于 2020 年宣布广泛可用,并利用了Power Automate Desktop应用程序。 -
AI 生成器 (AI Builder):用于在流执行期间帮助决策的人工智能 (
AI) 技术。AI Builder也于 2020 年宣布广泛可用。
每个流都有不同的用例、触发器和配置功能。
连接器 (Connectors)
连接器是用于直接与源系统和目标系统交互的组件。连接器包含了与应用程序交互所需的配置信息。你可以在下面的图中看到连接器的一些示例:
第 1 章
11
图 1.3 – Power Automate 连接器
连接器通常分为两个层级:标准 (standard) 和高级 (premium)。标准连接器通常包含在所有 Power Automate 计划中(例如适用于 Office 365 的 Power Automate),而高级连接器则有额外的成本(来自微软或连接器供应商)。
扩展 Power Automate
除了使用内置的标准和高级连接器外,你还可以构建自己的连接器来与你自己的应用程序和服务进行交互。虽然此类开发不在本书的涵盖范围内,但你可以在
https://learn.microsoft.com/en-us/connectors/custom-connectors了解更多信息。
连接 (Connections)
在 Power Automate 术语中,连接(connection)是与连接器关联的保存凭据(认为用户名和密码)。
连接引用 (Connection references)
连接引用用于解决方案(流和应用的集合)以替代连接。连接引用本质上是到连接的链接——它允许你更新使用相同连接配置的解决方案中的所有连接流。连接引用仅仅是如此——它是实际连接的快捷方式或占位符。它们用于将设计与特定的存储凭据分离。
解决方案 (Solutions)
解决方案是构建和运行流所需的所有对象的集合。解决方案可能包含流本身、连接以及任何其他支持组件。解决方案还实现了应用周期管理功能。
作为解决方案部分的流被称为解决方案感知云流 (solution-aware cloud flows)。书中的大多数流都是作为非解决方案流构建的,但也可以添加到解决方案中。从企业的角度来看,解决方案优于独立流。出于本书的目的,我们将主要关注构建流并探索其功能。
Power Automate Desktop 流只能导出为解决方案。
触发器 (Triggers)
触发器是导致流开始的活动。触发器经常用于分类正在使用的流类型。触发器的核心类型如下:
-
自动化 (Automated):自动化流根据特定类型的事件发生(例如,向网站上传新文件或接收到电子邮件)。
-
即时 (Instant):也称为手动触发流或按钮流,即时流由用户按需触发。
-
计划 (Scheduled):这种基于时间的选项定期循环发生。
虽然可用的触发器取决于正在使用哪些连接器,但你的业务需求极有可能决定你需要什么种类型的流和触发器。
步骤 (Steps)
步骤由流执行的各个单独评估和操作组成。步骤以有规律的方式排列。步骤经常使用之前执行的操作的输出数据或变量。以下是步骤的一些示例:
-
在
Teams频道发布消息 -
读取电子邮件
-
保存文件
-
执行计算
-
评估条件
-
转换时间或日期
-
在数据库中输入值
每个流都由一个或多个步骤组成。流中的每个活动或过程(触发器、操作或条件)都被视为一个步骤。
操作 (Actions)
操作描述了流执行的活动类型(例如复制文件、向 Teams 频道发布或发送电子邮件)。从技术角度来看,一个步骤是一个或多个操作的组。然而,许多人交替使用“操作”和“步骤”这两个词。
条件 (Conditions)
条件用于评估和选择执行操作的情况。条件可以对多种数据类型运行,例如时间或计划限制、通过用户输入或解析文件接收的数据、从先前的操作填充的变量或其他计算值。当评估结果用于确定应该执行哪种系列操作时,经常会使用条件。
Dataverse
Dataverse(以前称为 Common Data Service 或 CDS)是一种类似于数据库表的存储机机制,允许组织存储业务数据。术语也发生了几次变化,因此确保大家的理解一致是有关重要的。
下表显示了旧的 CDS 术语以及当前对应的 Dataverse 术语:
| 旧版 CDS 术语 | 当前 Dataverse 术语 |
| -------------------------------- | ------------------------- |
| 实体 (Entity) | 表 (Table) |
| 字段或属性 (Field or attribute) | 列 (Column) |
| 记录 (Record) | 行 (Row) |
| 选项集或选择列表 (Option set or picklist) | 选项 (Choice) |
| 多选 (Multi-select) | 多选 (Choices) |
| 两个选项 (Two options) | 是/否 (Yes/No) |
表 1.1 - 术语更新
多种应用程序,如 Dynamics 365、Power Apps、Power Automate 和 Power BI 可以与 Dataverse 中的数据交互。高级 Power Automate 场景(例如处理 Dynamics 365 实体,它对不同类型的数据元素复用了旧 CDS 术语)可能需要访问 Dataverse。
网关
网关(也称为数据网关)是安装在本地计算机上的软件应用程序。该应用程序用于方便 Power Platform 服务访问位于本地环境的数据源。例如,可以使用数据网关允许 Power Automate 从本地 SharePoint 服务器列表中读取项目。下面的图显示了数据网关向 Power Automate、Power BI 和 Power Apps 服务提供本地数据:
图 1.4 - 数据网关概述
图 1.4 显示的数据网关充当本地数据源与 Power Platform 服务(如 Power Automate、Power BI 和 Power Apps)之间的通道。
模板 (Templates)
模板由一组旨在实现预定义目的的连接器、触发器和操作组成。模板允许标准化部署以及常用组件和配置的复用。模板通常发布到 Power Automate 模板库(https://us.flow.microsoft.com/en-us/templates/)。
包 (Packages)
与模板类似,包允许你保存并导出流以便复用。你可以内部或外部共享包。如果你在测试环境中开发流,然后需要一种机制将其部署到生产环境,包也是非常有用的。
分支
分支用于描述可能发生的不同系列步骤或操作的概念。
你可能决定通过使用条件来调用分支,例如采用 if-then 结构:如果是,则执行操作 1;如果否,则执行操作 2。如果评估结果需要你的流程根据答案采取不同的路径,那么这种方法可能非常有用。
在其他情况下,如果你有长时间运行的进程,或者一个分支的输出不需要继续另一个分支的工作流,或者没有其他依赖于特定操作集完成的项,那么你可能决定使用并行分支(可以同时执行的不同动作或逻辑集合)。
图 1.5 - 基于条件的分支示例
在探索 Power Automate 的过程中,理解这些术语将有助于我们在创建流的过程中有所帮助。
进阶阅读
虽然我们在本节中涵盖了在书中会遇到的
Power Automate术语基础,但在https://learn.microsoft.com/en-us/power-automate/glossary还有更多内容可以发现。
获取 Power Automate
在开始之前,你需要确保你拥有支持你想要创建的流类型的许可证。
如前所述,Power Automate 包含了标准连接器和高级连接器的概念。标准连接器适用于所有 Power Automate 计划,包括随 Microsoft 365 提供的 Power Automate 计划(也称为种子许可证)。高级连接器(或 AI Builder 和机器人流程自动化等功能)可能需要使用独立的 Power Automate 许可证。此外,Power Automate 支持用户许可和容量许可。用户许可直接应用于用户,而容量许可则分配给自动化程序(例如流):
-
Power Automate Premium(用户许可) -
Power Automate Process(容量许可) -
Power Automate Mining(用户许可) -
Power Automate Hosted RPA(容量许可) -
Power Automateper user attendedRPA附加组件计划(容量许可) -
旧版
Power Automate P1、P2、每用户和每流计划
高级计划最适合广泛采用和大量使用 Power Automate 的组织。对于只有少数流被组织内所有人使用的组织来说,基于容量的计划可能更合适。有关有关最新的许可证详细信息和指导,请参阅 https://learn.microsoft.com/en-us/power-platform/admin/power-automate-licensing/types 和 https://learn.microsoft.com/en-us/power-platform/admin/powerapps-flow-licensing-faq。
既然这些都介绍了,让我们进入平台吧!
总结
在本章中,我们讨论了 Power Automate 的高层概念,包括它与解决问题(如业务流程或工作流)的关系。我们还涵盖了操作、触发器和条件等介绍性知识概念。理解触发器和连接器的类型将帮助你设计减少重复工作并为组织创造价值的流和业务流程。
除了理解功能和术语外,我们还涵盖了 Microsoft Power Automate 自本书上次修订以来的一些更新和更改,包括 Power Automate Desktop 的引入以及机器人流程自动化和 AI Builder 的通用可用(以及生成式 AI 功能的扩展和包含)。
我们还提到了利用 Power Automate 功能所需的许可证。
在下一章中,我们将开始探索 Power Automate 界面并使用它创建简单的流。
获取本书的 PDF 版本和独家额外福利
扫描二维码(或访问 packpub.com/unlock)。按书名搜索此书,确认版本,然后按照页面上的步骤操作。
注意:请妥善保存发票。直接从 Packt 购买不需要发票。
2
开始使用 Power Automate
在第一章中,我们介绍了 Microsoft Power Automate 的一些基本概念。现在你已经熟悉了 Power Automate 背后的一些思想和术语,让我们来看看如何导航界面。
作为 Power Automate 用户,你将可以访问 Web 门户界面(最常用)以及桌面和移动界面。如果你管理 Microsoft 365 租户,你还将获得一些管理功能的权限。
在本章中,我们将探索以下概念:
-
登录
Power Automate -
学习流是如何运作的
-
创建你的第一个流
你将学习各个界面的功能,然后我们将创建一个基础流并发布到 Teams 频道。
让我们开始吧!
登录 Power Automate
Power Automate 有四种不同的体验:
-
用户端 Web 门户:用户或创建者界面,用于设计、导入、保存、导出和执行流。
-
移动端应用:用户或创建者界面,用于设计、导入、导出和执行流,专为移动设备定制。
-
桌面端:最用于创建机器人流程自动化 (
RPA) 流。 -
管理端:对租户的
Power Automate环境进行整体管理,包括执行或运行次数以及数据网关配置。
Power Automate 租户管理概述
Power Automate 租户管理很大程度上超我们从设计角度学习的范围,但如果你需要管理 Power Automate 环境,你将知道从哪里开始。
无论你使用哪种界面,你都需要访问 Power Automate 才能充分利用本书的内容。如果你在组织内部无法访问 Microsoft Power Automate,你可能需要开始 Microsoft 365 试用以获取访问。要开始订阅,请访问 https://www.microsoft.com/en-us/microsoft-365/trial 并点击“Start your free trial”链接。
另外需要注意的是,Microsoft Power Automate 是一个纯云解决方案——没有要求的本地服务器对应项(尽管你可以安装服务器端组件,如数据网关,或在 Windows 10 和 11 计算机上使用 Power Automate Desktop)。Microsoft Power Automate 可在以下 Microsoft 365 云可用:
-
美国政府社区云(中级):https://gov.microsoft.us
-
美国政府社区云(高级级):https://high.flow.microsoft.us
就本书而言,我们将关注全球商业解决方案的功能。政府社区云中级用户(如州和地方政府)或政府社区云高级用户(如联邦员工)可能拥有略不同的功能集。
用户端门户界面
用户端门户界面是你设计、管理和执行大部分流的地方。要访问它,你可以登录 http://make.powerautomate.com,或者登录 Microsoft 365 用户端门户 (https://portal.office.com) 并点击 Power Automate 磁贴。如果你使用主权云之一,请使用上一节中的链接或联系你的经销商获取特定链接。
Web 门户界面如图 2.1 所示:
图 2.1 - Power Automate 首页
页面左侧部分具有默认导航菜单,包括创建和管理自己的流以及搜索模板和连接器的选项。以下列表描述了可用选项:
-
首页 (Home):首次登录时显示的仪表板
-
创建 (Create):创建新流的界面
-
模板 (Templates):仅需自定义的连接器预设流
-
学习 (Learn):指向
docs.microsoft.com上Power Automate落地页的链接 (https://learn.microsoft.com/en-us/power-automate) -
我的流 (My flows):你创建或分享给你的流
-
审批 (Approvals):列出你的待处理或过去的审批活动
-
解决方案 (Solutions): 用于管理
Power Platform应用程序和生命周期的容器 -
流程挖掘 (Process mining): 用于探索业务流程(如
ERP或财务工作流)的模板操作 -
桌面流活动 (Desktop flow activity): 查看有关桌面流、托管机和机组的数据
-
AI Hub纽 (AI Hub): 访问
AI Builder模型和生成式AI提示词 -
更多 (More): 顶层菜单项,包含指向可以固定到导航菜单的其他项的链接
-
Power Platform: 指向其他
Power Platform组件的链接,例如Power Apps、Power BI、Power Pages、Copilot Studio和Power Platform管理中心
在本书中,我们将探索在构建自己的流时会用到的一些组件。
进阶阅读
你可能想花些时间查看连接器和模板,以开始了解你可以与
Power Automate集成的各种类型的应用程序和服务。你可能希望关注能够帮助你集成组织经常使用的应用程序的连接器和模板。
移动应用界面
Power Automate 移动应用分别适用于 iOS (https://apps.apple.com/us/app/microsoft-flow/id1094928825) 和 Android (https://play.google.com/store/apps/details?id=com.microsoft.flow) 平台,提供类似的设计审美和体验,如下截图所示:
图 2.2 – 用于 iOS 的 Power Automate
登录后,主屏幕上将提供以下选项:
-
我的云 (My clouds): 显示你创建的流列表
-
与我共享 (Shared with me): 显示他人创建并共享给你的流列表
-
流 (Flows): 显示你有权访问的流,并按
我的云流和与我共享选项卡进行过滤 -
即时流 (Instant flows): 显示过滤后的即时流或按钮流列表
-
审批 (Approvals): 显示需要关注的审批列表
-
- (创建流): 允许你使用
Power Automate移动应用创建新流
- (创建流): 允许你使用
移动应用侧重于展示专门为移动设备定制的流组件和操作。本书的大部分将关注端用户网络门户体验,但我们也鼓励你与移动应用交互。
Power Automate Desktop 界面
如第 1 章“介绍 Microsoft Power Automate”所述,Power Automate Desktop 是一种与流交互的新方式。你只能通过 Power Automate Desktop 创建机器人流程自动化流。
Power Automate Desktop 应用程序本身供 Windows 10 用户免费下载。但是为了使用高级功能(如 RPA 流),你可能需要获得额外的许可。
图 2.3 显示了 Windows 11 Power Automate Desktop 应用:
图 2.3 – 用于 Windows 11 的 Power Automate Desktop
Power Automate Desktop 允许你查询系统资源,并与文件、浏览器实例、Outlook 和 Excel 等应用程序、命令提示符甚至打印机进行交互。
我们将在第 18 章“介绍机器人流程自动化”中开始使用 Power Automate Desktop。
管理员界面
此前,管理员需要同时使用 Power Automate 管理中心和 Power Platform 管理中心来管理他们的环境。2021 年,所有功能已合并到 Power Platform 管理中心中。
注意:除非你是
Microsoft 365租户的全局管理员或被专门授予了Power Platform管理员角色,否则你对Power Platform管理中心仅有只读权限。
Power Automate 管理中心 (https://admin.powerplatform.microsoft.com) 允许你跟踪整个租户执行的运行,查看许可证信息、整体环境数据并配置数据丢失防护 (DLP)策略。
管理中心还允许你管理流水线(Power Platform 应用生命周期管理/持续交付的一部分),以实现开发运维 (DevOps) 和持续集成/持续交付 (CI/CD)软件开发生命周期工作流。
此外,Power Platform 管理中心允许你管理整个 Power Platform 的功能,包括 Power Automate,以及 Dynamics 365、Power BI、Power Pages、Copilot 和 Power Apps,如图 2.4 所示:
虽然本书不会广泛使用管理员界面,但你应该了解它的存在,整个 Microsoft 365 环境的管理员可以配置注册并查看跨组织的统计数据。
现在你已经看到了 Power Automate 的各种界面,让我们来看看流是如何工作的吧!
学习流的工作原理
正如你在第 1 章“介绍 Power Automate”中所学到的,流可以包含许多组件,例如触发器(或步骤)、条件、分支和变量。这些组件在通常称为“画布”的设计区域按逻辑模式排列。
图 2.5 – 探索 Power Automate 设计画布
触发器是流中的第一个操作。触发器通常连接到资源。触发器可以是自动、手动或基于计划的。
每个操作将其结果存储在动态内容中。动态内容用于在步骤之间传递数据。动态内容可以表示各种数据类型,如字符串、数字、数组等。
动态值可以用于操作中填充字段,如图 2.6 所示:
图 2.6 – 使用动态值
除了动态内容,你还可以使用表达式。表达式是用于进一步处理变量的代码(例如转换时间或替换文本)。表达式可以结合函数(类似于 Excel 语言)以及动态内容来创建新的对象。
图 2.7 – 探索函数
我们将在第9 章进一步探讨一些常用函数和表达式。现在你只需按照示例选择正确的选项。
创建你的第一个流
查看 Power Automate 作用的最佳方法是创建一个流。在示例中,我们将创建一个监控 X 标签并向通道发送通知的流。此类流对于尝试衡量或捕捉产品或服务的情绪、追踪公共健康话题、监控参与度或其他社交媒体平台上的其他主题警报非常有用。
理解流组件
此特定的流将依赖于几个组件:
-
X的 API 密钥和密钥(类似于用户名和密码) -
监控
X特定单词或短语的触发器 -
Microsoft 365身份(用户名和密码) -
Microsoft Teams团队 -
向
Microsoft Teams发布的操作
要完成此流,你需要 Microsoft 365 身份(或你在测试环境中使用的身份),以及带有 API 密钥的 X 身份。你还需要访问一个发布消息的 Microsoft Teams 团队。
获取 X API 密钥
X 更改了用户与其交互的方式,现在需要 API 密钥才能通过编程读取和发布推文。你需要在 https://developer.x.com 注册。
拥有免费开发者帐户,你可以创建一个包含单个应用程序的项目。要创建应用程序,请按照以下步骤操作:
-
登录
X开发者门户 (https://developer.x.com)。 -
选择“免费开始”。
-
在“开发者协议与策略”页面,提供你想使用开发者 API 的原因。勾选复选框同意条款,然后点击“提交”。
-
展开项目和应用程序并选择默认项目。
-
在“密钥和令牌”选项卡上,点击“重新生成”以创建新的 API 密钥和 API 密钥。
-
点击“是,重新生成”。
-
将它们复制到安全位置以备后后用。完成后,点击“是的,我已保存它们”。
您保存了 API Key 和 API Key 密钥吗?
-
将将它们保存在安全的地方
-
像对待密码或一组密钥一样对待它们
-
如果安全性已破坏,请重新生成它们
-
不要将它们存储在公共场所或共享文档中
API Key
H9i... Copy
API Secret
IEML Copy
是的,我已保存它们
图 2.10 - 查看 OAuth 密钥和密钥
-
选择“设置”(Settings)选项卡。
-
在“用户身份验证设置”(User authentication settings)下,点击“设置”(Set up)。
-
在“应用权限”(App permissions)下,选择如读取和写入之类的的权限级别。
-
在“应用类型”(Type of App)下,选择“Web 应用”(Web App)、“自动化应用”(Automated App)或“机器人”(Bot)。
图 2.11 - 配置身份验证参数
-
在“应用信息”(App info)下,在“回调 URI / 重定向 URL”(Call-back URI / Redirect URL)字段中输入
https://global.consent.azure-apim.net/redirect。 -
在“网站 URL”(Website URL)下,输入任何网站(例如个人博客或工作区、
x.com或网站——这不会影响Power Automate)。
-
滚动到页面底部并点击“保存”(Save)。
-
如果提示,点击“是”以确认更改权限。
-
最后,将客户端 ID 和客户端密钥复制到安全位置以备后用。
- 点击“完成”(Done)。
在 Web 开发术语中,API 密钥和密钥类似于用户名和密码。您需要这些从您的 Power Automate 流向 X 进行身份验证。
创建 Microsoft Teams 团队
如果您不熟悉 Microsoft Teams,它是一个现代协作软件平台,将多项 Microsoft 技术整合到一个单一的统一用户界面中。您可以在这里学习如何创建团队: https://learn.microsoft.com/en-us/microsoftteams/get-started-with-teams-create-your-first-teams-and-channels 。
延伸阅读
您也可以在另一本 Packt 书籍《Expert Microsoft Teams Solutions》(ISBN: 978-1810075558)中学习更多关于
Microsoft Teams的知识。您可以在此处购买该书: https://packpub.com/en-us/product/expert-microsoft-teams-solutions-9781810075558 。
一旦您配置了所需的身份、团队和 API 密钥,我们将开始创建流!
创建流
一旦我们准备好了创建流所需的先决组件(即前面提到的身份和团队),就可以开始配置了。要构建此示例流,请遵循以下步骤:
-
登录
Power AutomateWeb 门户( https://powerautomate.microsoft.com )。 -
在页面左侧,点击“创建”(Create)。
-
在“我的流”(My Flows)页面上,点击“新建流”(New flow),然后选择“从空白开始创建流”,选择“自动化云流”(Automated cloud flow)。
- 输入流名称姓名。
第 2 章
- 在“选择流触发器”(Choose your flow's trigger)中,输入
X以过滤与X相关的触发器。选择“发布新推文时”(When a new tweet is posted)并点击“创建”(Create)。
构建自动化云流
通过连接您已使用的应用程序,从重复性工作中解放出来——自动化警、报告和其他任务。
示例:
-
自动在业务解决方案中收集并存储数据
-
通过对 SQL 数据库的自定义查询生成报告
图 2.15 – 创建新的云流
- 点击“发布新推文时”触发器。
图 2.16 - 查看触发器
- 在“发布新推文时”弹出窗中,点击“更改连接”(Change connection)以调出“创建”(Create)弹出窗,您可以在其中输入您的 API 密钥和密钥详情。
图 2.17 - 管理弹出窗
- 在“创建连接”弹出窗中,输入连接名称。粘贴您在在一个节节中重新生成的消费者密钥(consumer secret)并点击“登录”(Sign in)。
图 2.18 - 配置连接
- 提示时,点击“登录”(Sign In)授权您的
X应用代表您访问X,如图 2.19 所示。
图 2.19 - 登录 X 应用
-
如果提示,使用您的用户名和密码登录
X。 -
点击“授权”(Authorize)。
-
在重定向到
X弹出窗后,在“搜索”(Search)文本框中输入一个值。您可以输入术语、标签或其他支持的搜索查询。见图 2.20。
图 2.20 - 配置搜索文本
开始使用 Power Automate
注意
所有带有标签的
X交互都将使用XAPI 进行查询,而不仅仅是提供凭据的账户发布的推文。然而,由于X新的速率限制和 API 功能,您将需要 Pro 订阅才能看到搜索产生的任何推文数据。
-
关闭弹出窗。
-
在触发器后点击“+(添加操作/Add action)”按钮调出“添加操作”弹出窗。
图 2.21 - 添加操作
- 搜索 Teams 操作并选择它。
图 2.22 - 选择操作
-
在“参数”(Parameters)选项卡下,在“以...身份发布”(Post as)下,选择“机器人”(bot)。
-
在“发布到”(Post in)下,选择。
-
在“团队”(Team)下,选择您创建的团队。
-
在“通道”(Channel)下,选择可用通道。见图 2.23。
图 2.23 – 配置操作
- 填充“消息”(Message)字段。在例例中,动态内容将由 X 提供。使用动态内容完成。
图 2.24 – 填充消息
- 使用动态内容完成流。见图 2.25。
图 2.25 – 使用动态内容
- 完成后,点击菜单栏上的“保存”(Save)。
就是这样!您创建了第一个流。现在,为了查看它是如何工作的:
测试流
通过测试流,您将能够发现它是否正常工作。生成的任何错误消息将为您提供问题所在以及如何修复的起点。
要开始测试流,请遵循以下步骤:
- 点击菜单栏上的“测试”(Test)图标。
-
在“测试流”中,选择“手动”(Manually)按钮并点击“测试”。
-
打开浏览器窗口,导航到 X,然后使用您在流中的文本发送推文。
-
等待流处理。
现在流已经创建并保存,可以通过生成内容并检查它是否如预期发布到 Teams 频道:
图 2.27 – 推文后检查 Teams
查看流
任何您都可以可以使用“查看代码”(Peek code)的功能,该功能允许您查看控制步骤函数的底层 JavaScript 对象表示(JSON)代码。
要访问步骤或操作的 JSON 视图,点击步骤调出其弹出窗并选择“代码”(Code)选项卡,如图 2.28 所示:
虽然您无法在 Power Automate 用户界面中直接编辑代码,但可以将其导出或复制,然后在 Visual Studio 或 Visual Studio Code (VS Code) 等工具中编辑。
总结
在本章中,您学习了各种 Microsoft Power Automate 界面(Web、移动、桌面和应用)以及每个界面中的可用功能。通过一些非常基础的 Power Automate 工作流概念,我们构建了一个简单的流,根据 X 关键词生成 Teams 频道消息。
在下一章中,我们将开始使用 Power Automate 执行常见的电子邮件任务,例如过滤消息和处理附件。
获取本书的 PDF 版本和独家额外
扫描二维码(或访问 packtub.com/unlock)。按名称搜索此书,确认版本,然后按照页面上的步骤操作。
注意:请妥善保存发票。直接从 Packt 购买的不需要发票。
3 处理电子邮件
多年来,已经开发出许多使用电子邮件作为存储、跟踪或处理机制的业务流程。这些流程依赖于手动操作、第三方插件、组件对象模型 (COM) 加项以及 Visual Basic for Applications (VBA) 脚本的结合。随着电子邮件软件版本的更新,技术和方法也必须随之改变。
Power Automate 不使用离散或自定义的代码模块,而是使用基于 REST 的 API 与 Web 服务的数据进行交互。正如你在第 1 章“介绍 Microsoft Power Automate”中所学习到的,连接器被用于连接数据源和端点(以接收、检索、存储或发送数据)。
深入探讨
连接器是结构化的配置文件(通常格式为 JavaScript 对象表示,即 JSON),定义了 Power Automate 如何与其他服务交互以完成自动化任务。Power Automate 操作可以发送、接收和处理各种格式的数据——二进制、图像、字符串、JSON、XML 等。
那么,是什么让 Power Automate 区别于之前的自动化技术呢?
基于 Power Automate 的解决方案优势在于云端,因为对于大多数自动化任务,它不需要安装或运行任何桌面或本地计算机组件(尽管可以安装某些元素来访问本地数据集或操作遗留应用程序)。Power Automate 不依赖于特定版本的桌面客户端,可以使用扩展的组件化架构以无代码(或近无代码)的方式构建。
本章将重点介绍如何使用 Power Automate 管理电子邮件。将涵盖以下主题:
-
学习电子邮件连接器和操作
-
处理电子邮件
在本章结束时,你应该能够将 Power Automate 连接到电子邮件账户,并执行常见任务,如保存附件和发送消息文。
学习电子邮件连接器和操作
终端用户自动化最常见的场景之一就是电子邮件。Microsoft Power Automate 可以原生连接到不同类型的电子邮件系统,例如 Office 365、Outlook.com 和 Gmail。
此外,还有如 Mailparser 等第三方插件,它们进一步增强了 Microsoft Power Automate 处理消息的能力。
在处理邮箱时,根据数据源的不同,有多种类型的操作可用。常用操作包括:
-
创建或删除日历事件
-
创建或删除联系人
-
标记电子邮件(例如重要性标记)
-
转发和回复电子邮件或发送新邮件
-
将电子邮件标记为已读
-
下载附件
正如你在上一章中看到的,你可以访问动态内容——与唯一项目相关的属性、元数据和内容。在操作电子信箱内容时,你有许多类型的对象可以作为动态内容参数供使用。
例如,当使用 Get Emails (V3) 操作(https://docs.microsoft.com/en-us/connectors/office365/#get-emails-(v3))检索消息时,你可以处理这些关于消息的常用参数:
-
Folder(包含消息的文件夹)
-
To(消息的收件人)
-
CC(消息的抄送收件人)
-
From(消息的发件人)
-
Importance(消息重要性)
-
Subject(消息主题)
-
Search Query(消息过滤查询)
通过在动态内容表单中处理这些参数或字段,你可以创建带有自定义或个性化信息的流,并评估参数以确保流仅在满足某些条件约束时执行。
要查看可用的数百个连接器和操作的完整列表,请访问 https://docs.microsoft.com/en-us/connectors。
在下一节中,我们将开始探索 Office 365 电子邮件连接器的某些可能性(尽管在处理 Outlook 或 Gmail 连接器时,许多功能和概念也同样适用)。
处理电子邮件
电子邮件自动化的挑战几乎与电子邮件本身一样悠久。正如我们在章开头提到的,多年来已经开发了许多解决方案使用 VBA 脚本、Outlook 规则和 COM 加项等技术来解决这个问题。这些解决方案需要混合编程技能来开发,并依赖于始终运行的桌面计算机来执行命令。
通过 Power Automate 以及 Microsoft 365、Outlook.com 或 Gmail 服务,必要的组件始终处于状态,因此你无需担心断电、软件更新或网络连接问题中断业务流程。在本节中,我们将查看处理电子邮件、处理附件和发送消息的选项。
读取电子邮件
许多组织将接收电子邮件(通常发送到共享邮箱)作为启动业务流程的非正式触发器。这可能是销售订单、服务工单或对某些信息的请求。在本文,我们将查看处理传入消息时可用的过滤和选择选项。
要运行此流,我们需要一个 Exchange Online 邮箱和 Microsoft Power Automate 订阅。如果你注册了新的 Microsoft 365 试用,你已经拥有了所需的一切!
对于此场景,我们将通过几个步骤来查看如何使用过滤参数来识别可能与费用报告相关的消息。
创建流
要开始操作此流,请遵循以下步骤:
-
导航到 Power Automate 制作门户(
https://make.powerautomate.com)。 -
点击“创建”(Create)并选择“自动化云流”(Automated cloud flow)。
-
为“流名称”输入值,然后搜索“新邮件到达时”(When a new email arrives)可用触发器:
图 3.1 – 创建新的自动化云流
还有针对“共享邮箱中有新邮件到达 (V2)”和“群组中有新邮件到达”的触发器。它们中的任何一个都可以使用,但你需要确保用作凭据账户具有访问共享邮箱的权限,或者是被监控群组的成员。当我们在本章稍后创建一个完整的流时,我们将使用共享邮箱。
- 点击“创建”(Create)。
默认情况下,该流将连接到当前登录账户的 Outlook 邮箱。如果你需要监控不同的邮箱,请选择“新邮件到达 (V3)”触发器,然后点击“连接”(Connection)提供所需的邮箱名称和凭据。
在“新邮件到达 (V3)”弹出窗中,在“参数”(Parameters)选项卡下,点击“显示所有”(Show all)以显示触发器的所有参数。
图 3.2 – 显示触发器弹出窗
在高级参数(Advanced parameters)部分,找到“主题筛选”(Subject Filter)字段。在“主题筛选”框中输入如 report 之类的文本值。这将确保流仅对符合标准的消息执行操作:
图 3.3 – 添加主题筛选
-
在触发器后,点击
+或“添加操作”(Add an action)按钮。 -
在“添加操作”弹出窗中,搜索“操作”(Compose)操作。
图 3.4 – 添加“操作”操作
提示
“操作”(Compose)操作是一个有趣的数据操作,允许你构建新值或变量,或对字符串数据执行中间操作。
-
在“输入”(Inputs)字段中,选择动态值图标(闪电形状)。
-
选择一个动态值令牌(例如“主题”Subject),将其添加到“输入”字段中。
图 3.5 – 选择动态值令牌
- 点击“保存”(Save)图标保存此流。
第 3 章
虽然我们主要通过此流程来学习一些可用选项,但如果你以后需要,可以回来并将其转换为其他用途的内容。
执行流程
现在你已经有了一个完整的流程(一个触发器和至少一个其他操作),你可以点击“Test”(测试),然后向被监控的邮箱发送一条消息。我们将检查“Compose”(组合)操作的输出,以查看流程是否执行正确:
-
- 在菜单栏上,点击 Test。
-
- 在 Test Flow(测试流程)弹出窗中,点击 Manually(手动)单选按钮,滚动到弹出窗底部,然后点击 Test。
图 3.6 – 测试流程
-
- 向被监控的邮箱发送一封邮件,包含你配置为过滤器的关键词或短语——例如,expense report(费用报表)。
-
- 点击画布上的任何操作来查看流程的输出。
图 3.7 – 查看流程结果
正如在本示例所示,通过使用过滤器,你可以非常快速地缩小流程将要处理的消息范围。“当新邮件到达时 (V3)”触发器有几个合理的过滤选项,包括检查哪些新邮件、特定的发件人或收件人选择、重要性或优先级标记以及附件设置。
相似但不匹配
在创建流程时,你可能注意到其他基于电子邮件的触发器,它们看起来很相似:“当提到我的新邮件到达时 (V2)”和“当提到我的新邮件到达时 (V3)”。
“当提到我的新邮件到达时”触发器使用特殊的 Microsoft API 调用来检查包含你身份的 @mention(读音为 "at mention")的消息。它们非常适合寻找专门定制的消息(例如可能被分配任务的消息)。在 Outlook 中创建消息时,使用 @mention 作为收件人会将他们添加到“收件人”行。
我们将在第 8 章“处理条件”中查看额外的过滤概念。
处理附件
除了能够处理电子邮件中的文本内容外,许多用例还需要保存和处理附件的能力。这种请求常见于用于接收采购订单或费用报表之类的邮箱。你可以使用 Power Automate 将这些项目保存到 OneDrive 或 SharePoint 文档库,通过其他连接器或操作对其进行进一步处理,甚至将其存放在某处以进行痛苦的人工干预。
有时,你可能还会面临需要处理单封邮件中多个附件的情况。幸运的是,Power Automate 对此也有一些内置的智能能力。
第 3 章
在下一个示例中,我们将组合一个执行以下操作的示例流程:
-
监控共享邮箱箱中包含
expense report字样的消息 -
将附件保存到名为 Expense Reports 的 SharePoint 站点文档库中
-
将邮件标记为已读
-
将邮件标记为已完成
-
向发件人回复一封确认邮件
为了准备此示例做准备,你需要以下内容:
-
一个带有文档库的 SharePoint 站点,你可以在其中保存文件。如果你不确定如何创建站点或库,可以按照
https://support.microsoft.com/en-us/office/create-a-document-library-in-sharepoint-306728fe-4b28-b60d-f902e1d75939上的步骤来创建一个,或者使用已连接到 Microsoft Teams 团队的现有文档库。 -
一个你已被授予管理权限的共享邮箱。如果你不确定如何创建共享邮箱,可以按照
https://learn.microsoft.com/en-us/exchange/collaboration-exo/shared-mailboxes上的步骤操作,或者直接使用普通用户邮箱。你可能想参考上一个示例中处理普通邮箱的步骤。
如果你为了跟读这本书而注册了新的 Microsoft 365 试用订阅,你将获得所需的一切。在满足这些要求后,你可以开始创建流程。
创建流程
为了完成此示例,请遵循以下步骤:
-
- 导航到 Power Automate 制作门户(
https://make.powerautomate.com)。
- 导航到 Power Automate 制作门户(
-
- 点击 Create(创建),然后选择 Automated cloud flow(自动化云流)。
-
- 为 Flow name(流程名称)输入值,并搜索触发器 When a new email arrives in a shared mailbox(当共享邮箱收到新邮件时):
构建自动化云流
图 3.8 - 创建费用报表流程
-
- 点击 Create。
-
- 点击 When a new email arrives in a shared mailbox (V2) 触发器打开弹出窗。
-
- 在 Original Mailbox Address(原始邮箱地址)字段中,输入你想监控的共享邮箱地址,如图 3.9 所示:
图 3.9 - 添加共享邮箱
-
- 点击 Advanced parameters(高级参数)展开弹出窗,然后在弹出窗内任意位置点击。
图 3.10 - 选择高级参数
-
在 Only Attachments(仅附件)下拉菜单中选择
Yes。 -
在 Include Attachments(包含附件)下拉菜单中选择
Yes。 -
在 Subject Filter(主题过滤器)字段中输入
expense report。见图 3.11。
图 3.11 - 设置过滤器选项
-
- 点击 Add action(添加操作)。
-
- 搜索 SharePoint。选择文件操作。
图 3.12 - 选择文件操作
-
- 点击文件操作打开弹出窗。
-
- 在文件弹出窗中,选择选项卡。
-
- 在 Site Address 字段中,选择要存储文件的站点。
处理电子邮件附件
-
- 在 Folder path 字段中,选择文档库。默认库名为 “Shared”。
-
- 在 File Name 字段中,选择动态值 Name。
图 3.13 - 选择文件夹路径
-
- 选择 Attachments 令牌后,注意操作被封装在 Apply to each(每一个)函数中。Power Automate 知道一封邮件可能有多个附件。
图 3.14 - 每一个
-
- 在 File Content 字段中,选择动态值 Content。
-
- 在 Apply to each 函数外部,点击 Add action。
-
- 搜索 Mark as read 并选择 Mark as read or unread 操作。
-
- 在 Message Id 字段中,选择动态值 Id。
-
- 在 Advanced parameters 下,点击 Show all(显示所有)以显示所有参数。
-
- 在 Original Mailbox Address 字段中,选择获取邮件的邮箱名称。
-
- 在 Mark 字段中,选择 Yes(将邮件标记为已读)。
-
- 添加操作。搜索 Flag email (v2) 操作并选择它。
-
- 在 Message Id 字段中,选择动态值 Id。
-
- 在 Original Mailbox Address 字段中,再次选择共享邮箱地址。
-
- 在 Flag Status 下拉菜单中,选择 Complete(已完成)。
第 3 章
57
图 3.17 – 更新标记状态
接下来,我们将添加一个确认步骤,让发送者知道他们的消息已收到。
添加回复邮件
由于向共享邮箱箱发送内容有时感觉像是在“黑盒”操作,许多组织选择通过回复某种形式的确认邮件,让发送者知道消息已收到并已处理。发送电子邮件也是 Power Automate 的一项常见任务,可以用于许多情况,例如根据某些条件生成基于电子邮件的警报,或者回复发送者(这正是本示例中要做的)。这两种情况的处理流程是相同的。
对于此任务,我们将继续操作当前的费用报告附件流,并回复一条消息,告知发送者文件已收到:
-
- 导航到流的末并选择“添加操作”(Add action)。
-
- 由于流使用了共享邮箱箱,请搜索并添加“从共享邮箱箱发送电子邮件 (V2)”(Send email from a shared mailbox (V2))操作。
图 3.18 – 添加一个发送邮件的操作
-
- 在“参数”(Parameters)选项卡中,在“原始邮箱地址”(Original Mailbox Address)下拉菜单中输入共享邮箱箱名称。
-
- 在“收件人”(To)字段上方,点击“切换到高级模式”(Switch to advanced mode)按钮。这将允许你使用动态值令牌。
图 3.19 - 为收件人字段启用高级模式
-
- 在“共享邮箱箱收到新邮件时”操作中插入“发件人”(From)值令牌。这将原始发件者设为新消息的收件人。
图 3.20 - 添加发件人字段
-
- 在“主题”(Subject)字段中输入值,例如“已收到:”,然后添加“主题”(Subject)动态内容令牌。
-
- 在“正文”(Body)字段中输入值。如果需要,你可以在此处使用动态值对象,并使用富文本编辑器更改字体或文本属性。参见图 3.21。
图 3.21 – 配置消息属性
- 如果你想设置额外的选项,例如固定的(或动态的)抄送或密送成员、添加额外的附件,或设置消息重要性,请在“高级参数”(Advanced parameters)下选择相应的选项。
图 3.22 – 配置高级参数
- 点击“保存”(Save)。
是时候测试一下了!
执行流
通过执行此流并发送测试消息,你将能够实时检查结果:
-
- 点击“测试”(Test)打开“测试流”飞出窗口。
-
- 选择“手动”(Manually)单选按钮,然后点击“测试”。
-
- 向共享邮箱箱发送符合要求的消息(包含一个附件)且主题包含“费用报告”文本。
接下来,我们将检查流的运行历史和 SharePoint 站点,看看它是否按照我们的预期执行!
验证流
在本节中,我们将检查几个地方以确保流运行正常。
首先,你可以查看画布上的流输出。如果成功完成,你将看到一个绿色的通知横幅,显示“您的流已运行成功”,如图 3.23 所示:
图 3.23 - 查看流运行情况
选择画布上的任何卡片即可显示流在每个步骤中处理的数据详情。例如,通过选择“创建文件”(Create file)操作卡片,你可以查看所处理的电子邮件详情、保存它的站点(包括文件夹路径)以及文件名。
你还可以检查 SharePoint 站点的文档库,查看在你发送邮件的帐户地址之后是否存在新文件夹,并进入该文件夹确保任何附件都已保存。
图 3.24 - 查看流的操作卡片详情
图 3.25 - 查看 SharePoint 站点中的数据
处理电子邮件
最后,你可以检查共享邮箱箱以验证消息是否已标记为“已读”并设置了“完成”(Complete)标记,如图 3.26 所示:
图 3.26 – 查看收件箱
如果你想设置额外的选项,例如固定的(或动态的)抄送或密送成员、添加额外的附件,或设置消息重要性,请在“高级参数”下选择相应的选项。
图 3.27 – 配置高级参数
总结
在本章中我们了解到 Power Automate 可以处理附件。我们还看到了如何使用文件相关操作。在下一章,我们将关注一些文件相关概念,如复制文件。
第 4 章
复制文件
在上一章“处理电子邮件”中,你看到 Power Automate 可以处理附件。需要自动化附件的流程也可以从自动化这些文件中受益。在本章中,我们将关注一些文件相关概念:
-
学习文件连接器和操作
-
处理文件
在本章结束时,你应该熟悉常用的文件连接器和操作,并能够使用它们在 Microsoft 365 环境和外部存储之间复制数据。
学习文件连接器和操作
在第 3 章“处理电子邮件”中,你看到 Power Automate 可以处理附件。需要自动化附件的流程也可以从自动化这些文件中受益。文件可能需要复制或移动、上传到新服务、导入另一个平台、存档、分析或需要审批。引用文件及其属性是构建复杂流的重要构建模块。
可用文件存储机制简述如下:
-
SharePoint Online
-
OneDrive for Business
-
OneDrive
-
Azure File Storage
-
Google Drive
-
Box
-
Dropbox
-
FTP/SFTP
许多用户和组织主要通过 Power Automate 在 SharePoint Online 和 OneDrive for Business 中处理文件。然而,大多数组织在与合作伙伴、客户或供应商合作时,也会访问或使用其他文件托管和共享机制,因此能够与尽可能平台交互是非常重要的。许多组织,特别是工程、制造、电子数据交换(EDI)或物流领域的组织,可能依赖需要 FTP 或 SFTP 协议的旧系统。Power Automate 的文件处理功能适用于许多这种情况。
文件连接器通常具有以下类型的触发操作,允许你创建自动化流:
-
文件创建时
-
文件修改时
-
文件属性被修改时
文件连接器通常允许执行以下类型的操作(取决于连接器以及所连接的服务提供的 API):
-
更新文件
-
复制文件
-
获取文件元数据
-
删除文件
-
列出文件或文件夹
-
创建或删除文件夹
-
提取归档文件
-
创建文件共享链接
-
检入或检出文件
最后,连接器允许你提取、管理或操作内容和元数据(关于文件的信息),例如以下内容:
-
文件或文件夹的名称或显示名称(DisplayName)
-
文件或文件夹的唯一 ID
-
文件路径
-
最后修改时间(LastModified)日期和时间
-
文件的媒体类型(MediaType)
除了可以使用文件本身的可用元数据外,你可能还可以包含来自流中其他部分的动态属性,并将其作为文件处理过程的一部分包含其中。
基于我们在第 3 章“处理电子邮件”中看到的动态内容概念,我们将引入一个新概念:表达式(expressions)。虽然在 Power Automate 的语文中,动态内容被用于描述源自对象元数据的内容属性,但表达式可以用于以程序化方法执行进一步的处理。如果你熟悉 Microsoft Excel 公式,那么你会发现这些概念和格式是相似的。
表达式经常用于计算和格式化值。在下一节中,我们将使用表达式(或公式)来创建自定义文件夹名称,作为处理文件工作的一部分。
处理文件
从 Microsoft Power Automate 的角度来看,文件是既可以是工作流的产或结果(正如我们在第 3 章“处理电子邮件”中查看费用报表流时看到的那样),也可以通过工作流移动。在本节中,我们将基于第 3 章的费用报表流,将文件从费用报表文档库复制到另一个 SharePoint 站点以便归档。
我们还将使用 Power Automate 处理另一个业务场景:将内容发布到外部存储服务。
将文件复制到 SharePoint
假设你的组织有一项要求,对通过特定工作流程的所有内容进行存档备份。在本例中,我们将基于第 3 章“处理电子邮件”中创建的流,保存电子邮件附件并将这些文件附件复制到新的子文件夹。我们将执行一系列步骤来为文件夹计算唯一名称:
-
提取电子邮件的接收时间和日期
-
使用表达式将日期格式化为
yyyy-MM-dd(四位数字年份、两位月份、两位日期) -
将表达式的结果作为文件夹名称的一部分,以指示处理文件的时间
为了完成这些活动,你需要一个带有文档库的 SharePoint 站点,以及文档库内部的一个文件夹。我们将从保存费用报表文件的 SharePoint 站点开始,但你可以使用任何喜欢的站点。
取决于你的租户中可用的功能(或取决于你阅读此书的时间),你可能需要启用或禁用 Power Automate 的实验功能。如果你需要禁用实验功能,请点击制作门户右上角的设置图标(齿轮形状),选择“查看所有 Power Automate 设置”,并切换“实验性功能”滑块。
按照以下步骤更新流:
-
导航到 Power Automate 网页门户 (
https://make.powerautomate.com) 并选择“我的流”(My flows)。 -
选择你在第 3 章“处理电子邮件”中创建的“费用报表”流旁边的三个点,并点击“编辑”。
-
展开“每一个”(For each 或 Apply to each)循环步骤以展开,如图 4.1 所示:
图 4.1 – 展开步骤
-
- 在循环步骤内部,点击
+图标(或操作),取决于你的用户界面。
- 在循环步骤内部,点击
-
- 在“搜索连接器和操作”框中,输入
SharePoint Create new folder并选择Create new folder Sharepoint操作。
- 在“搜索连接器和操作”框中,输入
图 4.2 – 定位 SharePoint 创建新文件夹操作
-
- 在“站点地址”(Site Address)框中,输入目标 SharePoint 站点。如果你在使用“费用报表”站点,它将显示在下拉列表中。如果你没有在流中使用过此站点,则需要手动输入。
-
- 在“列表或库”(List or Library)字段中,选择你想要存储文件的文档库。
注意:如果你点击文件夹浏览到文档库,根据你的用户界面设置,你可能会看到名为“Shared Documents”(共享文档)的文件夹。然而,在浏览 SharePoint 站点本身时,站点将显示库的显示名称“Documents”(文档)。库路径在 URL 栏中也显示为
Shared%20Documents。它们都指向同一个目标。
-
- 在“文件夹路径”(Folder Path)字段中,输入文件夹结构。根据你的界面版本,你可能会看到用于定位文件夹的浏览选项。如果没有,你只需输入文件夹路径,从文件夹名称开始。如果你正在使用“费用报表” SharePoint 站点,可以使用之前创建的
ExpenseReports文件夹名称。带有两个结尾斜杠(/)的顶层文件夹路径。
- 在“文件夹路径”(Folder Path)字段中,输入文件夹结构。根据你的界面版本,你可能会看到用于定位文件夹的浏览选项。如果没有,你只需输入文件夹路径,从文件夹名称开始。如果你正在使用“费用报表” SharePoint 站点,可以使用之前创建的
-
- 选择“插入”(Insert insertion)。见图 4.3。
图 4.3 – 填充文件夹路径字段
-
- 在此示例中,我们将根据接收消息的日期时间创建一个文件夹,并将其作为文件夹名称。开始输入
date并选择formatDateTime函数。然后输入尾随括号(),如图 4.4 所示。
- 在此示例中,我们将根据接收消息的日期时间创建一个文件夹,并将其作为文件夹名称。开始输入
你可以将函数看是可以执行任务的微型内置过程。函数是可用于构建复杂表达式的组件。
图 4.4 – 在表达式字段中添加 dateTime 函数
-
- 点击“动态内容”选项卡。在搜索字段中,找到来自“当共享邮箱箱收到新邮件 (V2)”操作的“接收时间”(Received Time)内容对象并选择它。
图 4.5 – 添加接收时间动态内容标记
-
- 表达式字段将更新。将光标移动到方括号
[和闭合括号]之间行的行末尾,并添加,'yyyy-MM-dd'。
- 表达式字段将更新。将光标移动到方括号
-
- 表达式字段现在应显示
formatDateTime(triggerOutputs()?['body/receivedDateTime'],'yyyy-MM-dd')。完成后点击“添加”。见图 4.6。
- 表达式字段现在应显示
图 4.6 – 编辑表达式
如果你想模拟原始文件的创建路径,还可以添加来自“当共享邮箱箱收到新邮件 (V2)”操作的“发自”(From)字段。
复制文件
-
- 悬停在“文件夹路径”字段中的表达式上,确保其已正确输入。同时,确保文件夹名称由正斜杠分隔。如果缺少正斜杠,点击文件夹名称和表达式之间并添加它。见图 4.7。
图 4.7 – 自定义文件夹路径
-
- 接下来,我们将文件从 ExpenseReports 主文件夹复制到新位置。在“创建新文件夹”操作之后插入一个操作。
-
- 在搜索连接器和操作字段中,输入
SharePoint Copy file并从列表中选择Copy file操作。
- 在搜索连接器和操作字段中,输入
图 4.8 – 添加复制文件操作
-
- 在“当前站点地址”(Current Site Address)字段中,选择流配置保存文件的 SharePoint 站点。
-
- 在“要复制的文件”(File to Copy)字段中,选择代表原始创建文件操作中保存的文件 ID 的动态内容标记。根据你的用户界面,它可能被称为
body/Id。
- 在“要复制的文件”(File to Copy)字段中,选择代表原始创建文件操作中保存的文件 ID 的动态内容标记。根据你的用户界面,它可能被称为
注意:有两个类似的标记:
ItemId和Id。选择Id那个。
图 4.9 – 选择文件标识
-
- 在“目标站点地址”(Destination Site Address)下拉列表中,选择你想保存此新归档副本的 SharePoint URL。如果你以前没有在流中使用此 URL,可能需要手动输入。在本例中,你可以直接使用我们已经在使用的“Expense Reports”站点,尽管你可能想创建一个新文件夹(例如“Archive”),以表示这是不同或新的。
-
- 在“目标文件夹”(Destination Folder)下拉列表中,添加来自“创建新文件夹”操作的“完整路径”(Full Path)动态内容标记。
图 4.10 – 配置目标文件夹路径
-
在“如果文件已存在”(If another file is already there)字段中,你可以从四个选项中进行选择:重命名复制(Copy with a new name)、失败此操作(Fail this action)、替换(Replace)和输入自定义值(Enter a custom value)。哪种选项取决于你的业务需求?情况下,我们将选择“重命名复制”。你可以使用“输入自定义值”选项,像我们在上一步中所做的那,使用表达式和动态内容构建自己的命名规范。
-
在标题栏中,根据需要重命名该流。
-
点击“保存”(Save)保存更新后的流。
接下来,我们将验证更改的结果。
通过测试验证结果
在每次进行更新时,确保语法正确非常重要。虽然流的验证过程非常健壮,但测试以确保你获得预期结果仍然很重要。为此,你可以像在之前的章节中那样使用页面顶部的“测试”(Test)函数。按照以下步骤操作:
-
点击“测试”打开测试飞出窗口。
-
你可以选择手动触发此操作或重用之前运行的数据。在示例中,我们将仅使用成功运行的结果,然后点击“测试”。
-
结果应返回成功。如果不是,请检查流的配置并进行任何必要的更新。
图 4.11 – 测试更新后的流
验证结果
虽然看到成功横通常是一个好信号,但它仅表示流没有报错。验证输出是否符合预期同样重要。我们将在下一步查看这一点。
验证结果
虽然“测试”函数可能显示成功,但这并不一定意味着它是正确的。它只是在没有错误的情况下完成了。当涉及格式化表达式或函数时,许多是区分大小写敏感的。例如,如果你正在处理像 2025 年 3 月这样的日期,并在表达式中使用 YYYY-MM-DD 而不是 yyyy-MM-dd,你将得到一个名为 YYYY-MM-DD 的文件夹,而不是 2025-03-02。若要验证你是否实现了预期结果,可以展开并检查每一步生成的值。或者,你可以直接导航到目标库,如下所示:
图 4.12 – 验证测试结果
验证值和文件是否存在
至此,附加在最近处理的费用报告上的文件已存入命名正确的文件夹中(在我们的示例中,文件夹路径包含了日期和电子邮件地址)。接下来,我们将查看用于处理文件的 Dropbox 连接器。
将文件发布到 Dropbox
另一个流行的文件复制场景是将文件移动到 SharePoint Online 之外的存储。SharePoint Online 的公共站点在多年前已弃用,这使得广泛发布信息变得更加困难。例如,假设你的组织托管了一个 SharePoint 站点,个人在该站点保存准备好用于投标的报价请求 (RFP),而你需要让这些文件在面向潜在供应商的站点上自动可用。你可以创建一个流来监控该 SharePoint 站点,并将内容复制到 Dropbox 站点以实现此任务。
如果你想按照此流的步骤操作,你需要一个要监控的 SharePoint 站点以及一个 Dropbox 账户。你可以在 https://www.dropbox.com 注册免费 Dropbox 账户。
要开始操作,请遵循以下步骤:
-
导航到 Power Automate 制作门户 (https://make.powerautomate.com) 并选择“创建流”(Create flow)。
-
选择“自动化云流”(Automated cloud flow)。
-
为流输入名称并搜索 SharePoint 触发器“当文件夹中创建或修改文件”(When a file is created or modified in a folder)。选择它并点击“创建”。
构建自动化云流
通过连接你已使用的应用程序从重复工作中解放出来——自动化警报、报告和其他任务。示例:
-
在业务解决方案中自动收集并存储数据
-
通过对 SQL 数据库的自定义查询生成报告
图 4.14 – 使用 SharePoint 触发器创建新的云流
-
在画布上,选择该触发器。
-
在“站点地址”(Site Address)字段中,输入要监控新文件的 SharePoint 站点 URL。在这种情况下,我们将监控一个名为
PublishedRFPs的站点。 -
在“文件夹 ID”(Folder Id)字段中,选择要监控的文件夹。选择文件夹图标开始浏览,然后选择文件夹名称以选择高亮文件夹,或使用箭头导航到子文件夹。见图 4.15。
图 4.15 – 选择要监控的文件夹
-
添加操作(Add an action)。
-
在“搜索操作或连接器”字段中,搜索 Dropbox 并选择它。
-
在标题栏中,根据需要重命名该流。
-
在“文件路径”(File Path)字段中,使用动态内容。
-
在“文件名”(File Name)字段中,使用动态内容。
-
在“内容”(Content)字段中,使用动态内容。
-
点击“保存”保存更新后的流。
可以通过三种不同的方式创建按钮或即时流:
-
从按钮流模板创建
-
从空白模板创建
-
从包导入
开始的最好方法之一(特别是在处理常见任务时)是查看他人的示例和模板。如果你认为你可能正在做别人以前做过的事情,那么模板是一个极佳的起点。你还可以导入之前保存和导出的流(你将在第 25 节“流的导出、导入和分发”中学习更多内容)。
按钮流可以通过 Power Automate 应用程序或 Power Automate Web 门户创建。虽然你可以在移动设备和 Web 平台上创建复杂的流,但通常在桌面电脑上创建会更简单(也更快速)。你可以在下面的截图看到按钮流模板的示例:
图 5.1 – 按钮流模板
虽然大多数按钮流的设计是为了简单地执行一次任务,但更复杂的即时流或按钮流可以与 SharePoint 列表、文档或存储在 Dataverse(以前称为 Common Data Service)中的数据进行交互。
在下一节中,我们将从 Web 门户创建一个按钮流。
创建一个向经理发送电子邮件的按钮流
有时,你只需要一个快速表单来回答问题或向某人发送通知,例如由于假期或生病不在办公室。在本节中,我们将配置这个简单的按钮流,向你的经理发送电子邮件,告知你不在办公室。
与你在上几个章节中创建的流一样,我们将利用动态内容来确保检索到 Office 365 账户中经理(manager)属性中存储的值。
为了实现这一点,我们将引入一个新的连接器和一些有趣的操作:
-
Office 365 Users 连接器:此连接器允许你连接到 Entra ID 以获取与用户数据相关的信息。你可以在此处了解更多关于 Office 365 连接器的信息:https://learn.microsoft.com/en-us/connectors/office365users/
-
Get my profile (V2)操作:此操作将从 Entra ID 获取你的特定详细信息。你可以在此处了解更多关于此操作可以访问的属性: https://learn.microsoft.com/en-us/graph/api/resources/user?view=rest-1.0#properties 。 -
Get manager (V2)操作:此操作检索所选用户的经理属性。为了使用此操作,必须配置 Exchange 属性。你可以在此处了解更多关于Get manager (V2)操作:https://learn.microsoft.com/en-us/connectors/office365users/#get-manager-(v2)。
通过这些新组件,你将能够检索你的用户对象的经理值并发送一封预填充的电子邮件。在完成示例的过程中,请仔细注意处理 Office 365 数据时步骤的顺序——即:先检索你的个人资料数据,然后检索你的经理值。
将在 Power Automate 门户中创建流,并在移动设备上执行它——这样你就可以在多个平台上与流进行交互。
要执行这些步骤,你需要一个配置了经理属性的 Exchange Online 邮箱箱。大多数企业环境已经通过与 Entra ID 的同步设置了这一点。
提示
如果你不确定在何处为用户账户配置经理属性,请参阅 https://learn.microsoft.com/en-us/exchange/recipients-in-exchange-online/manage-mail-users 。
按照以下步骤完成示例:
-
导航到 Power Automate 制作门户 (https://make.powerautomate.com)。点击 Create(创建)并选择 Instant cloud flow(即时云流)。
-
输入流名称并选择 Manually trigger a flow(手动触发流)。然后点击创建:
从任何设备手动触发的易共享即时流任务,无需重复。
示例:
-
每当 VIP 客户给你发送电子邮件时,获取自动手机警报
-
自动将所有电子邮件附件保存到文件夹中
图 5.2 – 创建即时云流
-
添加操作。
-
在 Add an action(添加操作)弹出窗口中,搜索 Office 365 Get my profile (V2) 操作,如图 5.3 所示:
图 5.3 – 添加 Get my profile (V2) 操作
第 5 章
如果你在 Power Automate 内部没有创建任何连接或对 Office 365 进行身份验证,你需要通过点击 Get profile (V2) 操作上的链图标 🔗 来配置身份验证。
一旦身份验证成功,添加新操作。
- 在
Add an action弹出窗口中,搜索 Office 365Get manager (V2)操作并从列表中选择它。
图 5.4 – 添加 Get manager (V2) 操作
- 在
Get manager (V2)操作上,配置 Exchange 属性以使用它。
图 5.5 – 更新 Get manager (V2) 操作
- 在
Add an action弹出窗口中,搜索 Office 365Get manager (V2)操作并从列表中选择它。
图 5.6 – 添加 Get manager (V2) 操作
- 在
Get manager (V2)弹出窗口中,点击User字段。
图 5.7 – 在 Get manager (V2) 操作
- 在
Get profile (V2)操作下添加UserName动态令牌。
图 5.8 – 添加 UserName 令牌
- 悬停以查看底层代码——它应该是
outputs('Get_profile_(V2)')['body/userName']。
图 5.9 – 悬停查看代码
-
添加操作。
-
在
Add an action弹出窗口中,搜索 Office 365Send email (V2)操作,如图 5.10 所示。
图 5.10 – 添加 Send email (V2) 操作
- 在
Send email (V2)流中,点击To字段并添加Get manager (V2)下的Mail动态令牌。
图 5.11 – 添加 Mail 动态令牌
-
通过填写
Subject和Body字段完成流。这可以尝试新表达式的好机会。例如,你可以使用formatDateTime()表达式检索今天的日期并将其格式化为月/日/年。选择utcNow()表达式作为第一个参数,并将日期作为第二个参数:formatDateTime(utcNow(), 'MM/dd/yyyy') -
点击流名称以打开流的属性。
-
点击“运行流”以执行流。
图 5.13 - 运行流
- 在启动流后,您应该收到一条关于流初始执行状态的应用内通知,如图 5.14 所示:
图 5.14 - 流执行状态
关于图 5.14 显示的确认横幅,更有趣的一点是,它只是报告是否成功启动了流,而不是是否实际执行成功。对于这一点,我们需要深入流的运行历史。
验证流
你可以从 Power Automate 制作门户 (https://make.powerautomate.com) 和 Power Automate 移动应用查看流的运行历史。由于我们在本章的大部分都在使用移动应用,因此我们将继续使用它。
-
在 Power Automate 移动应用中,选择“即时流”选项卡。
-
找到该流并点击三个点图标以展开上下文菜单。点击详细显示流的运行历史。
图 5.15 - 展开流的上下文菜单
- 检查流的输出。在这种情况下,流实际上失败了,因为流用户的账户没有配置经理。参见图 5.16。
图 5.16 – 查看流的运行历史
- 解决任何错误并重新运行流。按照步骤 1-3 查看更新后的流运行历史。
图 5.17 - 检查更新后的流运行历史
流已完成。如果需要,可以通过检查执行流的用户邮箱箱的“已发送”文件夹来执行进一步验证。由于流已通过身份验证,发出的电子邮件将从发送者的邮箱箱发送(并保存到)该邮箱中。
总结
在本章中,我们涵盖了新的连接器和操作,以及通过使用 formatDateTime() 表达式对 utcNow() 的值进行格式化,并将表达式嵌套在另一个表达式中的示例。通过组合多个表达式,你可以以符合流的格式显示变量数据。
正如你所看到的,即时流对于可以从制作 Web门户或移动设备执行的快速任务非常有用。虽然可以在移动设备上创建即时流,但你可能希望考虑在制作界面上创建复杂的流,这样就可以同时在屏幕上看到更多的组件。
在下一章中,我们将学习如何使用推送通知来提高可见性并引起对注意事项的关注。
6 生成推送通知
推送通知是一种通信机制,用于将消息(通常是弹窗或横幅)传递到终端用户的设备。推送通知是让用户与数据和活动保持连接、驱动参与场景或提示用户执行操作或相关任务的方便方法。
Microsoft Power Automate 允许用户作为流的一部分配置他们自己的推送通知。例如,除了处理电子邮件附件外,你可能希望在处理完电子邮件附件时向你的设备发送通知。
在本章中,我们将查看推送通知如何工作,以及如何将通知集成到流中。我们将涵盖的主题如下:
-
学习推送通知
-
为来自你经理的邮件配置通知
-
介绍条件
-
创建流
-
检查通知
-
重新制作流
有效使用通知可以帮助你掌握重要任务。让我们开始吧!
学习推送通知
推送通知使用基于订阅的平台通知系统 (PNSes) 进行递送。PNS 是移动平台特有的。平台包括 Android 设备的 Firebase、iOS 平台设备的 Apple 推送通知服务 (APNs) 以及基于 Windows 的设备的 Windows 通知服务。开发多平台应用程序的供应商必须与其希望提供推送通知的每个 PNS 集成。
以下图描述了 PNS 的基本概述:
图 6.1 – 推送通知系统概述
为了实现推送通知,开发者必须编写客户端和服务器应用程序,使其能够与推送通知系统通信。推送通知通常包含几个组成部分:
-
移动设备:终端用户设备上的应用程序将在应用程序或服务器基础设施以及平台的推送通知服务注册,在此过程中生成唯一的标识令牌 (token)。
-
应用程序或服务器基础设施:应用程序在终端用户设备上交互的服务或应用程序。
-
平台或推送通知系统:该系统管理应用程序基础设施与用户移动设备之间的通信。PNS 处理网络状况、设备可用性以及由于错误或离线设备导致的重试等事项。
推送通知基于客户端设备与应用程序、应用程序服务器基础设施以及推送通知系统之间的订阅和处理系统。激活时,启用通知的应用程序联系 PNS 并请求一个称为句柄 (handle) 的特殊令牌。该令牌标识请求订阅特定服务的应用程序和单个设备。句柄或令牌代表用户设备和应用程序的唯一配对。它不能用于任何其他应用程序或设备组合。
当用户配置应用程序接收通知时,应用程序向 PNS 请求句柄并将其保存到应用程序服务器的基础中。当应用程序基础设施发生触发通知的事件时,应用程序基础设施联系 PNS,并提供与事件或通知对应的句柄。反之,PNS 使用句柄联系目标设备上的应用程序。
在此语境下,我们将使用 Power Automate 移动应用为通知请求句柄。当满足流条件时,Power Automate 服务将与 PNS 通信以通知你的移动设备。通知是 Power Automate 操作,可以在需要警报时配置,并通过多种方式递送,例如推送通知、电子邮件、Teams 活动馈或 Power Apps 应用。适用于 Power Automate 或 Office 365。
接下来,你将看到如何配置集成推送通知的移动设备。
为来自经理的邮件配置通知
配置使用推送通知的流非常简单。你可以向现有流添加通知,也可以创建一个利用推送通知的新流。
在示例中,我们将创建一个新流,当邮箱箱接收来自经理的邮件时发送推送通知。我们将使用在上章中学到的以下组件:
-
连接器:
Office 365 Users和Outlook -
操作:
Get my profile (V2)和Get manager
我们还将引入一个新的连接器和新操作:
-
Notifications 连接器:此连接器允许与通知服务交互。可以在此处了解更多 notifications 连接器:https://learn.microsoft.com/en-us/connectors/flowpush
-
Send me a mobile notification 操作:此操作向移动设备发送推送通知。可以在此处了解更多
Send me a mobile notification操作:https://learn.microsoft.com/en-us/connectors/flowpush#send-me-an-email-notification
Condition 控制操作:允许根据条件(例如属性的值)执行不同的操作。可以在此处了解更多 Condition 控制:https://learn.microsoft.com/en-us/power-automate/add
取决于应用程序如何配置,你可能可以配置通知以利用深度链接,深度链接将用户带到相关项目(而不是项目列表)。可以在此处了解更多深度链接: https://www.microsoft.com/en-us/power-platform/blog/powerapps-deep-linking 。
你还会注意到我们正在引入一种新类型的项目——Condition 控制。它不依赖于特定连接器或服务的功能,该控件可以帮助你的流决定要执行哪些操作。
图 6.2 – 条件示例
if 语句通常遵循以下示例之一:
if [条件为真],则 [执行操作]
或者
if [条件为真],则 [执行操作];
else [执行其他操作]
Power Automate 中的条件控制工作方式与此非常。你可以根据流中存在的值来控制流将执行的一系列操作。
Power Automate 条件可以执行多种不同类型的评估,如下列表的操作符所示:
-
包含 (contains)
-
不包含 (does not contain)
-
等于 (is equal to)
-
不等于 (is not equal to)
-
大于 (greater than)
-
大于等于 (greater than or equal to)
-
小于 (is less than)
-
小于等于 (less than or equal to)
-
开头 (starts with)
-
不开头 (does not start with)
-
结尾 (ends with)
-
不结尾 (does not end with)
在对值进行相互评估时,你需要确保针对你正在评估的数据类型使用了正确的操作符。例如,在比较或测试数值时,你会使用诸如大于或小于等于等操作符。你可以使用某些操作符(如等于和不结尾)来评估文本字符串和数值。
Power Automate 条件还允许使用多个条件,以及评估一组条件。Power Automate 甚至支持嵌套条件,如图 6.3 所示:
图 6.3 - 嵌套条件示例
任何条件评估的结果都是布尔值:条件要么评估为(真/true),要么为(假/false)。
创建流
在示例示例中,我们将使用条件来控制何时发送通知。目标是在当你收到经理的电子邮件时发送推送通知。
按照以下步骤操作,查看如何使用条件控制:
-
导航到 Power Automate 制作器门户 (https://make.powerautomate.com)。点击“创建”并选择“自动化云流”。
-
输入名称并选择“当有新邮件到达 (V3) Office 365 Outlook”触发器。点击“创建”。
-
添加操作。选择“获取我的配置 (V2) Office 365”操作:
Get my profile (V2)。 -
添加操作。选择“获取经理 (V2)”操作:
Get manager (V2)。 -
在“获取经理 (V2)”面板中,在“用户 UPN”字段中,添加来自“获取我的配置 (V2)”操作的“用户主要名称 (User Principal Name)”动态值。
第 6 章
101
图 6.4 – 配置“获取经理 (V2)”操作控件。
- 添加操作。在添加操作控件中,选择条件控制控件。
图 6.5 – 添加条件控件
-
在条件控制控件中,选择参数选项卡。
-
在第一个选择值字段中,添加“当有新邮件到达 (V3)”操作下的发件人 (From)动态值令牌。
-
对于评估操作符,选择包含 (contains)。
-
此步的目标是检查电子邮件发件人的值是否匹配获取经理 (V2)操作的结果。在第二个选择值字段中,添加来自“获取经理 (V2)”操作的邮件 (Mail)动态值令牌。参见图 6.6。
图 6.6 – 配置条件控件评估
-
在 sometimes的真 (True) 分支中,添加一个操作。
-
在“添加操作”面板中,选择“向发送手机通知”操作。
图 6.7 – 添加“向发送手机通知”操作
- 在“向发送手机通知”操作面板中,添加将作为移动设备上通知一部分显示的文本。
图 6.8 – 配置通知文本
-
在“高级”下,点击“显示”。
-
在“链接”字段中,添加来自“当有新邮件到达”操作的动态值。
-
在链接字段中输入描述性文本。参见图 6.9:
图 6.9 – 配置“向发送手机通知”操作
- 点击“保存”。
审核通知
当你收到符合条件的电子邮件时,你将收到通知。
图 6.10 – 电子邮件的推送通知
点击通知将带你进入 Power Automate,如下所示:
图 6.11 – 查看新通知
如果流未打开,链接可能无法引导你进入消息。
图 6.12 – 打开深度链接
重构流
理解共享流 (shared flows)
如引言所述,共享流允许多个个人管理流的活动和配置。共享流还允许多个个人查看运行历史、为连接器提供凭据,并添加或删除操作。
云端流和桌面流都可以被共享。
然而,共享流也有一些有趣的特性和注意事项:
-
其他用户、组或 SharePoint 列表可以成为流的共同所有者
-
流创建者不能被任何共同所有者删除
-
如果你正在授予 SharePoint 列表的访问权限,包含列表的站点必须连接到该流(例如用于保存文件)
-
流的共同所有者可以查看流的运行历史
-
流的共同所有者可以添加或删除操作、条件或其他共同所有者
-
流的共同所有者可以管理流的属性(例如启用或禁用、描述和其他常规属性)
-
共同所有者可以删除流
-
流中的连接(称为嵌入连接)只能在共享流或团队流的上下文中使用;它们不能被其他共同所有者在自己的流中复用
任何流都可以转换为共享流或团队流。不需要特殊的设计考虑,但如果共享了桌面流,访问该流的用户需要安装 Power Automate 桌面应用才能处理该流。
凭据和连接信息是共享流的一部分,因此他人可能通过更新流来获取其他信息的访问(例如使用共享数据库凭据执行额外查询),从而利用嵌入凭据。虽然他人无法导出凭据数据本身并在其他处复用,但他们可能会修改流并访问保存的凭据对该连接可以执行的任何操作。
在使用共享流时,你应该确保帐户和连接配置仅具有处理流所需的最少数据访问权限。
接下来,我们将查看如何将普通用户流转换为共享流。
共享云端流
现在你已经了解了共享流提供的哪些额外功能,让我们开始与某些团队成员共享流。
在这个示例中,我们将取在第 4 章“复制文件”中创建的“报销费用表 (Expense Reports)”流,并将其更新为作为共享流运行。
-
登录 Power Automate 制作者网页门户 (https://make.powautomate.com) 并选择“我的流 (My flows)
-
点击想要更改为共享流的流旁边的三个点,并选择“另存为 (Save As)”。
图 7.1 - 定位要转换为共享流的流
在“创建此流的副本”对话框中,更新“流名称”并点击“保存”以完成流副本的创建。
图 7.2 - 创建流的副本
- 点击新创建流上的“共享”图标开始编辑。
图 7.3 – 共享流
- 在“所有者 (Owners)”部分,在“用户和组”下,开始输入要与其共享的用户或组的名称或地址,并点击进行选择。
图 7.4 – 添加共同所有者
- 在添加新成员或共同所有者时,系统将提示你确认将授予共同所有者的连接器和数据访问权限:
在共享之前...
请确保你只添加你信任的共同所有者。你正在共享使用下方连接的权限以及更改流可以执行的操作的权限。
[了解更多]
aron@undocumented-features.com
Office 365 Outlook
拥有此连接访问权限的共同所有者可以:
读取你的用户配置文件
读取、更新和删除你的邮件
以登录用户(你)的身份发送邮件
创建、读取、更新和删除事件
创建、读取、更新和删除联系人
aron@undocumented-features.com
SharePoint
拥有此连接访问权限的共同所有者可以:
读取列表和库名称以及列名称
创建、读取、更新、复制和删除文件及元数据
图 7.5 – 确认将授予的共享权限
- 如果你的流连接到 SharePoint 站点,你还可以将 SharePoint 列表或库作为共同所有者添加。选择 SharePoint 选项卡,然后选择列表和文档库。点击“添加 (Add)”:
图 7.6 – 授予 SharePoint 站点的访问权限
在“我的流”页面,流将从“云端流 (Cloud flows)(原“我的流”)”选项卡移动到“与我共享 (Shared with me)(原“团队流”)”选项卡,如下屏所示:
图 7.7 - 查看共享流
流已共享。
接下来,我们将查看在 Power Automate 内部如何工作。
共享桌面流
Power Automate,正如第 2 章“入门 Power Automate”中提到的,可以用于创建和管理桌面流。目前有一些限制:
-
共享流中的连接只能在共享流或团队流的上下文中使用;它们不能被其他共同所有者在自己的流中复用
-
Power Automate 桌面版显示了一些限制
为了完成此练习,我们首先需要创建一个流。
创建桌面流
我们将进入第 18 章“自动化”。要创建桌面流,请遵循以下步骤:
- 启动 Power Automate 应用,如图 8 所示:
- 导航到“桌面 (Desktop)”选项卡并点击“新建 (New)”。
- 在“创建流”对话框中,输入“流名称”并点击“创建”。
图 7.10 - 填写流对话框
- 如果提示,点击“打开 (Open)”启动 Power Automate 应用。
图 7.11 - 启动 Power Automate 应用
-
登录你的 Microsoft 365 租户。
-
从主页点击“新建”并选择“流”。
- 在“创建流”对话框中,输入“流名称”并点击“创建”。
使用共享流
注意
你可以在“创建流”对话框中启用 Power Fx。Power Fx 是 Power Automate 的原生语言(类似于 Excel 公式使用的宏语言)。Power Fx 语言有一些细微差别,例如从 1 开始的数组索引、变量初始化要求以及变量的大小写敏感性。更多信息请参阅 https://learn.microsoft.com/en-us/power-automate/desktop-flows/power-fx 。
- 在操作面板中搜索“打开”并选择“打开 CMD 会话 (Open CMD session)”。将其拖动到画布区域。
图 7.14 – 选择 CMD 操作
- 在“工作文件夹”框中输入
C:\,然后点击“保存 (Save)”。
图 7.15 – 指定工作文件夹
第 7 章
- 现在,将“写入 CMD 会话”(Write to CMD session)操作拖到画布区域,位于“打开 CMD 会话”操作下方。
图 7.16 - 添加写入 CMD 会话操作
- 在命令输入框中,输入
dir c:\ > dir.txt并点击保存。
图 7.17 - 指定要执行的命令
- 最后,将“关闭 CMD 会话”(Close CMD session)操作拖到“写入 CMD 会话”操作下方的。在对话框中点击保存,然后点击 Power Automate 设计器标题栏上的保存图标。
搞定!你已经创建了一个基础桌面流。它功能不多,但足以向你展示共享过程是如何工作的,我们将在下一节中介绍这一点。
共享流
要从 Power Automate Web 门户共享桌面流,请按照以下步骤操作:
-
转到 Power Automate Web 门户 (https://make.powerautomate.com) 并选择“我的流”(My flows)。
-
选择“桌面流”选项卡。
图 7.18 – 查看桌面流
- 悬停在流上,展开三个点,然后选择“共享”(Share)。
图 7.19 – 访问共享活动
-
在用户框中开始输入名称或电子邮件地址,选择要添加到流的用户。
-
在管理访问(Manage access)框中,开始输入名称并选择用户。默认情况下,新用户被赋予用户(User)权限(可以运行流但不能编辑)。点击名称以显示更多选项。你可以选择用户(User)或共同所有者(Co-owner)权限。
图 7.20 – 添加用户并配置权限
-
完成添加用户并设置权限后,点击保存。
-
添加的用户可以在 Power Automate 桌面应用程序的“共享”(Shared with me)选项卡下访问该流。
在某些情况下,你可能不想带有完全共同所有者权限共享流,请务必验证谁将使用该流(更重要的是,你是否愿意处理他人编辑时出现的问题)。
接下来,我们将查看如何向具有“仅运行”权限的用户共享云流。
共享具有仅运行权限的流
仅运行权限功能允许你为手动触发的流(例如按钮流和即时流)授予非常有限的权限。
注意
自动化流不支持仅运行权限。
通过此选项,用户只能执行流。他们不能编辑或修改流的任何部分,仅被授予触发流的权限。
协作共享流
要向按钮流或即时流授予仅运行权限,请按照以下步骤操作:
-
登录 Power Automate Web 门户(
https://make.powerautomate.com)并选择“我的流”。 -
点击按钮流或即时流旁边的三个点,就像第 5 章“创建按钮流”中的按钮或即时流一样。选择“详情”(Details)打开详情页:
图 7.21 – 打开详情页
- 在“仅运行用户”部分,点击“编辑”(Edit):
图 7.22 – 查看流详情页
- 在“管理仅运行权限”飞出面板中,添加你想要授予仅运行权限的用户或组。对于需要数据源凭据的连接,你可以选择使用哪些凭据——由仅运行用户提供的凭据或保存在流中的凭据。提供的凭据是在此流的上下文中,不与用户可能拥有的任何流绑定:
图 7.23 – 管理仅运行用户
-
滚动到面板底部并点击保存。
-
“详情”选项卡将显示带有仅运行用户的更新配置。
该流已为指定的用户和组配置了仅运行权限。
注意
当流仅配置了仅运行权限时,它不会显示在“与共享”(Shared with me)选项卡下。只有配置了共同所有者的流才会移动到“共享”选项卡。
接下来,我们将查看一些与管理共享流相关的任务。
管理共享流
流的所有共同所有者都可以管理它的各种属性。在练习中,我们将查看团队流对共享接收者来说是种样的。
一旦流共享给您(或者您将流共享给他人),您就可以使用 Power Automate 制作门户的“我的流 | 与共享”页面像管理任何其他流一样管理它。共享流最重要的功能之一是在流的创建者不再可用时(例如,某人离开了组织)。在创建者的账户从组织中删除后,使用该凭据的连接将需要更新。
在下面的截图中,注意 Microsoft 365 消息中心的状态如何带有红色感叹号显示,表示凭据失败:
图 7.24 – 更新连接
要解决此情况,请按照以下步骤操作:
-
在详情页上,在“连接”区域点击“编辑”。
-
在状态部分,点击“管理”。
-
点击三个点并选择“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
图 7.25 – 显示无效凭据的页面
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
-
在状态部分,点击“所有者”。
-
选择流进行更新。
该流已为指定的用户和组配置了仅运行权限。
总结
在本章中,我们引入了共享流(以前称为团队流)的概念。共享流允许您管理流的所有权。共享所有者可以管理流的所有方面,包括添加和删除他人。这一过程对于共享流的继续运行至关重要。
在下一章中,我们将扩展条件的概念。
正如你在本章中看到的,条件可以用来扩展流的能力,或者可能地将多个流组合成一个更大、更健壮的流。在本章中,我们将通过以下主题来扩展你对条件的理解:
-
理解条件运算符
-
使用表达式和多个条件
本章将帮助你了解条件如何精细地调整你的流。让我们开始吧!
理解条件运算符
运算符指示了在评估时将执行的计算类型。你可能对常见的数学运算符熟悉,例如:
-
+(加法) -
-(减法) -
÷(除法) -
×(乘法) -
<(小于) -
>(大于)
这些运算符主要用于评估数值值。在流中操作对象和文本时,仅使用数学运算符可能是不够。虽然你可以在某些地方使用表达式,但理解其他用于判断值是否满足条件的运算符也同样重要。
Power Automate 还可以使用以下字符串运算符来评估条件:
-
contains(包含) -
does not contain(不包含) -
is equal to(等于) -
is not equal to(不等于) -
is greater than(大于) -
is greater than equal(大于或等于) -
is less than(小于) -
is less than equal to(小于或等于) -
starts with(开头为) -
does not start with(不以...开头) -
ends with(结尾为) -
does not end with(不以...结尾)
其中一些适用于数字(例如大于或等于),而另一些适用于字母(例如开头为)。

浙公网安备 33010602011771号