使用 Microsoft Teams package 的示例

在此示例中,您将构建一个自动化,用于向特定 Microsoft Teams 频道发送 P1 事件警报,直接通过聊天通知值班支持工程师,并记录频道对话作为事件记录。

过程

  1. 创建自动化。
    1. 在左侧窗格中,单击自动化

      将显示可用 bots 和表单的列表。

    2. 单击创建机器人
    3. 输入 bot 名称: MSTeams_demo
    4. 单击创建和编辑
  2. 连接到 Microsoft Teams 以建立会话,从而进行身份验证并执行所有后续 Teams 操作。
    1. 双击或拖动Microsoft Teams > 连接 action
    2. OAuth2 连接字段中,输入 MSTeam
    3. 用户名字段中,输入 office365_dev@automationanywhere.store
    4. 选择默认 本地会话
  3. 检索特定团队的团队 ID。
    1. 双击或拖动Microsoft Teams > 按名称获取团队 action
    2. 会话名称字段中,使用与连接到 Microsoft Teams 时相同的会话,即 Default。
    3. 团队名称字段中,输入 Support Ops
      注: Support Ops 团队必须存在于 Microsoft Teams 应用中。
    4. 将团队 ID 分配给变量字段中,输入 $TeamID$
  4. 检索 Support Ops 团队中特定频道的唯一频道 ID。
    1. 双击或拖动 Microsoft Teams > 按名称获取频道 action
    2. 会话名称字段中,使用与连接到 Microsoft Teams 时相同的会话,即 Default。
    3. 在团队 ID 字段中,输入 $TeamID$
    4. 在频道名称字段中,输入 Incident Management
      注: 该频道必须存在于 Microsoft Teams 应用中。
    5. 将频道 ID 分配给变量字段中,输入并创建一个名称为 $ChannelID$ 的新变量。
  5. 将警报发布到事件管理频道。
    注: 这里的假设是外部应用程序正在触发此自动化,以将警报消息发送到事件管理频道。
    1. 双击或拖动Microsoft Teams > 发送频道消息 action
    2. 团队 ID 字段中,输入 $TeamID$
    3. 频道 ID 字段中,输入 $ChannelID$
    4. 消息字段中,输入以下消息:

      事件 ID: INC-2025-08-13-045

      严重性: P1 – 关键业务

      检测时间: 2025 年 8 月 13 日下午 02:48 IST

      描述: Order Processing API 正在返回 500 错误。 所有新订单都无法处理。

      影响: 电子商务客户无法完成交易。

      下一步计划: 值班工程师需立即调查 API 日志和数据库健康状况。

    5. 将消息 ID 分配给变量字段中,创建一个名称为 $MessageId$ 的新变量,用于存储警报消息的 ID。
  6. 检索支持工程师用户详细信息。
    1. 双击或拖动 Microsoft Teams > 获取用户详细信息 action
    2. 会话名称字段中,选择用于连接到 Microsoft Teams 的相同会话,即 Default。
    3. 用户名字段中,创建一个用于存储用户电子邮件地址的新变量,以便检索其详细信息。 变量已创建:$email$(例如,tony.dean@office.store)
    4. 将用户详细信息分配给变量字段中,选择字典选项。 输入 $user_dict$ 以存储用户详细信息。
  7. 通过直接聊天通知工程师。
    1. 双击或拖动Microsoft Teams > 发送聊天消息 action
    2. 会话名称字段中,选择用于连接到 Microsoft Teams 的相同会话,即 Default。
    3. 发送消息到 > 电子邮件字段中,指定 $user_dict{email}$
    4. 消息字段中,输入以下消息:

      你好 $user_dict{displayName}$,

      已检测到 P1 级严重事件: Order Processing API 失败。 事件 ID: INC-2025-08-13-045 检测时间: 2025 年 8 月 13 日下午 02:48 IST 影响: 所有新订单都失败了。

      请立即加入 Incident Bridge: Teams 会议链接工单: ServiceNow 链接

      来自 A360 MS Teams Bot 的自动警报。

    5. 将消息 ID 分配给变量字段中,创建一个名称为 $user_msgid$ 的新变量。
  8. 确认消息已发送给工程师。
    1. 双击或拖动Microsoft Teams > 消息框 action
    2. 输入要显示的消息字段中,输入消息已发送给支持工程师
  9. 检索并记录频道聊天历史记录。
    1. 双击或拖动循环 action
    2. 在循环迭代器下拉字段中,选择Microsoft Teams > 对于频道中的每条消息迭代器。
    3. 会话名称字段中,使用与连接到 Microsoft Teams 时相同的会话,即 Default。
    4. 团队 ID 字段中,输入 $TeamID$
    5. 频道 ID 字段中,输入 $ChannelID$
    6. 开始日期字段中,创建一个名称为 $start_dt$ 的新变量,值为 8/13/2025 03:00 PM IST (UTC+5.30) Calcutta Asia
    7. 结束日期字段中,创建一个名称为 $end_dt$ 的变量,值为 8/14/2025 12:00 AM IST (UTC+5.30) Calcutta Asia
    8. 分配消息详细信息到变量字段中,创建一个名称为 $ChannelMessageDetails$ 的变量,用于存储频道消息。
  10. 在循环操作中提取消息详细信息。
    注: 仅检索群组消息,不检索个人线程。

    双击或拖动每个键的字典 > 获取 action,从 $ChannelMessageDetails$ 检索其值:
    密钥 变量
    $ChannelMessageDetails (msg_id)$ $msg_id$
    $ChannelMessageDetails (msg)$ $msg$
    $ChannelMessageDetails (sentByUserID)$ $sentByUserID$
    $ChannelMessageDetails (sentByUsername)$ $sentByUsername$
    $ChannelMessageDetails (createdDateTime)$ $createdDateTime$
    $ChannelMessageDetails (modifiedDateTime)$ $modifiedDateTime$
  11. 在循环操作中将频道消息详细信息记录到事件日志文件中。
    • 双击或拖动日志记录 > 将变量记录到文件 action
    • 输出文件路径字段中,输入 C:\output\Incident Log File.txt
    • 记录时选项中,选择附加到现有日志文件
    • 选择自定义选择选项,以识别要记录的变量。 选择以下变量:
      • $createdDateTime$
      • $modifiedDateTime$
      • $msg$
      • $msg_id$
      • $sentByUserID$
      • $sentByUserName$
  12. Microsoft Teams 断开连接。
    1. 双击或拖动Microsoft Teams > 断开连接 action
    2. 会话名称字段中,选择用于连接到 Microsoft Teams 的相同会话,即 Default。
  13. 使用文件 > 打开 action 操作打开事件日志文件。 以下信息将在 .txt 文件中显示。
    密钥
    msg_id 例如,1692210012345
    msg

    重大事件警报 – 需要采取行动

    事件 ID: INC-2025-08-13-045

    严重性: P1 – 关键业务

    检测时间: 2025 年 8 月 13 日下午 02:48 IST

    描述: Order Processing API 正在返回 500 错误。 所有新订单均

    未能处理。

    影响: 电子商务客户无法完成交易。

    下一步计划: 值班工程师需立即调查 API 日志和

    数据库健康状况。

    sentbyuserid 例如,a-user-guid
    createddatetime 2025-08-13T14:50:12Z
    modifieddatetime 2025-08-13T14:50:12Z
    sentbyusername 例如,tony.dean@office.store