社内問い合わせ対応を80%自動化するワークフロー|Slack・Make・Notion・ChatGPTを組み合わせた実践レシピ

Slackを使った社内コミュニケーションとチーム協働のイメージ

ゴールと前提条件

このワークフローで実現すること

情報システム部門、総務部、人事部など、社内からの問い合わせ対応に追われていませんか?「PCの初期設定方法を教えてください」「経費申請の期限はいつですか?」「社内Wi-Fiのパスワードがわかりません」といった定型的な質問から、やや複雑な手続きに関する問い合わせまで、毎日大量の質問が寄せられる企業は少なくありません。

このワークフローでは、社内からの問い合わせ対応を80%自動化します。具体的には次のような業務フローを構築します。

  • SlackのDMやチャンネルに投稿された質問を自動検知
  • ChatGPTがFAQデータベースを参照して自動回答
  • 回答できない質問は自動的にNotionのチケットとして記録
  • 未解決の質問は担当者にSlackで通知してエスカレーション
  • すべての問い合わせ履歴をNotionで一元管理

これにより、定型的な質問には即座に自動回答し、複雑な質問だけを人が対応する効率的な体制を実現できます。

前提条件

このワークフローを実装するには、以下の環境が必要です。

  • Slackのワークスペース(有料プランまたは無料プラン)
  • Make(旧Integromat)のアカウント(無料プランでも可能)
  • Notionのワークスペース(無料プランでも可能)
  • ChatGPT API(OpenAI)のアカウントとAPIキー

また、あらかじめ社内のFAQ情報をまとめておくと、より精度の高い自動回答が可能になります。まずは10〜20件程度の頻出質問と回答を用意しておくことをおすすめします。

全体フローの俯瞰図

このワークフローは、次の4つのステップで構成されます。

  1. トリガー(質問の検知): Slackの特定チャンネルまたはDMに質問が投稿されたことを検知
  2. AI処理(自動回答の生成): ChatGPTがNotionに保存されているFAQデータベースを参照し、質問に対する回答を自動生成
  3. 判定と分岐: 回答の信頼度をチェックし、確信度が高ければSlackで即座に回答。低ければ未解決チケットとして記録
  4. 記録と通知: すべての問い合わせをNotionに記録し、未解決の質問は担当者にSlack通知してエスカレーション

このフローにより、簡単な質問は数秒で自動回答、難しい質問だけを人が対応という理想的な問い合わせ対応体制を構築できます。

使用するツールと役割

Slack(質問の受付窓口)

社内からの問い合わせを受け付ける窓口として機能します。専用の「#質問・ヘルプデスク」チャンネルを作成するか、Slackbotへのダイレクトメッセージで質問を受け付けます。従業員にとっては、普段使い慣れたSlackから気軽に質問できるため、心理的なハードルが低く、利用率が高まります。

Make(自動化の中核エンジン)

Slack、Notion、ChatGPT APIを繋ぎ、ワークフロー全体を制御する自動化プラットフォームです。Slackでの質問検知をトリガーに、ChatGPTへの問い合わせ、回答の判定、Notionへの記録、Slackへの返信といった一連の処理を自動実行します。ノーコードで設定できるため、プログラミングの知識がなくても構築可能です。

Notion(FAQデータベース・問い合わせ履歴管理)

2つの重要な役割を担います。1つ目はFAQデータベースとしての機能です。「質問」「回答」「カテゴリ」「キーワード」といった項目を持つデータベースを作成し、ChatGPTが参照するナレッジベースとして活用します。2つ目は問い合わせ履歴の一元管理です。すべての質問、回答、対応状況をデータベース化し、検索可能な形で蓄積します。

ChatGPT API(自動回答の生成エンジン)

NotionのFAQデータベースを参照しながら、質問に対する適切な回答を生成します。単なるキーワードマッチングではなく、質問の意図を理解して関連するFAQを見つけ出し、わかりやすい文章で回答を作成します。また、回答の信頼度(確信度)も併せて返すことで、自動回答すべきか人間がチェックすべきかを判定できます。

手順詳細(ステップバイステップ)

STEP 1: NotionでFAQデータベースを作成する

まず、ChatGPTが参照するFAQのデータベースをNotionに作成します。

  1. Notionで新しいデータベースを作成し、「社内FAQ」という名前をつけます
  2. 以下のプロパティを追加します
    • 質問(タイトル): 「経費申請の期限はいつですか?」など
    • 回答(テキスト): 詳細な回答内容
    • カテゴリ(セレクト): 「経理」「総務」「情シス」「人事」など
    • キーワード(テキスト): 検索しやすいキーワードをカンマ区切りで記載
    • 更新日(日付): 情報の鮮度を管理
  3. まずは頻出する10〜20件の質問と回答を登録します

つまづきポイント: 回答は簡潔すぎず、具体的な手順やリンクを含めて記載しましょう。「詳しくは〇〇ページを参照」だけでなく、URLも併記すると、ChatGPTがより有用な回答を生成できます。

STEP 2: 問い合わせ履歴用のNotionデータベースを作成する

次に、すべての問い合わせを記録するデータベースを作成します。

  1. 新しいデータベースを作成し、「問い合わせ履歴」という名前をつけます
  2. 以下のプロパティを追加します
    • 質問内容(タイトル): 質問者からの質問文
    • 質問者(テキスト): Slackのユーザー名
    • 回答内容(テキスト): AIまたは担当者が作成した回答
    • ステータス(セレクト): 「自動回答済み」「対応中」「解決済み」
    • カテゴリ(セレクト): 質問の分類
    • 受付日時(日付): 質問を受けた日時
    • 担当者(人物): エスカレーション先の担当者
    • SlackスレッドURL(URL): 元の質問へのリンク

この履歴データベースにより、「どんな質問が多いか」「自動回答率はどのくらいか」といった分析も可能になります。

STEP 3: Slackで問い合わせ受付チャンネルを準備する

Slackで問い合わせを受け付ける場所を用意します。以下の2つの方法があります。

方法A: 専用チャンネルで受付

  • 「#質問・ヘルプデスク」などのチャンネルを作成
  • 全社員を招待し、質問はこのチャンネルに投稿してもらう
  • 他のメンバーも過去の質問を検索できるメリットがあります

方法B: Slackbotへのダイレクトメッセージで受付

  • 専用のSlackアプリ(bot)を作成し、DMで質問を受け付ける
  • プライベートな質問(パスワード忘れなど)にも対応しやすい

今回は、まず方法Aの専用チャンネルで構築する手順を説明します。

STEP 4: MakeでSlack監視シナリオを作成する

Makeにログインし、新しいシナリオを作成します。

  1. トリガーを設定: 「Slack > Watch Public Channel Messages」モジュールを追加
    • 監視するチャンネルとして「#質問・ヘルプデスク」を選択
    • 新しいメッセージが投稿されたら自動的にシナリオが実行されます
  2. bot自身の投稿は除外: 「Router」モジュールを追加し、フィルター条件を設定
    • 条件: 「User Is Bot」が「false」の場合のみ次に進む
    • これにより、bot自身の回答に反応してしまう無限ループを防ぎます

STEP 5: NotionからFAQデータを取得する設定

ChatGPTに渡すために、NotionのFAQデータベースから情報を取得します。

  1. 「Notion > Search Objects」モジュールを追加
  2. 接続先として先ほど作成した「社内FAQ」データベースを選択
  3. 取得するプロパティとして「質問」「回答」「カテゴリ」「キーワード」を指定
  4. 取得したデータを、ChatGPTが理解しやすいテキスト形式に整形します(次のステップで使用)

つまづきポイント: NotionのAPIは初回接続時に「インテグレーション」の追加が必要です。Notion側で「設定 > 接続」からMakeのインテグレーションを追加し、FAQデータベースへのアクセスを許可してください。

STEP 6: ChatGPT APIで回答を生成する

取得したFAQ情報と、Slackに投稿された質問を組み合わせて、ChatGPTに回答を生成させます。

  1. 「HTTP > Make a request」モジュール(またはOpenAI専用モジュール)を追加
  2. エンドポイント: https://api.openai.com/v1/chat/completions
  3. ヘッダーに「Authorization: Bearer YOUR_API_KEY」を設定
  4. リクエストボディに以下のような構造を設定します
{
  "model": "gpt-4o",
  "messages": [
    {
      "role": "system",
      "content": "あなたは社内ヘルプデスクの担当者です。以下のFAQデータベースを参照して、質問に丁寧に回答してください。回答できない場合は「この質問は担当者に確認します」と答えてください。\n\n【FAQデータベース】\n{{Notion FAQデータ}}"
    },
    {
      "role": "user",
      "content": "{{Slackの質問内容}}"
    }
  ],
  "temperature": 0.3
}

temperatureを低めに設定することで、FAQに忠実な回答を生成しやすくなります。

STEP 7: 回答の信頼度を判定する

ChatGPTの回答をそのまま返す前に、「本当にこの回答で大丈夫か?」を判定します。

  1. ChatGPTからの回答に、確信度スコアを返してもらう設定を追加します
    • プロンプトに「回答の後に、確信度を0〜100のスコアで表示してください」と追記
    • 例: 「回答: 経費申請の期限は毎月25日です。[確信度: 95]」
  2. 「Router」モジュールで分岐処理を設定
    • 確信度80以上: Slackに自動回答
    • 確信度80未満: Notionにチケット作成 + 担当者に通知

STEP 8: Slackに自動回答を投稿する

確信度が高い場合は、Slackのスレッドに自動回答を投稿します。

  1. 「Slack > Create a Message」モジュールを追加
  2. 投稿先: 元の質問が投稿されたチャンネル
  3. スレッドID: 元のメッセージのタイムスタンプ(スレッド返信として投稿)
  4. メッセージ内容: ChatGPTが生成した回答 + 「この回答は自動生成されました。さらに詳しく知りたい場合は担当者にお問い合わせください」といった注意書き

STEP 9: Notionに問い合わせ履歴を記録する

自動回答・未解決問わず、すべての問い合わせをNotionに記録します。

  1. 「Notion > Create a Database Item」モジュールを追加
  2. データベース: 「問い合わせ履歴」
  3. 各フィールドに以下の情報をマッピング
    • 質問内容: Slackメッセージのテキスト
    • 質問者: Slackユーザー名
    • 回答内容: ChatGPTの回答
    • ステータス: 確信度80以上なら「自動回答済み」、未満なら「対応中」
    • 受付日時: Slackメッセージのタイムスタンプ
    • SlackスレッドURL: メッセージへのパーマリンク

STEP 10: 未解決の質問を担当者に通知する

確信度が低い質問については、人間の担当者にエスカレーションします。

  1. 「Slack > Create a Message」モジュールを追加(もう1つのルート)
  2. 投稿先: 担当者向けの「#ヘルプデスク-未解決」チャンネル(または担当者へのDM)
  3. メッセージ内容:
    【新規問い合わせ】
    質問者: @{{ユーザー名}}
    質問内容: {{質問文}}
    AI回答: {{ChatGPTの回答}}
    確信度: {{スコア}}
    
    この質問への対応をお願いします。
    元のスレッド: {{SlackスレッドURL}}
    Notion記録: {{NotionページURL}}
    

担当者は、Slackの通知から直接元のスレッドに飛んで回答できます。

STEP 11: シナリオをテストして本番稼働

  1. Makeのシナリオ画面で「Run once」をクリックしてテスト実行
  2. Slackの「#質問・ヘルプデスク」チャンネルに実際に質問を投稿してみる
  3. 自動回答が返ってくるか、Notionに記録されているかを確認
  4. 問題なければ、シナリオを「ON」にして本番稼働開始

つまづきポイント: 最初のテストでは、わざと「FAQに載っていない質問」も試して、未解決フローが正しく動くか確認しましょう。例えば「明日の天気は?」など、業務と関係ない質問を投げてみると、エスカレーション通知が届くはずです。

自動化前後でどう変わるか(ビフォーアフター)

作業時間の変化

項目 自動化前 自動化後
1件あたりの回答時間(定型質問) 5〜10分 数秒(自動)
1日の問い合わせ件数 20件 20件
担当者の対応時間/日 100〜200分(約2〜3時間) 20〜40分(複雑な質問4〜5件のみ)
削減時間 約80〜160分/日

定型的な質問が全体の80%を占めると仮定すると、1日あたり1.5〜2.5時間の削減が期待できます。月20営業日で計算すると、月間30〜50時間の削減になります。

回答の速さと正確性

  • 自動化前: 担当者が他の作業をしている場合、回答まで30分〜数時間かかることも。回答内容も担当者によってバラつきがあった
  • 自動化後: 定型質問には数秒で回答。FAQに基づいた統一された回答が提供されるため、情報の正確性と一貫性が向上

ミスの起こりやすさ

  • 自動化前: 口頭やチャットでの回答は記録が残りにくく、「言った・言わない」のトラブルや、古い情報を伝えてしまうミスが発生
  • 自動化後: すべての問い合わせと回答がNotionに記録され、監査可能。FAQの更新も一元管理されるため、常に最新情報を提供できる

メンバー間の共有のしやすさ

  • 自動化前: 「この質問、前にも誰かが聞いてたな」と思っても、過去のやり取りを探すのが困難
  • 自動化後: Notionで全履歴を検索可能。同じ質問が繰り返される場合は、FAQに追加することで次回から自動対応できる

応用・拡張アイデア

多言語対応を追加する

グローバル企業の場合、ChatGPTのプロンプトに「英語で質問された場合は英語で回答してください」と追記するだけで、多言語対応が可能です。NotionのFAQデータベースに英語版の回答も追加しておくと、より精度が高まります。

カテゴリ別に担当者を自動振り分け

ChatGPTに質問のカテゴリを判定させ、「情シス関連は@田中さん」「経理関連は@佐藤さん」のように、担当者を自動で振り分けることも可能です。Notion側でカテゴリごとの担当者マッピングを用意しておき、Makeで参照します。

回答テンプレートの提案機能

未解決の質問については、ChatGPTに「回答のドラフト」を作成させ、担当者に提示する方法もあります。担当者は、ドラフトを確認・修正するだけで済むため、回答作成の時間を短縮できます。

定期的なFAQ更新リマインド

Makeで週次または月次のスケジュールトリガーを設定し、「よくある質問トップ10」をNotionから抽出してSlackに投稿する機能を追加できます。これにより、「この質問が多いからFAQに追加しよう」という改善サイクルを回しやすくなります。

音声入力対応(Slack Huddleとの連携)

Slack Huddleの文字起こし機能と組み合わせれば、音声での質問も自動でテキスト化し、同じワークフローで処理することが可能です。電話対応の削減にもつながります。

外部ツールとの連携(Google Calendar、Jira、Zendeskなど)

「会議室の予約方法」ならGoogle Calendarと連携して空き状況を確認、「システム障害の報告」ならJiraにチケットを自動作成、といった拡張も可能です。Makeの豊富なコネクタを活用して、さまざまな業務システムと繋ぎましょう。

よくある質問・つまづきポイントQ&A

Q1: ChatGPTの回答が毎回微妙に違うのですが?

A: temperatureパラメータを低く設定してください(0.1〜0.3を推奨)。これにより、より一貫性のある回答が得られます。また、プロンプトに「FAQデータベースの内容をそのまま引用してください」と明記すると、回答のブレが少なくなります。

Q2: トリガーが発火しない、Makeシナリオが動かない

A: 以下を確認してください。

  • Slackアプリの権限設定: 「channels:history」「chat:write」などの必要なスコープが付与されているか
  • Notion APIの接続: データベースへのアクセス権限が正しく設定されているか
  • Makeのシナリオがオンになっているか
  • 無料プランの場合、実行回数の上限に達していないか

Q3: 同じ質問に何度も回答してしまう

A: Slackのスレッド内の返信をトリガーから除外する設定が必要です。Makeのフィルターで「Thread Timestamp」が空(新規投稿)の場合のみ実行するように設定してください。

Q4: ChatGPT APIの料金が心配です

A: GPT-4oモデルの場合、1回の問い合わせ(約1000トークン)あたり0.5〜1円程度です。1日20件の問い合わせで月額300〜600円程度と考えられます。より安価なGPT-3.5-turboモデルを使用すれば、さらにコストを抑えられます(精度はやや下がります)。

Q5: セキュリティが心配です。機密情報が漏れませんか?

A: OpenAI APIのデフォルト設定では、送信されたデータはモデルの学習には使用されません。ただし、社外秘の情報を含む質問については、以下の対策を推奨します。

  • プロンプトに「機密情報を含む質問には回答せず、担当者に確認するよう案内してください」と指示
  • Notion FAQには機密情報を含めず、「詳細は〇〇担当者まで」といった誘導文のみ記載
  • Azure OpenAI ServiceやAWS Bedrockなど、よりセキュアな環境でのAPI利用を検討

Q6: FAQに載っていない新しい質問が来た時の対応は?

A: 担当者がSlackで回答した後、その内容をNotionのFAQデータベースに追加してください。これにより、次回から同じ質問に自動回答できるようになります。週に1回程度、未解決だった質問を見直してFAQを更新するルーティンを作るとよいでしょう。

Q7: ChatGPTが誤った情報を回答してしまったら?

A: Notionの問い合わせ履歴に「回答の評価」プロパティを追加し、質問者または担当者がフィードバックできるようにしましょう。誤回答があった場合は、FAQデータベースの該当項目を修正するか、プロンプトに「この質問には注意して回答してください」といった補足を追加します。また、重要な情報(規程やコンプライアンス関連)については、「確信度80以上でも担当者承認が必要」というルールを設けることも検討してください。

まとめ: まずどこから着手すべきか

このワークフローを一気に構築しようとすると、設定項目が多く挫折しがちです。段階的に導入することをおすすめします。

フェーズ1(1週間): FAQデータベースの整備

まず、NotionにFAQデータベースを作成し、頻出する質問10〜20件を登録します。この段階では自動化はせず、担当者が手動で参照する運用でも構いません。「どんな質問が多いか」を把握することが最初のステップです。

フェーズ2(2週間): 基本的な自動回答フローの構築

Slack → Make → ChatGPT → Slackの基本フローを構築します。最初は「確信度判定」をスキップして、すべての回答に「(自動回答・要確認)」といった注釈をつけて投稿する形でテスト運用します。

フェーズ3(3〜4週間): 確信度判定とエスカレーションの追加

自動回答の精度が安定してきたら、確信度判定を追加し、高確信度の質問のみ完全自動回答、低確信度はエスカレーションという本格運用に移行します。

フェーズ4(継続的改善): FAQの拡充と精度向上

週次でNotionの問い合わせ履歴を振り返り、「この質問は今後も来そうだ」と思ったものをFAQに追加します。3ヶ月程度続けると、自動回答率が50% → 70% → 80%と向上していきます。

最初の一歩

「いきなり完璧を目指さない」ことが成功のコツです。まずは「頻出質問トップ5」だけをNotionに登録し、Slackで質問が来たらMakeで通知を飛ばすという簡単なフローから始めてみてください。そこから徐々にChatGPT連携や自動回答を追加していけば、無理なく80%自動化の理想形に到達できます。

社内の問い合わせ対応に追われている方は、ぜひこのワークフローを試してみてください。定型業務から解放され、より付加価値の高い業務に時間を使えるようになるはずです。