You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于DialogFlow的Slack聊天机器人:如何实现建议回复按钮功能?

我之前在做DialogFlow对接Slack的时候也碰到过一模一样的需求——想实现类似Google Assistant建议芯片的一键发送功能,踩了几个坑后找到了两个可行的方案,给你详细说说:

方案1:用消息按钮 + Webhook回调(保留按钮样式)

虽然你觉得回传请求繁琐,但其实可以把逻辑简化到极致,核心就是让按钮点击事件触发你的Webhook,再由Webhook把指定文本转发给DialogFlow,模拟用户输入:

  • 首先,确保你的DialogFlow代理已经开启了Webhook服务,并且Slack集成的事件订阅已经指向这个Webhook地址(Slack会把按钮点击事件发送到这里)
  • 构造Slack消息的payload时,给按钮设置type: "button"、name(可以统一设为suggestion方便识别)和value(这里填你希望用户点击后发送的文本),不需要url:
"slack": {
  "attachments": [
    {
      "fallback": "Here is my answer",
      "pretext": "Here is my answer",
      "title": "Hello There",
      "title_link": "http://www.google.com",
      "text": "Test Custom Card",
      "actions": [
        {
          "type": "button",
          "text": "Ask this next",
          "name": "suggestion",
          "value": "Ask this next"
        },
        {
          "type": "button",
          "text": "Or ask this",
          "name": "suggestion",
          "value": "Or ask this"
        }
      ],
      "color": "#F35A00"
    }
  ]
}
  • 你的Webhook接收到Slack的回调请求后,提取payload.actions[0].value的值,然后调用DialogFlow的Detect Intent API,把这个值作为用户的输入内容发送
  • 最后用Slack API把DialogFlow返回的回复发送到当前频道,还可以选择更新原来的消息(移除按钮,避免用户重复点击)
方案2:用Slack快速回复(无需额外开发,更简便)

如果不需要严格的按钮样式,Slack的快速回复功能完全符合你的需求——它会在聊天输入框下方显示选项,用户点击后直接把文本输入并发送,DialogFlow能直接处理,不需要额外的Webhook:

  • 直接在DialogFlow的Slack payload里配置quick_reply字段就行:
"slack": {
  "text": "Test Custom Card",
  "quick_reply": {
    "items": [
      {
        "text": "Ask this next"
      },
      {
        "text": "Or ask this"
      }
    ]
  },
  "attachments": [
    {
      "fallback": "Here is my answer",
      "pretext": "Here is my answer",
      "title": "Hello There",
      "title_link": "http://www.google.com",
      "color": "#F35A00"
    }
  ]
}
  • 这个方案的好处是完全不需要额外开发,Slack会自动把快速回复的文本作为用户消息发送给DialogFlow,和用户手动输入的效果完全一样

为什么你之前的尝试无效?

  • 把文本设为URL:Slack只识别合法的HTTP/HTTPS链接,非链接格式的内容会被判定为无效,所以按钮不显示
  • 只设置name和value的按钮:Slack需要知道把点击事件发送到哪里,没有配置回调URL的话,点击事件不会被处理,所以机器人没响应

内容的提问来源于stack exchange,提问作者Captain Wizard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:35:43