活动
最新
False
横幅背景图像
Integration Service 活动
上次更新日期 2024年4月23日

将消息发布到 Slack 时,使用 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 按钮


This workflow uses the HTTP Webhook connector and its Webhook Event Happened trigger, Deserialize JSON, along with some Slack activities: Send Message to User and Get Channel Info. You can also use the Send Message to Channel or Send Reply activities.

工作流

注意:如果您想节省时间,请在 Studio Web 中使用当消息发布到 Slack 频道时触发使用 Webhook 连接器的模板。
  1. 打开 Studio Web 并创建一个新项目。
  2. 选择“更多选项”docs image 菜单,然后选择 “更改触发器” 。
  3. 从触发器目录中,选择“ HTTP Webhook:已发生 Webhook 事件” 。 在此触发器活动中:
    1. 添加您的 Slack 连接。 然后,HTTP Webhook 连接器会生成您在步骤 4 中需要的 Webhook URL。


    2. 根据需要添加任何其他筛选条件。 我们建议您至少对频道 ID 使用筛选条件。 否则,工作区任何频道中的任何消息都将触发该事件。
      • 要根据渠道 ID 添加筛选条件,请选择“数据筛选器”字段以访问“筛选条件”构建器。 在第一列中,键入body.event.channel ,选择“等于”运算符,然后在第三列中添加频道 ID。
        docs image
    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 事件”下,导航到“正文”>“内容”。
      docs image
  6. 将“Slack获取频道信息”活动添加到工作流中。 在此步骤中,您需要使用 JSON 点符号/VB 表达式传递反序列化 JSON活动的输出字段以检索频道名称。 在活动中:
    1. 对于“渠道”字段,选择“查看更多”docs image图标更改输入类型,然后选择打开表达式编辑器。 使用下面的条目传递在 Webhook 事件中检索到的频道 ID。
      jSONObject("event")("channel").ToStringjSONObject("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. 您现在已准备好发布或运行项目。 选择工作流顶部的“发布”按钮,然后输入详细信息,例如“自动化名称”、“说明”和“工作区”。 版本会自动更新。
    docs image

示例 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"
}
  • 关于
  • 工作流
  • 示例 JSON 字符串

此页面是否有帮助?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.