Slackの質問にChatGPTが自動回答する仕組みの作り方|ノーコードで30分で完成

Slackの質問にChatGPTが自動回答する仕組みの作り方|ノーコードで30分で完成

1. この記事でできること

この記事では、Slackの特定チャンネルに「gpt: ○○」と投稿するとChatGPTが自動でスレッドに返信する仕組みを作ります。ノーコードで進められるのでプログラミングは必要ありません。アカウントの準備から接続、テストまで順番に進めていきます。

  • 使うツール:Slack + Make + OpenAI API
  • 費用:MakeとSlackは無料プランから利用可能。OpenAI APIは使った分だけ料金がかかります
  • 完成形:Slackで「gpt:」から始めて質問するとAIがスレッドに回答

最初から完璧に作る必要はありません。まずは1つ質問を送ってAIから返事が来るところまで作ってみましょう。

2. 今回作る自動化の仕組みの全体像

仕組みはそれほど難しくありません。Slackに投稿された質問をMakeが受け取りOpenAI APIへ渡します。その回答をSlackへ戻す流れです。

  1. Slackの専用チャンネル(例:#chatgpt-qa)に質問を投稿
  2. Makeが新しいメッセージを受け取る
  3. 「gpt:」で始まる投稿だけをOpenAIへ送る
  4. OpenAIの回答を元の投稿のスレッドへ返信する

MakeではSlackの新しいメッセージを受け取るトリガーを使えます。OpenAIのモジュールで回答を作りSlackのメッセージとして返せば完成です。今回はまずこのシンプルな構成で作ります。

設定の最短ルート(迷わない順番)

  1. Slackで専用チャンネルを作る
  2. OpenAI APIを使える状態にする
  3. Makeにサインアップする
  4. Makeで「Slack → OpenAI → Slack」の流れを作る
  5. テストしてからシナリオをONにする

3. 事前に必要なアカウント・準備物

ツール 目的 料金 / クレカ 取得・作成するもの
Slack 質問の投稿と自動返信の場 無料プラン可 ワークスペース、専用チャンネル(例:#chatgpt-qa)
OpenAI API 質問への回答を生成 従量課金 / 支払い設定が必要 APIキー
Make SlackとOpenAIをつなぐ 無料プランあり / クレカ不要 Makeアカウント、SlackとOpenAIの接続

権限まわりの注意

  • Slackで外部アプリの利用が制限されている場合は管理者の承認が必要です。会社のワークスペースを使う場合は先に確認しておきましょう。
  • OpenAI APIはChatGPTの有料プランとは別のサービスです。APIを使うには支払い設定が必要になる場合があります。現在の新規APIアカウントではプリペイド方式が基本となっており少額から利用できます。

4. 必要なツール、アカウントの設定

Slackの準備(5分)

  1. 専用チャンネルを作成します(例:#chatgpt-qa)。普段の会話と分けておくと質問と回答を追いやすくなります。
  2. チャンネルの説明に「質問は『gpt: 〜』で始めて投稿してください」と書いておくと使い方も分かりやすくなります。

OpenAI APIの準備(10分)

  1. OpenAIのAPI Platformにログインします。APIを利用するには支払い設定が必要です。新規アカウントではプリペイド方式でクレジットを購入して使う方法があります。
  2. API Keysから新しいキーを発行します。APIキーは作成時に全文が表示されます。あとから確認できないため安全な場所に保存してください。紛失した場合は新しいキーを発行できます。

Makeの準備(5分)

  1. Makeにサインアップしダッシュボードを開きます。「+ Create scenario」から今回の自動化を作成します。

5. 自動化ツールの設定

ステップ1:Slackのメッセージ監視を作る

  1. Makeのシナリオ画面で「+」を押しSlackを検索します。「Watch New Events」またはチャンネルの新しいメッセージを監視するモジュールを選択します。現在のMakeでは公開チャンネルや非公開チャンネルなど用途に合わせた監視方法を選べます。


  2. Slackとの接続を作成します。表示された認証画面でワークスペースを選びアクセスを許可してください。
    Webhook nameは初期の名前のまま、Event typeは「New channel message」を選んでください。


  3. 監視するチャンネルに#chatgpt-qaを指定します。まずは専用チャンネルだけを対象にすると設定が分かりやすくなります。

ポイントは自動返信をもう一度拾わないことです。MakeのSlackトリガーで新しいメッセージを受け取りフィルタで「gpt:」から始まる投稿だけを通す形にします。さらにBotや自動返信を除外しておくとループを防ぎやすくなります。

ステップ2:誤作動を防ぐフィルタを入れる

  1. Slackトリガーと次のモジュールの間にフィルタを追加します。「メッセージ本文が『gpt:』で始まる」という条件にします。
    ※モジュールが1つだとフィルタを追加できないので、先にステップ3のOpenAIモジュールを追加しておいて下さい。
    対象はslackの「Text」、条件は「Starts with」、設定値は「gpt:」


  2. 必要に応じてBotや自動返信を除外する条件も追加します。これでAIの返信を再びAIへ送ってしまう事故を防げます。

このフィルタは入れておくことをおすすめします。Slackのすべての投稿をAIへ送ると必要のない処理が増えます。「gpt:」を合図にしておけば使い方も分かりやすくなります。

ステップ3:OpenAI(ChatGPT)へ質問を送る

  1. 次のモジュールにOpenAI(ChatGPT)を追加します。Makeでは「Generate a response」を選びます。


  2. OpenAIの接続を作成します。APIキーを入力して認証します。

  3. モデルを選択します。利用できるモデルは時期によって変わるため、現在のMake画面で選択できる低コストのモデルから選ぶとよいでしょう。
    今回は「gpt-4o-mini」にしました。


  4. Promptに次のように入力します:
    「あなたはSlackの社内ヘルプデスク用アシスタントです。日本語で簡潔に答えてください。箇条書きを中心に使ってください。分からないことは推測せず追加情報を尋ねてください。 {{slackのテキスト}}」


  5. 回答の長さは最初は既定値のままで構いません。長すぎる場合は出力上限を調整します。

ここでAPIキーを間違えても慌てなくて大丈夫です。Makeの接続設定から修正できます。モデルも後から変更できます。

ステップ4:Slackへスレッド返信する

  1. 最後にSlackの「Send a Message」またはメッセージ送信用のモジュールを追加します。


  2. チャンネルは質問を受け取ったチャンネルを指定します。


  3. Text(本文)にはOpenAIから返ってきた回答を差し込みます。先頭に「🤖 ChatGPT」などを付けても分かりやすいです。

ステップ5:テスト実行と本稼働

  1. 「Run once」を押してテスト待機状態にします。Slackから「gpt: 有給申請の手順を3行で教えて」などのテスト投稿を送ります。
  2. Makeがメッセージを受け取りOpenAIが回答を生成します。その回答がSlackのスレッドに届けば成功です。
  3. 問題がなければシナリオを保存してONにします。これで新しい質問を自動で処理できるようになります。

OpenAI APIの料金は使用するモデルと入出力したトークン数によって変わります。短い質問だけなら大きな金額にはなりにくいですが料金はモデルごとに異なるので利用前に確認しておきましょう。

6. 動作確認(実際の質問例)

以下のような質問を#chatgpt-qaに投稿してみます。数秒ほどで回答が返るケースが多いですが通信状況や処理内容によって時間がかかることもあります。

  • gpt: 有給申請の手順を3行で教えて
  • gpt: 社外に送るお詫びメールの短い例文をください
  • gpt: 議事録の要点テンプレを3項目で

質問に対してSlackのスレッドへ回答が届けば完成です。回答が長いと感じたらSystemやInstructionsに「3行以内」「箇条書き中心」などのルールを追加すると調整できます。

7. うまく動かないときのチェックポイント

  • シナリオがOFFのまま:MakeのシナリオがONになっているか確認します。まずはRun onceでテストしてから有効化しましょう。
  • チャンネルの指定ミス:監視対象が#chatgpt-qaになっているか確認します。返信先のチャンネルも確認してください。
  • フィルタが厳しすぎる:「gpt:」で始まる条件になっているか確認します。全角の「:」では条件に一致しないことがあります。
  • ボットのループ:AIの返信までトリガーが拾っていないか確認します。Botや自動返信を除外する条件を入れておくと安全です。
  • OpenAIのエラー:APIキーが正しいか確認します。支払い設定や利用残高に問題がないかもOpenAIの管理画面で確認してください。
  • Slackの権限エラー:MakeからSlackへの接続が許可されているか確認します。会社のワークスペースでは管理者の承認が必要な場合があります。
  • レート制限:短時間に大量の質問を送ると制限にかかることがあります。時間を置いてから再実行してください。
  • スレッドに返信されない:元メッセージのタイムスタンプがThread message IDに正しく入っているか確認します。ここが違うと通常の投稿として送られることがあります。

それでも解決しない場合はMakeの実行履歴を確認しましょう。各モジュールの実行結果を見るとどこで止まったのか分かります。まずSlackで止まったのかOpenAIで止まったのかを切り分けると原因を探しやすくなります。

8. 次にできる改善アイデア

  • トリガーを増やす:「gpt:」だけでなく「Q:」や「質問:」にも対応させると使いやすくなります。MakeのフィルタでOR条件を追加できます。
  • 回答の形式を整える:OpenAIへの指示に「最初に結論」「箇条書き3点」などのルールを入れると回答の形を揃えやすくなります。
  • 社内ナレッジと連携する:Googleドキュメントなどの社内資料を検索してからAIに渡せば社内向けの回答にも発展できます。
  • 人へ引き継ぐ:AIだけでは判断できない質問が来たら担当者へ知らせる分岐を追加できます。
  • ログを保存する:質問と回答をGoogleスプレッドシートなどに保存しておけば後から確認できます。よくある質問の把握にも便利です。
  • コストを抑える:回答を短くするよう指示したり入力する文章を必要以上に長くしないことで使用量を抑えられます。
  • セキュリティを見直す:個人情報や社外秘の情報をAPIへ送る場合は社内ルールを確認してください。必要に応じて送信前に情報を削る仕組みも追加できます。

まずは質問を送ったらスレッドに回答が返ってくるところまで作れば十分です。実際に使ってみると「この質問にも対応したい」「回答をもう少し短くしたい」といった改善点が見えてきます。必要になったものから少しずつ追加していきましょう。