2018年4月,星期日

在您的应用程序中使用Flow的5个想法

像许多其他人一样,我和我的团队最近在Microsoft 流 方面做的越来越多。它’是的,它确实有一些局限性,尤其是当您进入运行时间更长的进程时,“state machine” than “采取这套行动”(或者您想了解更多有关 更新 SharePoint中的项目,或响应删除事件,而不是新事件),但总体而言,这些功能令人难以置信。特别是’s连接到其他构成Flow的服务 –以及您可以使用它们完成的一系列操作。最近与其他开发人员聊天时,我想到许多Office 365技术人员可能都不知道Flow目前可以做什么-因此,激发了本文的灵感。我可以为这篇文章做的一些有趣的事情是:

  • 在Skype for Business上发送消息
  • 发布到Microsoft团队
  • 向Excel添加一行
  • 创建一个Office 365组(通过调用图表)
  • 将推送通知发送到移动设备

几天前,我发现自己在构建的Flow中做奇怪的事情–我只需要做一些基本的调试,以找出为什么我的进程在一个分支上会崩溃,而我原本希望在另一个分支上会崩溃。为什么我正在测试的价值“if/else”条件不是我所期望的?我认为我会在某个地方添加一些快速而肮脏的日志记录,以便可以更好地了解事物(并可能稍后删除或更改)– but then I couldn’找不到符合逻辑的记录。我最初的想法是使用Azure Application Insights–我最近谈到了在Intranet和页面小部件中使用此功能来跟踪代码中的事件,即用户采取的特定操作。您的应用多久启动一次?用户多久点击一次该特殊按钮?有多少用户切换到用户界面的第二个选项卡?或者,也许在站点配置中–请求多少个站点,需要多长时间?我认为您可以在Flow的特定点登录App Insights,这将是一种分析Flow中最常见路径或在构建过程中进行一些调试的好方法。

不幸的是,这儿没有“在Azure App Insights中跟踪事件” action yet :(

我在这里添加了UserVoice项 如果您也认为这是一件好事,并且喜欢投票。

无论如何,这使我在其他可能性中获得了一些乐趣–您可以像我一样使用它们进行快速,肮脏的调试,但是我认为这里有很多真正的业务可能性,因此’值得注意它们。

在Skype for Business上发送消息

如果在Office 365中添加或更改某项内容时需要*立即*通知个人/团队,并且由于某种原因而没有通过电子邮件通知,则此选项可能很有用。’很合适。可以说,如果收件人是台式机/ PC用户,则此方法效果最好。–稍后,我将讨论通知移动工作人员的选项。无论如何,它肯定会吸引用户’注意,并且可以在Flow中快速配置它。这里’最终用户的体验:

SNAGHTMLae4a2ce

SNAGHTMLae8cb91

这里’在Flow中的外观:

SNAGHTMLaed16de

向Microsoft团队发布消息

但是对于Skype for Business而言,对于大多数组织(在Microsoft云中)而言,未来当然是团队。当你’d expect, there’Flow和团队之间的良好整合。这样说吧’目前尚无法 发送聊天消息 在Microsoft Teams中,但是我们可以发布到频道–可以说,在现实世界中,它更有用。这里’团队中的外观:

SNAGHTMLaf32cbb

这里’在Flow中的外观:

SNAGHTMLaecbb70

向Excel添加一行

当然,世界一半’关键流程仍在Excel中运行。幸运的是,您可以轻松地将Excel用作Flow的数据源,无论这意味着读取或写入工作簿– it’如果Excel文件位于Office 365中的某个位置,则微不足道。在下面的示例中,我’m每次将费用报表提交到SharePoint时,都会在Excel工作簿中添加一行。财务团队可以使用它来报告或帮助某些月末流程。最终结果是一个Excel电子表格,该电子表格会随着时间的推移自动建立,我可以将SharePoint项目中的详细信息拖入Excel:

SNAGHTML532992d

这里’在Flow中的外观:

SNAGHTML528ddc8

SNAGHTML5296150

SNAGHTML528413a

对图的HTTP调用(具有AAD身份验证)–例如创建一个Office 365组

一些 从Flow调用Microsoft Graph可带来有趣的可能性。显然,该图是通往与邮件,日历事件,联系人,SharePoint / OneDrive中的文档,规划器任务,团队等相关的所有事物的门户。在这种情况下’m专注于Office 365组。如何通过批准的SharePoint列表控制组请求和创建的方法?我在20分钟的时间内完成了此操作,并且我认为Office 365中的许多组织都将从这种过程中受益匪浅。成分是:

  • 供用户请求新的Office 365组的SharePoint列表–这提供了形式
  • 一个流‘Start an Approval’ action –这提供了管理员步骤的受控创建/批准
  • 将HTTP操作添加到Flow(当它关闭时,“approved” condition branch) –这将调用图形,在这种情况下,将调用POST到/ Groups端点,其中包含要创建的Group的详细信息
    • AAD应用程序注册,用于通过图形进行身份验证–这必须具有创建网上论坛的权限(例如Group.ReadWrite.All)

因此,如果您想象一个添加项目的SharePoint列表:

SNAGHTML6cf84d

当一个新项目添加到列表中时,我们添加一个Flow来响应,并在其中添加简单的HTTP操作(例如,在批准步骤之后):

SNAGHTML61e70c

我们将其配置为指向Graph API中的正确URL,并传递适当的JSON用于创建组:

SNAGHTML667c82

那里’实际上比这还多–我们需要为调用指定身份验证详细信息,在这种情况下,请为具有适当权限(在Azure门户中分别完成)的AAD应用注册指定客户端ID和密钥:

SNAGHTML6a6369

..and then, when an item is added to the list and it is 已批准 by an admin, the Group is created along with the corresponding mailbox, calendar, SharePoint site and so on:

SNAGHTML6ed412

图片

20分钟的工作还不错!当然,轻松调用图的功能意味着您可以做很多事情–我当然可以想象很多业务流程在执行以下操作时会很有用:

  • 创建日历项目
  • 在规划器中创建任务
  • 更新用户资料
  • 新增联络人

..等等。快速浏览Graph文档应该会给您很多想法。

在其移动设备上向Flow所有者发送推送通知

如果您需要立即通知某些用户或管理员怎么办 谁通常在现场移动或外出 当Office 365中的某些内容发生更改并且电子邮件或SMS不在’正确的解决方案?我们’如今,习惯于从我们的手机/平板电脑上的某些应用程序获取推送通知,但是开发自定义应用程序并将其掌握在所有用户的手中可能既昂贵又耗时。如果您可以直接使用PowerApps或Flow移动应用程序的iOS / Android版本–并记住,用户可以立即从相应的应用商店中安装它们–那么您可以非常轻松地向这些应用发送推送通知。

注意事项!

好的,对此有一些警告,部分原因是您可以通过两种方式发送推送通知。注意事项是:

  • 标准 推送通知只能发送*给流程所有者*
  • PowerApps 推送通知可以发送给任何人,但您的应用程序用户需要使用高级(付费)计划– remember this doesn’虽然不一定要成为组织中的每个人

It’同样值得考虑的是,如果您需要通知 something needs to be 已批准 通过收件人,Flow可以为此做得更好–Flow批准在Flow移动应用中非常有效。任务详细信息显示得相当清楚,而且很大“Approve” and “Reject” buttons:

SNAGHTMLd17167a

不需要任何特殊操作,只需定期使用Flow‘Start an Approval’行动。如果收件人在其设备上安装了Flow应用程序并已登录,则他们’会收到通知,并能够非常轻松地从应用程序内部批准/拒绝。

但是其他类型的通知呢?也许有人提交了一些东西,而您需要向他们确认已经记录了该东西并且已经开始一个过程?好吧,如果您可以使用PowerApps推送通知选项,那么效果很好,甚至可以提示用户打开PowerApp(并传递参数以加载特定项/将用户带到特定屏幕等):

SNAGHTML109d618a

当用户打开通知时,您的特定PowerApp可以打开。这里’在Flow中的外观:

SNAGHTML109f23cb

真的很好。

概要

我认为它’对于在Office 365中工作的所有开发人员,架构师和技术业务人员来说,了解Microsoft 流 的可能性是一个好主意。那里’就所涉及的工作量可以完成的工作而言,这是一个重大的飞跃–因此许多组织流程都可以从中受益。一世’我在这里提出了一些有用的5个想法,但我’m主要集中于在Office 365中执行其他操作或通过Office 365进行通信。还要考虑Flow具有与第三方应用程序的连接器列表很多–尽管所有顶级企业生产力供应商都有类似的列表,但我没有’相信任何人都可以像Microsoft那样广泛使用它。下图显示了一个很小的选择(只是那些以字母P到W!开头的选择):

SNAGHTML10a176b4

即使在此集合中,您也可以看到Salesforce,ServiceNow,WorkDay和许多其他企业系统。

我认为其中一些东西是Office 365个人的杀手kill。开心的过程建设!