设置和了解 Power Apps 中的危机通信示例应用

危机通信示例应用提供易用体验来将用户与有关危机的信息关联。 快速获取公司内部新闻的更新,获取常见问题的答案以及访问重要信息,如链接和紧急联系人。 要拥有此应用,需完成少量设置。

在本演练中,您将了解如何:

  • 为您的数据创建位置。
  • 导入危机通信应用及其管理应用。
  • 为应用创建内容。
  • 导入流以向用户发送通知。
  • 创建集中管理的 Teams 团队以聚合数据并有效地对问题进行响应。

完成这些步骤的估计时间: 20–25 分钟

备注

Power Apps US Government 和 Power Automate US Government 计划提供危机通信示例应用。 Power Apps 和 Power Automate US Government 版本的服务 URL 与商业版本不同。 详细信息:Power Apps US Government 服务 URLPower Automate US Government 服务 URL

演示:危机通信应用

观看如何使用危机通信应用。

先决条件

  • 注册 Power Apps。
  • 您必须具有有效的 SharePoint Online 许可证和创建列表的权限。
  • 您必须有公共 SharePoint 站点,您可以在其中存储应用的数据。
  • aka.ms/CrisisCommunicationSolution 下载资产。

重要

对于与危机通信应用有关的任何反馈或问题,请使用以下链接:

演示:构建和部署危机通信应用

观看如何构建和部署危机通信应用。

为数据创建一个家

应用的数据存储在列表中,因此第一步是创建一个新的 SharePoint 站点。

创建 SharePoint 站点

  1. 登录到 Office online,然后选择 SharePoint

  2. 选择创建站点

    示例 SharePoint 站点。

  3. 选择团队站点

    团队站点。

  4. 为站点输入名称和说明。

  5. 隐私设置设置为公共,以便公司中的每个人都能获得必要的信息。

    站点设置。

  6. 选择下一步

  7. 为站点添加其他负责人(可选)。

  8. 选择完成

在 Microsoft Lists 中创建列表

应用使用多个列表来存储数据。 您可以使用下载的资产包中的 DeploySPLists 流自动创建这些列表。

导入列表部署流

  1. 转到 make.powerautomate.com

  2. 选择左侧导航窗格中的我的流

  3. 在命令栏上选择导入

  4. 从 GitHub 存储库上载 DeploySPLists.zip 包。

    导入包。

  5. 通过选择在导入期间选择链接并填写表单,为新流添加 SharePoint 连接。

    导入设置。

  6. 如果您需要创建新的 SharePoint 连接,请在导入设置窗格中选择新建

  7. 在命令栏上选择新建连接

    创建新连接。

  8. 搜索连接的名称,例如 SharePoint

  9. 选择您创建的连接。

  10. 选择保存

  11. 选择导入

编辑列表部署流

  1. 导入完成后,转到我的流,刷新流的列表。

  2. 选择新导入的流 DeploySPLists

  3. 在命令栏上,选择编辑

  4. 打开变量 – 列表的目标站点卡。

  5. 中,输入您的 SharePoint 站点的名称。

  6. 打开变量 – 应用名称卡。

  7. 中,输入您的应用的名称;默认情况下,名称为危机通信

    流参数。

  8. 选择保存

运行列表部署流

  1. 返回到 DeploySPLists 流的详细信息屏幕。

  2. 在命令栏上选择运行

  3. 选择继续,然后选择运行流

    登录以运行流。

    运行流。

备注

您可能会收到一条错误消息,指出需要位置服务。 如果发生此情况,请允许位置服务访问 Power Automate 并刷新页面,然后重试。

流将在您的 SharePoint 站点中创建以下列表。

显示标题 用途 说明
CI_LogosAssets 保留徽标和/或要从应用引用的其他图像。 徽标将在 Power Apps 中通过直接链接或您要使用的徽标的 ID 号引用。 [应用名称] 应用的相关徽标和其他图像资产的库。
CI_configAdminSetup 由应用管理员用于功能配置。
注意:对于不是管理员的所有成员,此列表应为只读。
[应用名称] 应用的管理员配置列表。
CI_Contacts 使用默认的联系人内容类型来捕获有关联系人的信息。 (不包括人员选取器,因此可能需要手动维护此列表,以确保其数据是最新的。)
注意:这取决于全局联系人列表类型是否是列表中的默认内容类型。
[应用名称] 应用的联系人列表。
CI_CompanyNews 公司新闻项的集合。 用于管理 [应用名称] 应用中出现的新闻项的列表。 您可以使用弃用列从应用视图中删除新闻项,同时将它们保留为记录。
CI_FAQ 常见问题。 [应用名称] 应用的常见问题列表。 您可以使用弃用列从应用视图中删除常见问题项,同时将它们保留为记录。
CI_UsefulLinks 有用的超链接列表。 [应用名称] 应用的有用超链接列表。 您可以使用弃用列从应用视图中删除超链接项,同时将它们保留为记录。
CI_Employee 跟踪当前的员工状态。 示例:在家中工作生病请假私人休假休假注意:将假定状态为上班,此状态未包含在列表选项中。 指示 [应用名称] 应用的员工状态的消息列表。 您可以使用弃用列从应用视图中删除状态消息,同时将它们保留为记录。
CI_HelpfulTips 显示用户已为同事做出贡献的有用提示。 用于管理 [应用名称] 应用的共享提示的列表。 您可以使用弃用列从应用视图中删除提示,同时将它们保留为记录。

备注

  • 所有这些列表列都应视为依赖项。 保护列表以防止发生意外的架构更改(例如,允许添加新列,但是删除列可能会破坏应用。)
  • 删除列表项时请小心;删除列表项将删除历史记录。 您可以将弃用值从切换为,以从联系人、新闻、常见问题或链接中删除记录。

导入和设置危机通信应用

创建所有列表后,您可以导入应用并将其连接到新的数据源。

备注

如果您不想使用管理应用,则可以通过手动编辑列表来编辑同一批属性。

导入应用

  1. 登录到 Power Apps

  2. 从左侧导航窗格中选择应用

  3. 在命令栏上选择导入

  4. 从 GitHub 存储库上载 CrisisCommunication.zip 文件。

    备注

    如果您的租户位于 GCC 环境中,请上载 CrisisCommunicationGCC.zip

    导入应用包。

  5. 通过使用在导入期间选择超链接选择适当的连接,以此完成 Microsoft Teams 连接Office 365 用户连接的导入设置。 您可能必须创建一个新连接(如果尚不存在)。

  6. 选择导入

更新 SharePoint 连接

  1. 返回应用列表。

  2. 选择危机通信应用对应的更多命令 (...)。

  3. 从上下文菜单中选择编辑

    编辑应用。

  4. 登录或创建任何必要的连接,然后选择允许

  5. 转到左侧窗格中的数据源。

    数据源。

  6. 删除应用中现有列表,因为它们没有指向您当前的 SharePoint 站点。

    删除数据源。

  7. 从您自己的 SharePoint 站点添加列表。 首先在搜索栏中搜索 SharePoint

    搜索 SharePoint。

  8. 选择 SharePoint,然后选择一个连接。

    SharePoint 连接。

  9. 将您的 SharePoint 站点的 URL 复制并粘贴到文本字段中,然后选择连接

    SharePoint 站点 URL。

  10. 选择所有列表和库,然后选择连接

    连接到列表。

  11. 选择保存,然后选择发布

可选:启用位置更新

使用此应用,您可以记录用户的位置并将其存储在 SharePoint 站点中,只要用户设置其状态即可。 您的危机管理团队可以在 Power BI 报表中查看此数据。

备注

启用位置更新是可选的。 如果您不想跟踪用户位置,则可以跳过此部分。 此外,Teams 桌面当前不支持位置跟踪。

启用位置更新

  1. 搜索 btnDateRange 控件。

  2. 在公式栏中打开 btnDateRange 控件的 OnSelect 属性。

  3. 将以下片段复制并粘贴到 OnSelect 属性的公式栏中。

    备注

    以下片段用于 2020.03.16 以前的解决方案版本。 对于较新的版本,请编辑 // To implement location 注释后面的代码。

        UpdateContext({locSaveDates: true});
    // Store the output properties of the calendar in static variables and collections.
    ClearCollect(submittedDates,Sort(Filter(selectedDates,ComponentId=CalendarComponent.Id),Date,Ascending));
    Set(varStartDate,First(submittedDates).Date);
    Set(varEndDate,First(Sort(submittedDates,Date,Descending)).Date);
    // Create a new record for work status for each date selected in the date range.
    ForAll(
        Filter(
            RenameColumns(submittedDates,"Date","DisplayDate"),
            ComponentId=CalendarComponent.Id,
            !(DisplayDate in colDates.Date)
        ),
        Patch('CI_Employee Status',Defaults('CI_Employee Status'),
            {
                Title: varUser.userPrincipalName,
                Date: DisplayDate,
                Notes: "",
                PresenceStatus: LookUp(colWorkStatus,Value=WorkStatusComponent.Selected.Value)
    
                // To implement location, add a comma to the line above and uncomment the lines below for latitude and longitude.
                // Latitude: Text(Location.Latitude),
                // Longitude: Text(Location.Longitude)
            }
        )
    );
        // Update existing dates with the new status.
        ForAll(
            AddColumns(
                Filter(
                    RenameColumns(submittedDates,"Date","DisplayDate"),
                    ComponentId=CalendarComponent.Id,
                    DisplayDate in colDates.Date
                ),
    
                // Get the current record for each existing date.
                "LookUpId",LookUp(RenameColumns(colDates,"ID","DateId"),And(Title=varUser.userPrincipalName,Date=DisplayDate)).DateId
            ),
            Patch('CI_Employee Status',LookUp('CI_Employee Status',ID=LookUpId),
                {
                    PresenceStatus: LookUp(colWorkStatus,Value=WorkStatusComponent.Selected.Value)
                }
            )
        );
        If(
            IsEmpty(Errors('CI_Employee Status')),
    
            // Update the list of work status for the logged-in user.
            ClearCollect(colDates,Filter('CI_Employee Status',Title=varUser.userPrincipalName));
            // Send an email receipt to the logged-in user.
            UpdateContext(
                {
                    locReceiptSuccess: 
                    Office365Outlook.SendEmailV2(
                        // To: send an email to oneself
                        varUser.mail,
                        // Subject
                        Proper(WorkStatusComponent.Selected.Value) & ": " & varStartDate & If(varStartDate<>varEndDate," - " & varEndDate),
                        // Body
                        WorkStatusComponent.Selected.DateRangeReceipt & ": " &
                        // Create a bulleted list of dates
                        "<ul>" & 
                            Concat(submittedDates,"<li>" & Date & Char(10)) &
                        "</ul>"
                    )
                }
            );
            If(
                locReceiptSuccess,
                Notify("You successfully submitted your work status. An email has been sent to you with a summary.",NotificationType.Success,3000),
                Notify("There was an error sending an email summary, but you successfully submitted your work status.",NotificationType.Success,3000);
            );
    
            Navigate('Share to Team Screen',LookUp(colStyles,Key="navigation_transition").Value),
    
            // Case: Error submitting work status
            Notify(varString.WorkStatusError,NotificationType.Warning)
        );
        UpdateContext({locSaveDates: false})
    

可选:添加其他工作状态消息

如果您希望在在家中工作外出之外添加更多工作状态消息,可以通过完成以下步骤来添加。 开始之前,您需要更新 SharePoint 站点。

  1. 返回到您的 SharePoint 站点,然后选择站点内容

  2. 选择 CI_Employee Status

  3. 如果 PresenceStatus 列不存在,请选择添加列

  4. 选择显示/隐藏列

    显示/隐藏列。

  5. 选择 PresenceStatus

  6. 选择应用

  7. 选择 PresenceStatus 列。

    选择 PresenceStatus 列。

  8. 选择列设置,然后选择编辑

    编辑 PresenceStatus 列。

  9. 选择字段中添加其他工作状态消息。

备注

记录新选择的名称;您将在后续步骤中用到它们。

现在,您需要对应用本身进行一些调整,以显示新的工作状态消息。

  1. 在 Power Apps Studio 中打开应用

  2. 选择工作状态屏幕。

  3. 将公式栏设置为 OnVisible 函数。

    显示状态。

  4. 编辑以下模板,然后用您自己的值替换。

        ,"<Name of option in list; case sensitive>",
        Table(
            {
                Icon: <Image file>,
                DateRangeQuestion: "Select the dates you'll be <Name of status>.",
                DateRangeReceipt: "You're currently <Name of status>.",
                ShareToTeamEmail: "I'll be <Name of status> on these dates",
                AutoReplyMessage: "I'll be <Name of status> on these dates"
            }
        )
    
  5. /* TEMPLATE FOR ADDITIONAL WORK STATUS OPTIONS */ 字符串替换为模板。

  6. 选择保存,然后选择发布

更新请求帮助流

此流程将自适应卡发送到中心 Teams 团队,以请求帮助。

请求帮助。

在完成以下步骤之前,请在 Teams 中创建危机管理团队。 创建团队后,您可以获取它的 ID 并将它放入流中。 有关创建 Teams 团队的详细信息:创建中心危机管理 Teams 团队

  1. 转到要向其发布所有帮助请求的 Teams 渠道。

  2. 选择该渠道对应的更多选项 (...)。

  3. 选择获取渠道链接

    获取渠道的链接。

  4. 复制链接并将其粘贴到文本编辑器中。

    复制团队链接。

  5. 提取团队 ID,即 groupId= 之后和 &tenantId= 之前的所有内容。
    例如,在以下 URL 中,组 ID 为
    8bc7c0c2-0d4c-4fb8-af99-32da74c9237b

    https://teams.microsoft.com/l/channel/19%3ab2fa9fc20f3042a9b63fc5890e1813f8%40thread.tacv2/General?groupId=8bc7c0c2-0d4c-4fb8-af99-32da74c9237b&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47

  6. 提取渠道 ID,即 https://teams.microsoft.com/l/channel/ 之后和 /General 之前的所有内容。
    例如,在以下 URL 中,渠道 ID 为
    19%3ab2fa9fc20f3042a9b63fc5890e1813f8%40thread.tacv2

    https://teams.microsoft.com/l/channel/19%3ab2fa9fc20f3042a9b63fc5890e1813f8%40thread.tacv2/General?groupId=8bc7c0c2-0d4c-4fb8-af99-32da74c9237b&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47

  7. 转到 make.powerautomate.com

  8. 选择左侧导航窗格中的我的流

  9. 选择 CrisisCommunication.Request 对应的更多命令 (...),然后选择编辑

    编辑请求帮助流。

  10. 打开团队 ID 卡。

  11. 将团队 ID 粘贴到字段中。

  12. 打开渠道 ID 卡。

  13. 将渠道 ID 粘贴到字段中。

    设置团队和渠道 ID。

  14. 向下滚动到获取时间操作,然后使用您选择的源时间和目标时间更新转换时区的操作。

    转换时区设置。

可选:配置共享收件箱

CrisisCommunication.Request 流在将请求发送到 Teams 之前先从您的收件箱中拉取请求。 如果您希望将请求电子邮件发送到共享收件箱,请按照以下步骤操作。

备注

如果您不希望将请求电子邮件发送到共享收件箱,则可以跳过此节。

  1. 在编辑模式下打开 CrisisCommunication.Request 流。

  2. 当电子邮件到达时 V3 选择更多命令 (...)。

  3. 选择删除

    删除连接器。

  4. 搜索并选择当新电子邮件到达共享邮箱时 (V2)

  5. 邮箱地址中输入共享收件箱地址。

  6. 打开注释卡。

  7. 选择添加动态值

  8. 搜索并选择正文

    选择正文。

  9. 打开获取用户档案卡 (V2) 卡。

  10. 选择添加动态值

  11. 搜索并选择发件人

    选择发件人。

导入和设置管理应用

要管理您导入的应用,请对管理应用重复相同的步骤。

  1. 登录到 Power Apps

  2. 从左侧导航窗格中选择应用

  3. 在命令栏上选择导入

  4. 从 GitHub 存储库上载 CrisisCommunicationAdmin.zip 文件。

    导入管理应用包。

  5. 选择导入

更新管理应用的 SharePoint 连接

  1. 返回应用列表。

  2. 选择危机通信管理应用对应的更多命令 (...)。

  3. 从上下文菜单中选择编辑

    编辑管理应用。

  4. 登录或创建任何必要的连接,然后选择允许

  5. 转到左侧窗格中的数据源。

    数据源。

  6. 删除应用中现有列表,因为它们没有指向您当前的 SharePoint 站点。

    删除数据源。

  7. 从您自己的 SharePoint 站点添加列表。 首先在搜索栏中搜索 SharePoint

    搜索 SharePoint。

  8. 选择 SharePoint,然后选择一个连接。

    SharePoint 连接。

  9. 将您的 SharePoint 站点的 URL 复制并粘贴到文本字段中,然后选择连接

    SharePoint 站点 URL。

  10. 选择所有列表和库,然后选择连接

    连接到列表。

  11. 选择保存,然后选择发布

为应用创建初始内容

至此,您已经成功导入了危机通信应用及其管理应用。 您现在可以开始创建初始内容了。 若要开始,请打开危机通信管理应用。

如果您有 GCC 环境,您需要启用 GCC 模式。 详细信息:如何为 GCC 环境配置移动客户端

危机通信管理应用。

您将使用管理应用自定义危机通信应用中的所有信息,还将为随附的流配置关键设置。

备注

在此提醒—如果您不想使用管理应用,则可以通过手动编辑列表来编辑这些属性。

在“管理设置”下设置密钥参数

要初始化您的应用,您需要通过导航至管理设置来提供所有必填字段。

填写下表中所示的所有字段,然后选择保存

字段名称 SharePoint 中的逻辑名称 用途 示例
管理员电子邮件 AdminContactEmail 这是发送电子邮件请求的位置。 应该设置为您的电子邮件地址。 如果您希望将通知发送到另一个收件箱,请参阅本文前面的可选共享收件箱配置 admin@contoso.com
徽标 URL 徽标 显示在左上角的应用的徽标。 https://contoso.com/logo.png
Microsoft Entra 组 ID Microsoft Entra IDGroupID 用于通过向用户发送有关新危机通信新闻的通知流向用户发送有关公司内部更新的通知。 请按照以下说明获取您的组的 Microsoft Entra ID。 c0ddf873-b4fe-4602-b3a9-502dd944c8d5
应用 URL AppURL 用户应用的位置,以让向用户发送有关新危机通信新闻的通知流可以在用户选择阅读更多后将用户重定向到该位置。 https://apps.preview.powerapps.com/play/<app URL>?tenantId=<tenant ID>
政府 RSS 源 GovernmentRSSFeed 用于填充应用中的全球新闻功能。 如果您希望从受信任源向员工提供其他信息,这很有用。 https://www.who.int/rss-feeds/news-english.xml
通知方法 PreferredSentNotification 向用户发送有关新危机通信新闻的通知流用于确定发出通知时应使用哪个分发渠道。 此字段为必填字段。 电子邮件、Teams 通知、推送通知
功能标志 Feature1...8 用于在应用程序中禁用或启用每项功能。

备注

GCC 当前不支持 Teams 通知和推送通知。

查找分发组的 Microsoft Entra ID

  1. 转到 aad.portal.azure.com

  2. 从左侧导航窗格中选择 Microsoft Entra ID

  3. 选择

  4. 搜索并选择您的分发组。

  5. 复制对象 ID 字段。

    获取 Microsoft Entra ID。

  6. 将 ID 粘贴到管理应用中的 Microsoft Entra 组 ID 字段中。

设置急诊联系人

  1. 转到公司联系人
  2. 选择创建新联系人
  3. 使用联系人详细信息完成表单。

列表架构:

字段名称 SharePoint 中的逻辑名称 用途
全名 FullName 联系人的姓名。
电子邮件 电子邮件 显示的联系人的电子邮件地址。
Country Country 联系人的国家/地区。 此字段用于对联系人进行分组;如果国家/地区对您没有意义,可以使用其他值对联系人进行分组。
注释 注释 显示有关联系人的其他信息;描述何时联系此联系人很有用。
已弃用 已弃用 用于隐藏现有的紧急联系人。

设置初始公司新闻

  1. 转到公司新闻
  2. 选择创建新公告
  3. 完成表单。

列表架构:

字段名称 SharePoint 中的逻辑名称 用途
标题 标题 更新的标题。
详细信息 详细信息 完整更新内容。 您可以在此字段中使用 HTML。
说明 说明 有关更新的简短消息。 在向用户发送有关新危机通信新闻的通知流和更新库中使用。
已弃用 已弃用 用于隐藏现有公告。

设置有用提示

  1. 转到有用提示
  2. 选择新建提示
  3. 完成表单。

列表架构:

字段名称 SharePoint 中的逻辑名称 用途
标题 标题 有用提示的标题。
资源 URL ResourceURL 指向其他阅读材料的链接。 (可选)
子标题 SubTitle 提示的子标题。 (可选)
描述 描述 有用提示的完整说明。
已弃用 已弃用 用于隐藏有用提示。
  1. 转到链接
  2. 选择创建新链接
  3. 完成表单。

列表架构:

字段名称 SharePoint 中的逻辑名称 用途
标题 标题 链接的文本。
URL URL 链接的 URL。
描述 描述 有关链接的其他详细信息。 (可选)
已弃用 已弃用 用于隐藏链接。

设置常见问题

  1. 转到常见问题
  2. 选择创建新常见问题
  3. 完成表单。

列表架构:

字段名称 SharePoint 中的逻辑名称 用途
标题 标题 常见问题中的问题。
等级 等级 常见问题中问题的顺序。
答案 答案 常见问题中问题的答案。
已弃用 已弃用 用于隐藏常见问题中的问题。

测试和共享应用

现在,您已经成功设置了所有数据,可以测试应用来确保它正常工作了。

  1. 登录到 Power Apps
  2. 从左侧导航窗格中选择应用
  3. 选择危机通信播放应用。

成功测试应用后,可以与公司中的每个人共享该应用。

导入和设置通知流

每当有新的公司更新时,应用将使用流向最终用户发送通知。

导入新闻通知流

  1. 转到 make.powerautomate.com

  2. 选择左侧导航窗格中的我的流

  3. 在命令栏上选择导入

  4. 从 GitHub 存储库上载 CrisisCommunicationNewsNotification.zip 包。

    备注

    如果您的租户位于 GCC 环境中,请上载 CrisisCommunicationNewsNotificationGCC.zip

    上载 CrisisCommunicationNewsNotification.zip。

  5. 通过为每个连接选择在导入期间选择链接,然后填写表单,来为新流添加连接。

    在导入期间选择。

  6. 如果您需要创建新连接,请在导入设置窗格中选择新建

  7. 在命令栏上选择新建连接

    创建新连接。

  8. 搜索连接的名称;例如,PowerApps 通知(预览)

    示例连接名称。

  9. 选择所需的连接。

  10. 如果要创建与 PowerApps 通知(预览) 的连接,您将看到如下图所示的对话框。

    通知对话框。

  11. 若要获取 ID,请转到您的应用列表。

  12. 选择危机通信应用对应的更多命令 (...),然后选择详细信息

    连接的详细信息。

  13. 复制应用 ID

    应用 ID。

  14. 将应用 ID 粘贴到连接创建对话框中,然后选择创建

    创建连接。

  15. 创建新连接后,返回导入设置窗格,然后选择刷新列表

  16. 现在,您的新连接应该已经显示。 选择它,然后选择保存

  17. 添加完所有连接后,选择导入

    导入连接。

编辑新闻通知流

  1. 导入完成后,转到我的流

  2. 选择新导入的流向用户发送有关新危机通信新闻的通知

    备注

    如果上载了 GCC 包,流名称将为向用户发送有关新危机通信新闻的通知 GCC

  3. 在命令栏上,选择编辑

  4. 打开当发布新项时卡。

  5. 站点地址中,输入您的 SharePoint 站点的名称。

  6. 列表名称中,输入 CI_CompanyNews

  7. 打开获取管理配置设置卡。

  8. 站点地址中,输入您的 SharePoint 站点的名称。

  9. 列表名称中,输入 CI_configAdminSetup

  10. 打开初始化变量 – 阅读更多文本卡。

  11. 中,输入阅读更多(以您的母语)。

    流设置。

  12. 选择保存

备注

如果您的连接中有一个尚未授权,您可能会收到错误消息。 如果发生这种情况,请打开具有未授权连接的卡并重新授权。

可选:向超过 5000 个用户发送通知

当前的获取组成员操作仅限于为 Power Automate 的 Office 许可证拉取 5000 个用户。 即使对于高级许可证,如果您尝试向过多用户发送通知,您也可能会遇到 Teams 连接器限制。 要分发给更多用户,您可以改为使用流来将电子邮件发送到分发列表。

  1. 删除以下卡:获取组成员打开首选发送通知设置

    删除操作。

  2. 添加新操作。

  3. 搜索并选择发送电子邮件 (V2)

    添加发送电子邮件。

  4. 收件人字段中,键入分发组的名称。

  5. 主题字段中,选择添加动态值按钮,然后从当发布新闻项时卡添加标题字段:

    添加标题。

  6. 正文字段中,选择添加动态值按钮,然后从当发布新闻项时卡添加详细信息字段。

  7. 选择保存

如果您希望将 Teams 通知直接打开到 Teams 内的画布应用中,请执行以下步骤:

  1. 更新应用 URL,以指向管理应用中的 Teams 深层链接。
    在管理应用中,将应用 URL 更改为以下内容,其中 App ID 是您的应用的 ID。

    https://teams.microsoft.com/l/entity/<APP ID>/<APP ID>
    

    管理应用。

  2. 更新在通知流内生成的应用链接。
    打开“设置应用链接变量”卡,并将“值”的表达式更改为以下内容:

    concat(items('Apply_to_each')?['AppUrl'], if(greater(indexOf(items('Apply_to_each')?['AppUrl'], '?'),0),'&','?'), 'context=%7B%22subEntityId%22%3A%22',triggerBody()?['ID'],'%22%7D')
    

    更改流设置。

  3. 更新画布应用以使用团队上下文变量来深层链接到正确的新闻文章。
    对于应用的 OnStart 属性,将“参数”从 newsid 更改为 subEntityId

    更改 OnStart。

测试新闻通知流

要测试新闻通知流,请转到管理应用并创建新的内部公司更新。 之后,您的通讯组列表中的所有用户将通过您的首选通知方法接收更新。

备注

如果遇到错误,请确保已在管理应用的设置中成功输入了通讯组列表的组 ID。

使用 Power BI 监视办公室考勤

部署应用后,人员开始发送通知,通知他们由于各种原因(如生病或在家工作)将离开办公室,您可以使用 Power BI 报表来跟踪有多少人发送了通知以及他们的位置。
请注意,您需要启用位置跟踪才能使 Map Control 正常工作。

重要

为了使 Power BI 报表工作,您在 CI_Employee Status 列表中必须至少有一个条目。

我们需要先前创建的 CI_Employee Status 列表中的一些信息,因此我们先转到此列表。 打开您站点中的列表,然后在设置图标下选择列表设置

员工状态列表设置。

记下浏览器地址栏上的站点名称和列表 ID,如下图所示。

员工状态列表和站点 ID。

至此,我们已准备好打开 Power BI 报表。 打开 Power BI,然后打开 Presence status report.pbix 文件。 将鼠标悬停在 CI_Employee Status 数据源的右侧,直到看到省略号。 选择它,然后选择编辑查询

编辑查询。

Power Query 编辑器打开后,右键单击 CI_Employee Status 数据源,然后选择高级编辑器

Power Query 高级编辑器。

这是我们使用列表中的站点名称和列表 ID 的地方。

如下图所示,将新 SharePoint 站点复制到 SharePoint.Tables 字符串中,并将列表 ID 复制到 GUID 突出显示的三个位置,然后选择完成

Power Query 高级编辑器将更新。

如果在更新连接信息后看到任何连接错误,则可能需要更新用于连接到列表的凭据。

更新连接

  1. 文件菜单上,选择选项和设置,然后选择数据源设置

    数据源设置。

  2. 选择编辑权限

    编辑权限。

  3. 确保将凭据类型设置为组织帐户,然后使用凭据访问列表。

    编辑权限 - 凭据设置为组织计数。

选择关闭并应用更新报表以从列表中拉取数据。

Power Query 关闭并应用。

现在,我们有了一个 Power BI 报表,它既显示当日办公室考勤的地理信息,又显示几天内考勤的趋势。 我们可以发布此报表,让组织中的其他人可以看到它。

Power BI 发布报表。

您的报表现在已发布。 您可以与组织中的其他人共享它。 您还可以计划报表刷新频率

将您的应用集成到 Teams 中

现在您已经拥有一个可以与所有人共享的功能良好的应用,您可以通过在 Teams 内创建危机管理团队来响应问题来部署此应用。

将应用部署到应用栏

如果您是 Teams 管理员,您可以在 Teams 应用栏中将应用推送给所有用户。

Teams 中的应用栏。

  1. 登录到 Power Apps

  2. 从左侧导航窗格中选择应用

  3. 选择危机通信应用对应的更多命令 (...)。

  4. 选择添加到 Teams

    添加到 Teams。

  5. 选择下载应用

    下载应用。

  6. 打开 Teams。

  7. 转到应用栏上的应用

  8. 选择上载自定义应用

  9. 如果您是 Teams 管理员,您可以为您的整个租户上载应用。 选择为 Contoso 上载(其中,Contoso 代表您的租户的名称)。

    上载应用。

  10. 上载从 Power Apps 下载的文件。

  11. 转到 Teams 管理中心

  12. 在左侧导航窗格的 Teams 应用下,选择设置策略

    应用设置策略。

  13. 选择全局(组织范围设置)

  14. 选择添加应用

    添加应用。

  15. 搜索并选择您上载的危机信息应用。

    添加固定的应用。

  16. 选择添加

  17. 选择保存

备注

用户最多可能在 24 小时后看到自动固定在他们的应用栏中的应用。

在 Teams 中创建中心危机管理团队

为了协调您的危机响应,您需要在 Teams 中创建一个中心危机管理团队,并在其中填充所有相关信息。 此团队仅需要与中心响应团队共享。

  1. 转到 Teams。

  2. 从左侧应用栏中选择 Teams

  3. 选择加入或创建团队

  4. 选择创建团队,然后完成其余步骤。

    创建团队。

成功创建团队后,可以将相关信息固定为选项卡。 例如,您可能想要将危机管理的管理应用或 Power BI 报表固定到您的团队。

将管理应用添加为选项卡

  1. 选择 + 按钮。

  2. 搜索并选择 Power Apps

  3. 搜索并选择危机信息管理

    固定应用。

  4. 选择保存

将 Power BI 报表添加为选项卡

  1. 选择 + 按钮。
  2. 搜索并选择 Power BI
  3. 搜索并选择您的 Power BI 报表。
  4. 选择保存

常见问题

  • 运行此解决方案需要哪些许可证?

    • 此应用中的解决方案使用 Office 连接器,因此 Office 提供的种子 Power Apps 许可证足以运行和播放用户和管理应用。 更多信息:Power Platform 许可概述
    • 如果要使用 Power BI 报表(作为解决方案的一部分打包),则需要一个 Power BI 许可证。 更多信息:Power BI 定价
  • 应该去哪里提交有关解决方案的反馈?

    我们很乐意听到您在部署和自定义此解决方案方面的体验。 要共享您的体验,请转到 aka.ms/crisis-communication-feedback

  • 我似乎发现应用存在错误;我应该到哪里去报告?

    要报告解决方案的 bug,请转到 aka.ms/crisis-communication-issues

  • GCC 当前不支持哪些功能?

    Teams 的 Power Automate 机器人连接器和推送通知连接器当前不能用于 GCC。 使用电子邮件选项可以提醒用户有关内部新闻更新的信息。

  • 我如何更新应用程序?

    如果您想要更新应用程序,请按照 aka.ms/CrisisCommunicationSolution 上概述的步骤操作。

问题和反馈

免责声明此应用是一个示例,可与 Microsoft Power Apps 和 Teams 一起使用,以仅用于传递参考信息。此应用不适用于,也不能用作医疗设备、临床支持、诊断工具或其他旨在用于诊断、治愈、缓解、治疗、预防疾病或其他情况的技术,并且 Microsoft 不授权使用此应用来实现此类目的。此应用不适用于替代专业的医疗建议、诊断、治疗或判断,因此不应将其用于此类目的。客户对此应用的使用承担全部风险和责任。Microsoft 不保证此应用或提供的与之相关的任何材料适用于任何医疗目的或满足任何人的健康或医疗要求。

另请参阅

备注

您能告诉我们您的文档语言首选项吗? 进行简短调查。(请注意,此调查是英文版调查)

此调查大约需要七分钟。 不会收集个人数据(隐私声明)。