- Slackbotsは、Slack イベント(メッセージ、コマンド)をリッスンし、APIを介してカスタムロジックで応答します。
- Slackbotの主な用途には、ワークフローのトリガー、ドキュメントからの質問への回答、リクエストのルーティング、チームの儀式の自動化などがある。
- Slackbotを構築するには、スコープを定義し、Slack接続し、イベントデータを処理し、セキュリティとUXのベストプラクティスに従う必要があります。
Slack仕事をしているチームなら、同じメッセージが繰り返し出てくるのを見たことがあるだろう。
"これは誰のものか?""誰か承認してくれるか?""リンクはどこ?"
ある時点で、それは共同作業ではなくなり、熱狂に変わり始める。リマインダー、スラッシュ・コマンド、Notion ドキュメント、そしてNotion ドキュメントを追跡するためのLinear ページ。
この問題を解決するためにAIチャットボットを作ろうとしたことがある人なら、この問題を知っているだろう。
それこそが、よく練られたスラックボットがもたらすものなのだ。
スラックボットとは何か?
SlackbotはSlack 登録されたアプリケーションで、特定のイベントタイプ(メッセージ、メンション、スラッシュコマンド、インタラクションなど)をリッスンし、Slack外部で定義されたロジックに基づいて応答します。
通常、Slack アプリの一部として登録され、ボットトークンで認証され、AIチャットボットのような外部サービスに接続され、受信イベントを処理し、構造化された応答を返します。
SlackbotはSlack Events APIモデル内で動作し、webhook URL、スコープ、パーミッショントークンを使用して、ワークスペース内の入力を処理し、返信を送信します。
スラックボットの主な使用例
Botpress、迅速な非同期承認からチームとのフローのデバッグまで、あらゆることにSlack 使用しており、その多くがボットを介して実行されています。
Slack 75万以上のボットをホストしており、プラットフォーム上のアクティブなワークスペースの45%で使用されている。
これらは単なる便利グッズではない。ツールを切り替えたり、スレッドを追いかけたりすることなく、ブロックされない状態を維持するのに役立つのだ。
ここでは、私たちが構築した、または他の人が構築したSlackbotの使用例をいくつか紹介します。
コマンドからワークフローをトリガーする
ダッシュボードを必要としないアクションもある。Slack シンプルなコマンドの方が速いことも多い。
Slackbotsは、スラッシュコマンド、メッセージパターン、絵文字の反応を聞き取り、それを使ってバックグラウンドでワークフローをトリガーすることができる。
テスト環境の立ち上げ、チケットの提出、ポストモーテムの開始、またはスレッドから直接ボットを公開することができます。
ボットがハンドオフを処理し、ワークフローを進め、完了したらポストバックする。
ドキュメントの検索
人々はSlack 繰り返し質問をする。ドキュメントに書かれていることでも、いつもすぐに表面化されるわけではない。検索支援生成(RAG)を利用したslackbotは、スレッドで直接回答することができます。
ナレッジベースを検索し、最も関連性の高いコンテンツやリンクを返信します。
誰かがSlack質問すると、ボットが関連する回答(またはその回答へのリンク)を返信する。
うまくやれば、「どこにリンクがあるんだ?
チームへの社内リクエストのルーティング
デモが必要なリード、割り当てが必要なタスク、予約すべきカレンダー枠など、誰かがSlack リクエストを投下しても、誰かがそれを所有しない限り、ただそこに放置されることが多い。
Slackbotsは、そのようなリクエストを自動的にルーティングすることができる。
私たちがここで使っているボットの1つはBotpress Gordonはデモ関連のトリガーを監視し、見込み客の情報を取得し、担当者の空き状況を確認し、 Calendly スレッド内にリンクを貼ってください。
リードジェネレーションチャットボットと 予約チャットボットの一部で、Slackループを閉じるためにしっかりとスコープされています。
チームの儀式を自動化する
Slackbotsは、毎日のチェックイン、週明けの勝利、レトロなプロンプトなど、サボりがちなチームの定期的な場面に最適です。
手動でナデナデする代わりに、ボットが各チームメイトに連絡し、回答を集め、1つのスレッドに要約を投稿する。
スラックボットの仕組み
Slackbotsは、Slack イベントをキャッチし、APIを介して応答することで動作する。Slackbotsは外部サーバー上で動作し、Slack イベントをリスニングし、API経由で応答します。
ユーザーのメッセージやインタラクションのようなシグナルをリッスンする。
Slackbotsはイベントドリブンである。Slack ペイロードを送信し、ボットは何が起こったかを処理し、何かを送り返す。
Slack 何かが起きるとボットに通知を送る
Slack 、誰かがメッセージを送信したり、ボタンをクリックしたり、コマンドを入力したりするなど、何か重要なことが起こったときにボットに知らせることができます。
クラウド上のワークスペースの外にあるボットが常にアップデートをチェックする代わりに、Slack 直接ボットに情報をプッシュします。これをイベントと呼ぶ。
メッセージ、インタラクションなど、ボットがリッスンするイベントの種類を選択できます。
これらのイベントが発生すると、Slack あなたのボットに、何が起こったか、誰がきっかけになったか、どこで起こったか、その他対応に必要な情報など、小さなパッケージを送信します。
ボット・ユーザーがウェブフックやAPIを使ってレスポンスを投稿する
ボットはイベントを受け取ると、どのように対応するかを決定する。ほとんどの場合、これはSlackAPIを呼び出してメッセージを投稿したり、何かを更新したり、モーダルを開いたりすることを意味します。
ボタンのクリックやフォームの送信など、素早いインタラクションのために、Slack ボットがすぐに返信できる特別なリンクも用意されている。
ボットの中には、短いメッセージを返すだけのものもある。また、そのイベントをトリガーにして、データベースを更新したり、別のサービスと会話したり、ワークフローを実行したりと、何か大きなことをするボットもある。
しかし、ボットがバックグラウンドで何をしていても、応答自体は依然としてSlackいる。
Slackbotトークンが権限とアクセスを定義する
Slack すべてのボットは、トークンを使用して実行され、基本的にはボットが何を許可されているかを示すキーです。
トークンは、どのチャンネルにアクセスできるのか、どのようなアクションができるのか、どのようなイベントをリッスンできるのかを定義する。
ボットが何かをしようとすると、Slack そのトークンをチェックし、そのアクションが許可されていることを確認する。
正しい許可があれば通過する。そうでない場合はブロックされる。
こうしてSlack アクセスを制御し、ボットが決められたことだけを行うようにする。
スラックボットの作り方
シンプルなwebhook 複雑なエージェントフレームワークまで、Slackbotを構築する方法は何十通りもある。
ツールを比較する場合は、サポート、社内運用、自動化のユースケースにわたる実例とともに、最高の Slack チャットボットガイドでトップオプションを分解します。
Botpress使った完全な機能のSlackbotを構築する方法を、ライブチャネルテスト、実際のイベント処理、構造化されたSlack データを扱うためのヒントとともに、具体的にご紹介します。
ステップ1:チャットボットの範囲をマップする
何かを接続する前に、あなたのSlackbotが何をするためにあるのかを把握しましょう。自分自身に問いかけてみてください:
- 誰がそれに話しかけるのか?社内のオペレーションチーム?営業担当者?共有チャネルの外部ユーザー?
- その時、彼らは何を期待しているのだろうか?迅速な回答?ワークフローのトリガー?完全な会話?
- 彼らはどのような言い回しをするのだろうか?長い質問を打つのか、それとも/コマンドと絵文字のリアクションを打つだけなのか。
- ボットが何かを知らないときはどうするのか?わからない」と言うのだろうか、エスカレートするのだろうか、それともごまかすのだろうか?
イベントにどう反応するか、どのようなコンテキストを保存する必要があるか、ボットがどのように会話的(または機械的)であるべきかなどを形作ります。
プロからのアドバイス: Slack webchat違う。人々はフラグメントを発射し、スレッドで応答し、ボットを@メンションし、絵文字で反応し、ボットが文脈を「理解」することを期待する。あなたのフローはそれを反映する必要があります。
ステップ2:チャットボットのバックエンドを作成する
.webp)
さっそく作ってみよう。まず、Botpress アクセスし、新しいボットを作成します。
よくある質問に答えるシンプルなFAQチャットボットを構築したい場合は、ナレッジベースに 手順といくつかのエントリーを追加するだけで、ボットが接続されるとSlack 応答できるようになります。
ワークフローを自動化するボットや外部APIを呼び出すボットなど、より高度なものを作成する場合は、ステップ4の後にこのステップに戻ります。
フロー、条件、イベントデータを使ってSlackロジックをアタッチし始めるのはこのときだ。
同じボットをWhatsApp チャットボットや Telegram チャットボットとしてデプロイすることもできます。この部分はSlack。どのチャンネルでもボットがどのように動作するかを定義します。
ステップ3:Slack チャットボットのバックエンドに接続する
.webp)
ボットダッシュボードの「Integrations」から「Slack 選択し、「Connect」をクリックします。
これは、あなたのSlack アプリとボットをリンクする安全なOAuthフローをトリガーします。
ボットはメッセージを受信し、チャンネルやスレッドに直接返信を投稿することができます。
この機会にボットのアバターと名前を変更しましょう。
APIコールを手動で処理する必要はありません。Botpress 生のイベントデータを直接ボットにパイプするので、ユーザーの入力にすぐに反応し始めることができます。
オプション手動設定(カスタム制御が必要な場合)
独自のSlack アプリを使いたい場合(パーミッションの微調整、既存のロジックの使用、特定のイベントの購読など)、手動で統合を設定することができる。
マニュアルモードでは
- Botpress代わりに独自のSlack アプリを使う
- カスタムスコープ(groups:read、reaction_addedなど)の追加
- セキュリティのためにローテーション・トークンを有効にする
- ボットにカスタムネームとアバターを設定する
より高度なSlackbotを構築する場合や、アプリがアクセスできる範囲を完全に制御する必要がある場合は、より多くのセットアップが必要ですが、この方法をお勧めします。
このパスに従うには、私たちのドキュメントの完全なガイドをチェックしてください - すべてのステップを説明し、常に変化するSlack APIの奇妙な最新情報を維持します。
ステップ4:チャットボットにSlack データを使う
ここで多くの人が最初の壁にぶつかる。Slackイベントデータを理解することだ。
Slack 難しいからではなく、突然多くの構造化されたデータにアクセスすることになり、そのデータで何をすべきかが必ずしも明確ではないからだ。
誰かがSlackあなたのボットとやりとりするたびに、ボットはイベントオブジェクトを受け取ります。このイベントは自動的にevent変数を通してあなたのフローに渡されます。
ステップ5:ライブSlack チャンネルでSlackbotをテストする

すべての接続が完了したら、ボットをチャンネルに招待するか、直接DMを送ってみましょう。ボットがどのように反応するか見てみましょう。ボットが答えるかどうかだけでなく、Botpressログを通してSlack データをどのように使うかも見てみましょう。
さらに一歩進んで、各会話を探索し、すべてがあなたがスケープアウトしたとおりに機能していることを確認することができる。
スラックボット構築時のベストプラクティス
Slackbotが稼動したら、本当の仕事が始まる-Slackbotを維持し、あなたのワークスペースで善良な市民のように振る舞うようにすることだ。
ここでは、ボットの信頼性、安全性、使いやすさを維持するためのベストプラクティスをご紹介します:
最小特権アクセスにはスコープ付きトークンを使用する
手動で行う場合は、ボットに必要以上のアクセス権を与えないようにしましょう。Slack スコープ(chat:writeやreactions:readなど)は、あなたのボットが実際に行うことに基づいた最小限のスコープにとどめましょう。
これは最小特権の原則に従ったもので、万が一あなたの認証情報が漏洩した場合のリスクを軽減するのに役立つ。
すべての入力、出力、エラーを記録する
ボットがSlack何を受信し、何を送り返し、何が失敗したかを常にログに残します。
内蔵のデバッグ・ツールを使えば簡単だが、本番稼動しているのであれば、長期ログにも目を配るべきだ。
不要なメッセージ履歴の保存を避ける
Slack メッセージには多くの文脈が含まれているが、すべてを永久に保存する必要はない(プライバシーの問題が生じる可能性もある)。
以前のメッセージやメッセージ履歴の使用は控えめにし、明確な理由がない限り、スレッド全体を保存することは避けましょう。
メモリが必要な場合は、Slack 完全なトランスクリプトではなく、スコープされた変数や短期的なセッションストレージを使用します。
フォールバック・メッセージを使用して失敗を処理する
Slack 応答しなかったり、フローが行き詰まったり、ユーザーが予期せぬものを送ってきたりすることもある。
Slack APIマネージャのボットマネージャに、以下のようなフォールバックメッセージを組み込む:
「うーん、聞き取れませんでした。もう一度やってみるか、"help "と打ってみるか?"
壊れたときに何も言わないボットは壊れていると感じる。行き止まりからユーザーを導くボットは、意図的だと感じる。
今すぐSlackbotを構築する
Slack すぐに騒がしくなる。承認、質問、リマインダー、そして明確な所有者が見えない。
よく計画されたボットは、リアルタイムで行動することで、その混乱を切り抜ける。
Botpress使用すると、実際のSlack イベントに基づいてロジックを定義し、カスタムミドルウェアなしでリクエストをルーティングし、すでにWebやWhatsAppサポートしているフローにボットをプラグインすることができます。
ロジックを一度構築する。そしてそれをテストし、トレースし、拡張する。
無料です。
よくあるご質問
Slackbotを作ることが自分のチームに合っているかどうか、どうすればわかりますか?
Slack同じタスクを繰り返したり、同じ質問に答えたりしている場合、Slack離れることなくワークフローをトリガーしたい場合、または散在するコミュニケーションを構造化されたプロセスに整理する必要がある場合、Slackbotの構築があなたのチームに適していることがわかります。
コードを書かずにSlackbotを構築することは可能ですか?
Botpress、Zapier、Makeのようなコードを書かなくてもSlackbotを構築できるツールを使えば、プログラミングのスキルがなくても、会話の流れをデザインしたり、統合機能を接続したり、ロジックを視覚的に処理したりできる。
ボットをSlack接続する場合、どのような権限やセキュリティ上の懸念に注意する必要がありますか?
ボットをSlack接続する際は、必要最低限のパーミッション(メッセージを送信するためのchat:writeなど)のみを要求し、OAuthトークンを適切に保護し、プライバシーとセキュリティの標準に準拠するためにボットが不必要に機密データを保存しないようにする必要があります。
SlackbotはAPIやデータベースを含む複雑なワークフローを処理できますか?
Slackbotは、Botpress ようなフレームワークを介してバックエンドシステムを統合したり、必要に応じてカスタムコーディングすることで、APIからのデータ取得、データベースの更新、複数ステップのタスクの調整などの複雑なワークフローを処理することができます。
私のSlackbotは、異なるチャンネル、スレッド、プライベートメッセージにまたがって機能しますか?
Slackbotは、適切なパーミッションを持ち、Slackイベントメタデータを処理して適切な場所に応答が表示されるようにすれば、パブリック、プライベートチャンネル、スレッド、ダイレクトメッセージにまたがって機能します。