UiPath Documentation
activities
latest
false
Integration Service 活动
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

将消息发布到 Slack 时,使用 HTTP Webhook 连接器触发自动化

借助触发器连接器,使用 HTTP Webhook 触发自动化。

关于

摘要:将消息发布到 Slack 频道时,触发使用 HTTP Webhook 连接器的自动化。

应用程序:Slack、HTTP Webhook

描述

HTTP Webhook 连接器允许 RPA 开发者使用 Webhook 根据外部事件触发自动化。 HTTP Webhook 连接器会生成 Webhook URL。 这必须在私有 Slack OAuth 应用程序设置中进行配置,并且必须启用相应的事件类型。 然后,Orchestrator 将通过此 URL 即时接收事件。

Use case

管理在 Slack 帮助频道中提出的客户支持请求。 该请求必须创建 Jira 或 Zendesk 工单,或者使用 Slack 按钮向团队或用户组发送 Slack 通知。

本用户指南将引导您完成此用例的第一个工作流:在将消息发布到 Slack 频道时,使用 Webhook 连接器触发自动化。对于第二个工作流,即根据“已单击 Slack 按钮”事件触发自动化,请参阅在 CRM 系统中赢得机会时使用 Slack 按钮

此工作流使用 HTTP Webhook 连接器及其触发器反序列化 JSON ,以及一些 Slack 活动:向用户发送消息获取频道信息。您还可以使用“向频道发送消息”“发送回复”活动。

工作流

备注:

如果要节省时间,请使用 Studio Web 中的当消息发布到 Slack 频道模板时使用 Webhook 连接器触发自动化来构建此工作流。

  1. 打开 Studio Web 并创建一个新项目。

  2. 选择“更多选项”文档图像手动触发器上的菜单,然后选择“更改触发器”

  3. 从触发器目录中,选择“HTTP Webhook:已发生 Webhook 事件” 。在此触发器活动中:

    1. 添加您的 Slack 连接。 然后,HTTP Webhook 连接器会生成您在步骤 4 中需要的 Webhook URL。

    2. 根据需要添加任何其他筛选条件。 我们建议您至少对频道 ID 使用筛选条件。 否则,工作区任何频道中的任何消息都将触发该事件。

      • 要按频道 ID 添加筛选条件,请选择数据筛选器字段以访问筛选器构建器。在第一列中,键入body.event.channel ,选择“等于”运算符,然后在第三列中添加频道 ID。

    3. 您还可以将触发器活动重命名为更能代表用例的名称。

  4. 复制第 1 步中生成的 Webhook URL。

    1. 在其他浏览器选项卡中转到https://api.slack.com/apps并打开 Slack 私人 OAuth 应用程序。

    2. 导航到“事件订阅”设置页面。

      1. “启用事件”开关设置为“开启”。

      2. “请求 URL”字段中,粘贴 Webhook URL。

    3. 接下来,向下滚动到“代表用户订阅事件” ,然后选择“添加工作区事件” 。添加message.channels事件。当用户在频道中发布消息时,这将检索事件。您可以添加您选择的任何其他事件。

    4. 选择“保存更改” 。现已为您的应用程序配置 Webhook。

      备注:

      Webhook 连接器(为 Slack 配置 Webhook URL 之后)的输出采用特定的 JSON 字符串格式(下一节提供了一个示例)。必须将其转换为 JSON 对象,才能在后续活动中使用事件有效负载字段,例如频道 ID、用户 ID、消息文本等(借助 JSON 点表示法/VB 表达式)。也可以从https://api.slack.com/types/event中检索 Slack 事件有效负载。为避免任何错误,请在使用 JSON 点符号/VB 表达式之前使用“日志消息”检索/记录事件有效负载字符串。

  5. “反序列化 JSON”活动添加到工作流中。此步骤会将 Webhook 连接器的 JSON 字符串输出转换为 JSON 对象。

    1. 选择JSON 字符串输入参数以添加变量。

    2. “发生 Webhook 事件”下,导航至“正文”>“内容”

  6. 将“Slack” “获取频道信息”活动添加到工作流中。在此步骤中,您需要使用 JSON 点表示法/VB 表达式传递“反序列化 JSON”活动的输出字段,以检索频道名称。在活动中:

    1. 对于“渠道”字段,选择“查看更多”文档图像图标更改输入类型,然后选择打开表达式编辑器。使用下面的条目传递在 Webhook 事件中检索到的频道 ID。

      jSONObject("event")("channel").ToString
      jSONObject("event")("channel").ToString
      
  7. 请将“Slack向用户发送消息”活动添加到工作流中。现在,您想在特定频道(帮助频道)中发布消息时向用户(您自己)发送消息,并使用变量输入发布的消息和频道名称。在此活动中:

    1. “用户输入”字段中,从下拉列表中选择用户,或手动输入用户电子邮件地址。

    2. “消息”字段中,通过使用变量输入频道名称(消息发布到的位置)和消息文本内容,从而输入消息。例如:“频道 中有一个客户支持请求:<name>jSONObject("event")("text")

    3. “按钮操作”字段中,输入“批准工单” 和“通知团队” 的两个按钮操作。添加操作 ID(必填)、操作名称(必填)、样式(主要/危险)、确认标题、确认文本、确认确定标题、确认拒绝标题,格式为逗号分隔:

      aks1,Approve Ticket,primary;
      aks2,Notify Team;
      aks1,Approve Ticket,primary;
      aks2,Notify Team;
      
  8. 您现在可以发布或运行项目。选择工作流顶部的“发布”按钮,然后输入详细信息,例如“自动化名称”、“说明”和“工作区”。版本会自动更新。

示例 JSON 字符串

{
 "token": "SUAVTSGdUyb2qBaclIC14wKq",
 "team_id": "T02KZCJHY1W",
 "enterprise_id": "E02K962QC91",
 "context_team_id": "T02KZCJHY1W",
 "context_enterprise_id": "E02K962QC91",
 "api_app_id": "A04JJM6SUFM",
 "event": {
   "client_msg_id": "4abfc195-c381-4c8e-b952-00aa705ce507",
   "type": "message",
   "text": "YoYo",
   "user": "U02K95UU71Q",
   "ts": "1705418063.837779",
   "blocks": [
     {
       "type": "rich_text",
       "block_id": "moF7O",
       "elements": [
         {
           "type": "rich_text_section",
           "elements": [
             {
               "type": "text",
               "text": "YoYo"
             }
           ]
         }
       ]
     }
   ],
   "team": "T02KZCJHY1W",
   "channel": "C05LTLGRHEJ",
   "event_ts": "1705418063.837779",
   "channel_type": "channel"
 },
 "type": "event_callback",
 "event_id": "Ev06E0PJ7M45",
 "event_time": 1705418063,
 "authorizations": [
   {
     "enterprise_id": "E02K962QC91",
     "team_id": "T02KZCJHY1W",
     "user_id": "U02K95UU71Q",
     "is_bot": false,
     "is_enterprise_install": false
   }
 ],
 "is_ext_shared_channel": false,
 "event_context": "4-eyJldCI6Im1lc3NhZ2UiLCJ0aWQiOiJUMDJLWkNKSFkxVyIsImFpZCI6IkEwNEpKTTZTVUZNIiwiY2lkIjoiQzA1TFRMR1JIRUoifQ"
}
{
 "token": "SUAVTSGdUyb2qBaclIC14wKq",
 "team_id": "T02KZCJHY1W",
 "enterprise_id": "E02K962QC91",
 "context_team_id": "T02KZCJHY1W",
 "context_enterprise_id": "E02K962QC91",
 "api_app_id": "A04JJM6SUFM",
 "event": {
   "client_msg_id": "4abfc195-c381-4c8e-b952-00aa705ce507",
   "type": "message",
   "text": "YoYo",
   "user": "U02K95UU71Q",
   "ts": "1705418063.837779",
   "blocks": [
     {
       "type": "rich_text",
       "block_id": "moF7O",
       "elements": [
         {
           "type": "rich_text_section",
           "elements": [
             {
               "type": "text",
               "text": "YoYo"
             }
           ]
         }
       ]
     }
   ],
   "team": "T02KZCJHY1W",
   "channel": "C05LTLGRHEJ",
   "event_ts": "1705418063.837779",
   "channel_type": "channel"
 },
 "type": "event_callback",
 "event_id": "Ev06E0PJ7M45",
 "event_time": 1705418063,
 "authorizations": [
   {
     "enterprise_id": "E02K962QC91",
     "team_id": "T02KZCJHY1W",
     "user_id": "U02K95UU71Q",
     "is_bot": false,
     "is_enterprise_install": false
   }
 ],
 "is_ext_shared_channel": false,
 "event_context": "4-eyJldCI6Im1lc3NhZ2UiLCJ0aWQiOiJUMDJLWkNKSFkxVyIsImFpZCI6IkEwNEpKTTZTVUZNIiwiY2lkIjoiQzA1TFRMR1JIRUoifQ"
}
  • 关于
  • 描述
  • Use case
  • 工作流
  • 示例 JSON 字符串

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新