- Slackbots 可侦听Slack 中的事件(消息、命令),并通过 API 以自定义逻辑做出响应。
- Slackbot 的主要用途包括触发工作流、回答文档中的问题、路由请求以及自动化团队仪式。
- 构建 Slackbot 需要定义范围、连接Slack、处理事件数据,并遵循安全和用户体验方面的最佳实践。
如果你的团队使用Slack,你可能见过同样的消息反复出现。
"谁拥有这个?""有人能批准吗?""链接在哪里?"
到了一定程度,协作就不再是协作,而开始变得疯狂。你用提醒事项、斜线命令把事情拼凑在一起,也许还会在旁边加上一个Notion 文档--哦,别忘了还有Linear 页面来跟踪Notion 文档。
如果你曾尝试构建人工智能聊天机器人来解决这个问题,你就会明白问题所在:Slack 是一切发生的地方,但却没有一个强大的系统来推动事情的发展。
这正是一个精心设计的 Slackbot 所带来的效果。
什么是 Slackbot?
Slackbot 是在Slack 内部注册的应用程序,它可以监听特定事件类型(如消息、提及、斜线命令或交互),并根据在Slack 外部定义的逻辑做出响应。
它通常作为Slack 应用程序的一部分进行注册,使用机器人令牌进行身份验证,并连接到外部服务(如人工智能聊天机器人),以处理传入的事件并返回结构化的响应。
Slackbots 在Slack Events API 模型中运行,使用webhook URL、作用域和权限令牌来处理输入并在工作区中发送回复。
Slackbots 的热门应用案例
在Botpress,我们使用Slack 处理各种事务,从快速异步审批到与团队一起调试流程,其中很多都是通过机器人完成的。
Slack 拥有超过 75 万个机器人,这些机器人被用于平台上 45% 的活跃工作空间。
这些不仅仅是好东西。它们可以帮助用户保持畅通无阻,而无需切换工具或追踪线程。
以下是我们已经构建或看到他人构建的一些 Slackbot 使用案例。
从命令触发工作流程
有些操作不需要仪表盘。在Slack 中执行一个简单的命令往往更快。
Slackbots 可以监听斜杠命令、信息模式或表情符号反应,并利用它们在后台触发工作流程。
您可以直接从线程启动测试环境、提交票据、开始事后分析或发布机器人。
机器人处理交接工作,推进工作流程,并在完成后返回。
搜索文件
人们会在Slack 中提出重复的问题--这些问题存在于文档中,但并不总能很快浮出水面。由检索增强生成(RAG)驱动的 Slack 机器人可以直接在主题中回答。
它会搜索知识库,并回复最相关的内容或链接。
有人在Slack 上提问,机器人会回复相关答案(或链接)。
如果做得好,就可以省去大量"......的链接在哪里 "的废话。
将内部请求转给团队
当有人向Slack 提出请求时--需要演示的潜在客户、需要分配的任务、需要预订的日历时间段--除非有人负责,否则请求往往就会被搁置在那里。
Slackbots 可以介入并自动路由这些请求。
我们在Botpress 使用的一个机器人就是Gordon,它可以监测与演示相关的触发器,获取潜在客户的信息,检查代表的可用性,并在线程中直接放置Calendly 链接。
它既是销售线索生成聊天机器人,也是预订聊天机器人--范围很广,可以在Slack 中实现闭环。
团队仪式自动化
Slackbots 非常适用于容易跳过的重复性团队时刻--每日签到、周终结胜、复古提示等。
机器人不需要手动提示,而是联系每个队友,收集回复,然后在一个线程中发布摘要。
Slackbots 的工作原理
Slackbots 通过从Slack 捕捉事件并通过 API 响应来工作。Slackbots 在外部服务器上运行,监听来自Slack 的事件并通过 API 做出响应。
它们会监听用户信息或互动等信号。
Slackbots 的核心是事件驱动。Slack 发送有效载荷,然后机器人处理刚刚发生的事情,并发送一些信息回来。
当事情发生时,Slack 会向机器人发送通知
Slack 会在重要事件发生时让你的机器人知道,比如有人发送消息、点击按钮或键入命令。
您的机器人生活在工作区之外的云端,与其让它不断检查更新,不如Slack 直接将信息推送给它。这些信息被称为事件。
您可以选择机器人应监听的事件类型--消息、互动等。
当这些事件之一发生时,Slack 会向你的机器人发送一小包信息:发生了什么、谁触发了它、在哪里发生的,以及它可能需要响应的任何其他信息。
机器人用户使用网络钩子或应用程序接口发布响应
一旦机器人收到事件,它就会决定如何响应。大多数情况下,这意味着调用Slack的 API来发布消息、更新内容或打开模态。
对于快速交互(如按钮点击或表单提交),Slack 还提供了一个特殊链接,机器人可以使用该链接立即回复。
有些机器人只是发回一条简短的信息。另一些机器人则利用事件触发更大的事件,比如更新数据库、与其他服务对话或运行工作流。
但是,无论机器人在后台做什么,响应本身仍然通过Slack 进行。
Slackbot 标记定义权限和访问
Slack 中的每个机器人都使用令牌运行,令牌基本上是一个密钥,上面写着允许机器人做什么。
令牌定义了它可以访问哪些通道、可以执行哪些操作以及允许监听哪些事件。
当机器人试图执行某些操作时,Slack 会检查其令牌,以确保该操作是允许的。
如果有正确的权限,就可以通过。如果没有,就会被阻止。
这就是Slack 如何控制访问权限并确保机器人只做它们应该做的事。
如何构建 Slackbot
构建 Slackbot 的方法有几十种--从简单的webhook 设置到复杂的代理框架。
如果您要比较工具,我们将在最佳Slack 聊天机器人指南中通过支持、内部运营和自动化用例中的实际示例为您提供最佳选择。
我将向您展示如何使用Botpress 构建一个功能齐全的 Slackbot,包括实时通道测试、真实事件处理以及处理结构化Slack 数据的技巧。
第 1 步:规划聊天机器人的范围
在连接任何东西之前,先弄清楚你的 Slackbot 要做什么。问问你自己
- 谁会与它对话?内部运营团队?销售代表?共享渠道的外部用户?
- 他们希望得到什么?快速回复?触发式工作流程?完整的对话?
- 他们会如何措辞?他们会打很长的问题,还是只用 / 命令和表情符号反应?
- 当机器人不知道某些事情时会发生什么?它会说 "我不知道"、升级还是伪装?
即使是一个粗略的想法也会有帮助--它会决定你将如何对事件做出反应,你需要存储哪些上下文,以及机器人应该给人怎样的对话感(或机械感)。
专业建议: Slack 与webchat不同。人们会发送片段、在线程中回复、@提及机器人、使用表情符号做出反应,并期望机器人 "理解 "上下文。你的流程应该反映出这一点。
第 2 步:为聊天机器人创建后台
.webp)
让我们开始构建。首先,前往Botpress ,创建一个新的机器人。
如果您只是想构建一个简单的常见问题聊天机器人来回答常见问题,只需在知识库中添加您的说明和一些条目,机器人就会在连接后随时在Slack 中做出回应。
如果您要构建更高级的机器人,如自动执行工作流或调用外部应用程序接口的机器人,您可以在步骤 4 之后再回到这一步。
这时,你就可以开始使用流程、条件和事件数据附加Slack逻辑。
您还可以将同一个机器人部署为WhatsApp 聊天机器人或Telegram 聊天机器人,无需额外工作。这部分与Slack:您可以定义机器人在任何渠道的行为方式。
第 3 步:将Slack 连接到聊天机器人后台
.webp)
在机器人仪表板中,转到 "集成",然后转到 "Slack ",点击 "连接"。
这会触发一个安全的 OAuth 流程,将您的Slack 应用程序与机器人连接起来。
完成后,你的机器人就完全接入了Slack ,它可以直接在频道或线程中接收消息并发布回复。
借此机会更改机器人的头像和名称。
您无需手动处理任何API调用。Botpress 会将原始事件数据直接导入机器人,因此您可以立即对用户输入做出反应。
可选:手动配置(如果需要自定义控制)
如果你想使用自己的Slack 应用程序--也许是为了微调权限、使用现有逻辑或订阅特定事件--你可以手动配置集成。
手动模式让您
- 使用自己的Slack 应用程序,而不是Botpress的应用程序
- 添加自定义作用域(如 groups:read、reaction_added)
- 启用安全旋转令牌
- 为机器人设置自定义名称和头像
它需要更多的设置,但如果你要构建一个更高级的 Slackbot,或需要完全控制你的应用程序可以访问的内容,它是你的不二之选。
要遵循这一路径,请查看我们文档中的完整指南--它将指导您完成每个步骤,并根据Slack API 不断变化的怪癖保持更新。
第 4 步:为聊天机器人使用Slack 数据
这就是大多数人遇到的第一道障碍:了解Slack的事件数据。
这并不是因为Slack 难用,而是因为你突然获得了大量结构化数据,但并不总是清楚该如何处理这些数据。
每次有人与您的机器人在Slack 中互动时,它都会收到一个事件对象。该事件会通过事件变量自动传递到您的流程中。
第 5 步:在实时Slack 频道中测试Slack

一切就绪后,邀请你的机器人进入一个频道或直接向它发送 DM。观察它是如何回应的--不只是看它是否回答,还要看它是如何通过Botpress 上的日志使用来自Slack 的数据的。
您可以更进一步,探索每一次对话,确保一切都按照您的设想进行。
构建 Slackbot 的最佳实践
一旦你的 Slackbot 开始运行,真正的工作就开始了--维护它,确保它在你的工作区表现得像个好公民。
以下是一些经过实战检验的最佳实践,可确保您的机器人可靠、安全和用户友好:
使用作用域令牌实现最小权限访问
如果采用手动方式,请避免给予机器人超出其需要的访问权限。根据机器人的实际工作,坚持使用最小的Slack 作用域(如 chat:write 或 reactions:read)。
这遵循了最小特权原则,有助于在您的凭证暴露时降低风险。
记录每个输入、输出和错误
始终记录机器人从Slack 接收到的内容、发送回来的内容以及失败的内容。
使用内置调试工具可以轻松实现这一点,但如果是在生产环境中运行,还应该留意长期日志。
避免存储不必要的信息历史记录
Slack 消息包含大量上下文,但没有必要永久存储所有内容(而且会引发隐私问题)。
尽量少用以前的信息和信息历史记录,除非有明确的原因,否则避免存储完整的线程。
如果需要内存,请使用作用域变量或短期会话存储,而不是完整的Slack 记录。
使用后备信息处理故障
有时,Slack 不会响应,你的流程可能会陷入死胡同,或者用户可能会发送一些意想不到的内容。
在Slack API 管理器上的机器人管理器中内置后备信息,如
"嗯,我没听清。要再试一次还是输入'帮助'?"
如果一个机器人在出现故障时什么也不说,就会让人觉得它坏了。一个引导用户走出死胡同的机器人让人觉得是有意为之。
立即构建 Slackbot
Slack 很快就变得嘈杂起来--审批、问题、提醒,而且看不到明确的所有者。
一个精心策划的机器人可以通过实时行动来打破这种混乱局面。
使用Botpress,您可以根据真实的Slack 事件定义逻辑,无需自定义中间件即可路由请求,并将您的机器人插入已支持 Web、WhatsApp 等的流程中。
您只需构建一次逻辑。然后在一个地方进行测试、跟踪和扩展。
今天就开始构建- 免费。
常见问题
我如何知道建立 Slackbot 是否适合我的团队?
如果你经常在Slack 中重复任务或回答相同的问题,希望在不离开Slack 的情况下触发工作流,或者需要将分散的沟通组织成结构化的流程,你就会知道建立 Slackbot 适合你的团队。
不编写代码也能构建 Slackbot 吗?
是的,使用Botpress、Zapier 或 Make 等无代码工具,无需编写代码就能构建 Slackbot,这些工具让你无需编程技能就能设计对话流、连接集成和可视化处理逻辑。
将机器人连接到Slack 时,需要注意哪些权限或安全问题?
将机器人连接到Slack 时,应仅请求所需的最低权限(如发送消息时的 chat:write),妥善保护 OAuth 标记,并确保机器人不会不必要地存储敏感数据,以符合隐私和安全标准。
Slackbot 能否处理涉及 API 或数据库的复杂工作流程?
是的,Slackbot 可以处理复杂的工作流程,如从 API 获取数据、更新数据库或协调多步骤任务,方法是通过Botpress 等框架集成后台系统,或在需要时进行自定义编码。
我的 Slackbot 能否在不同的频道、主题和私人消息中使用?
是的,您的 Slackbot 可以在公共和私人频道、线程和直接消息中工作,只要它有正确的权限,并且您处理Slack的事件元数据以确保回复出现在正确的位置。