activities
latest
false
重要 :
请注意此内容已使用机器翻译进行了部分本地化。 Integration Service 中提供的连接器包采用的是机器翻译的译文。
UiPath logo, featuring letters U and I in white
Integration Service 活动
Last updated 2024年11月5日

将消息发布到 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 按钮


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

工作流

注意:如果您想节省时间,请在 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 Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。