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

1. この記事でできること(ゴールを明示)

この記事では、Slackの特定チャンネルに「gpt: ○○」と質問を書くと、ChatGPTが自動でスレッド返信してくれる仕組みを“ノーコードで30分”で作ります。最短で「必要なアカウントの用意 → 接続 → 動作確認」まで到達し、実際に使える状態にします。完璧な作り込みは後回し。まずは動くものを作り切りましょう。

  • 想定ツール:Slack(無料可)+ Make(無料可)+ OpenAI API(従量課金/クレカ要)
  • 費用感:テキストQAなら1回あたり数円未満のことが多い(使った分だけ課金)
  • 成果物:Slackの専用チャンネルで「gpt:」から始める質問に自動回答

途中でつまずいても大丈夫。各ステップはやり直しがききますし、最後にチェックリストも用意しています。

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

流れはとてもシンプルです。余計な理論は抜きに、完成形のイメージを先に掴みましょう。

  1. Slackの専用チャンネル(例:#chatgpt-qa)で新規投稿を監視
  2. メッセージが「gpt:」で始まる場合だけ抽出(誤作動防止)
  3. 質問文をOpenAI(ChatGPT API)へ送信し、短く日本語で回答
  4. 元メッセージのスレッドに自動返信(タイムラインを荒らさないため)

この4ステップをMakeのシナリオでつなぐだけです。キモは「条件フィルタ」と「スレッド返信」。これで運用が一気に楽になります。

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

  1. Slackで専用チャンネルを作る
  2. OpenAIでAPIキーを発行
  3. Makeにサインアップし、SlackとOpenAIを接続
  4. Makeで「監視 → ChatGPT → 返信」の3モジュールを直列に配置
  5. テスト実行してから本稼働に切り替え

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

ツール 目的 料金 / クレカ 取得・作成するもの
Slack 質問の投稿と自動返信の場 無料プラン可 / クレカ不要 ワークスペース、専用チャンネル(例:#chatgpt-qa)
OpenAI API ChatGPTへの質問と回答生成 従量課金 / クレカ登録が必要 APIキー(ダッシュボードで発行)
Make ノーコード自動化(連携&条件分岐) 無料プラン可 / クレカ不要 アカウントと新規シナリオ

権限まわりの注意

  • Slackで外部アプリ(Make)をインストールできる権限が必要です。もし制限がある場合は管理者に依頼しましょう。
  • OpenAI APIはクレジットカード登録が必須です。少額から使えます。途中で止めても請求は使った分のみ。

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

Slackの準備(5分)

  1. 専用チャンネルを作成します(例:#chatgpt-qa)。理由:雑談や通常業務と混ざらないようにするため。
  2. チャンネル説明に「質問は『gpt: 〜』で始めて投稿してください」と一文を入れておくと、誤作動を防げます。

OpenAI APIの準備(10分)

  1. OpenAIにサインアップ/ログインし、Billing設定でクレジットカードを登録。理由:APIは従量課金で、鍵の発行に決済情報が要るため。
  2. API Keysから新規キーを発行。表示直後しか全文は見られないので安全な場所に保管してください。ここで失敗しても大丈夫、後から作り直せます。

Makeの準備(5分)

  1. Makeにサインアップし、ダッシュボードから「Create a new scenario」を開きます。理由:ここで連携のワークフローを作るため。

5. 自動化ツールの設定

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

  1. シナリオ画面で「+」を押し、Slackモジュールを検索。「Watch Messages in a Channel(Instant)」を選択。理由:新規メッセージを即時で拾うため。
  2. Slackを接続し、表示される認可画面で許可。Makeアプリに必要な権限が付与されます。
  3. 監視するチャンネルに#chatgpt-qaを指定。スレッド内ではなく「新規投稿のみ」を対象にすると設計がシンプルです。

ポイント:最初は「新規投稿だけ」を拾い、返信は常にスレッドに返す形にします。こうすると無限ループを避けやすく、タイムラインも散らかりません。

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

  1. Slackトリガーの右側の線をクリックしてフィルタを追加。「メッセージ本文が『gpt:』で始まる」条件を作ります。
  2. あわせて「ボットからの投稿は除外」条件も入れておくとループ防止になります。理由:自動返信が再度トリガーされないようにするため。

なぜ必要?全投稿をChatGPTに投げるとコストもノイズも増えます。合言葉(gpt:)を条件にするだけで運用が安定します。

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

  1. 次のモジュールに「OpenAI(ChatGPT)→ Create a Chat Completion」を追加。
  2. APIキーで接続。接続名は「openai-chatgpt」など分かる名前に。
  3. モデルは「gpt-4o-mini」を選択。理由:十分に高品質で低コスト、Q&A用途に最適です。
  4. System(役割指示)に以下のように入れます:
    「あなたはSlackの社内ヘルプデスク用アシスタントです。日本語で、箇条書き中心に簡潔に答えてください。分からない場合は推測せず、追加情報を丁寧に尋ねてください。」
  5. User(質問文)には、Slackメッセージ本文から先頭の「gpt:」を取り除いて渡します。理由:余計な接頭辞を学習モデルに与えないため。
  6. 最大トークンや出力のブレは既定でOK。迷ったら0.3〜0.5程度が安定します。

ここで失敗しても大丈夫。APIキーの貼り間違いは後から再接続可能。モデル選択も後で変更できます。

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

  1. 最後に「Slack → Post a Message」を追加。
  2. チャンネルはトリガーのメッセージと同じものを指定。
  3. Thread Timestamp(スレッドの親)に、トリガーで取得した「ts(タイムスタンプ)」を設定。理由:元投稿のスレッドに紐づけるため。
  4. 本文にOpenAIの回答テキストをマッピング。先頭に「🤖 ChatGPT」などのラベルを入れると分かりやすいです。

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

  1. 右上の「Run once」を押し、Slackでテスト投稿(例:「gpt: 有給申請の手順を3行で教えて」)。
  2. スレッドに自動返信が来たらOK。「Schedule」をONにしてシナリオを有効化します。

費用の目安:短いQ&Aであれば1回あたり数円未満が一般的です。まずは少量で感触を確かめましょう。

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

以下を#chatgpt-qaに投稿し、スレッド返信されるか確認します。結果は数秒〜十数秒で返るはずです。

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

返信が長すぎる・口調が合わないと感じたら、OpenAIモジュールのSystem文を「箇条書き2〜4行」「丁寧だが簡潔に」などに微調整すると改善します。

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

  • シナリオがOFFのまま:Make右上のトグルをONに。Run onceでテストしてから有効化します。
  • チャンネルの指定ミス:監視も投稿も同じ#chatgpt-qaになっているか確認。
  • フィルタが厳しすぎる:「gpt:」で始まる条件にしているか。全角半角の混在にも注意(例:全角コロン)。
  • ボットのループ:フィルタで「ボット投稿は除外」条件が入っているか。
  • OpenAIのエラー:APIキー無効(401)や請求設定未完了(アカウント未アクティブ)。OpenAIのUsage/Billingを確認。
  • 権限エラー:SlackでMakeアプリのインストールが許可されているか。管理者に承認依頼を。
  • レート制限:短時間に大量実行すると失敗することがあります。少し待って再試行。
  • コンテンツ制限:不適切内容はOpenAI側でブロックされることがあります。質問文を見直してください。

それでも解決しない場合は、Makeの実行ログ(バブルをクリック)を開くと、どのモジュールで、どんなエラーが出たかが明確に分かります。ここで失敗しても大丈夫。ログを見れば直すポイントが必ず見つかります。

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

  • トリガー拡張:合言葉を「gpt:」に加え「Q:」「質問:」なども許容。MakeのフィルタにOR条件を追加。
  • テンプレ整形:OpenAIのSystem文で「最初に結論 → 箇条書き3点 → 補足1行」の型を指定。読みやすさが安定します。
  • 社内ナレッジ連携:Googleドキュメント検索→要約→回答に引用を添える(MakeでDoc検索→テキスト→OpenAI)。
  • 人へのエスカレーション:回答に自信がない場合は「@担当者」にメンションする条件を追加(特定語が含まれたら別分岐)。
  • ログ保存:質問と回答をスプレッドシートに自動記録。よくある質問の可視化に役立ちます。
  • コスト制御:長文を避けるため「最大文字数」や「要点のみ」の指示をSystemに明記。必要に応じて深掘りは手動で。
  • セキュリティ:個人情報・社外秘は送らない運用ルールをチャンネルトピックに明記。必要ならマスク処理を前段に。

まずは今回の最小構成で「自動で返る便利さ」を体験してください。動くものがあれば、改善はいつでも少しずつ足せます。