kintone×Dify連携!AIチャットボットで問い合わせ自動化

社内の問い合わせ対応に追われ、コア業務に集中できない悩みを解決しませんか?kintoneとDifyを活用したAIチャットボットを開発する具体的な手順を解説します。プログラミング不要で賢い社内アシスタントを構築し、業務負担を劇的に削減する方法がわかります。

「社内ポータルにFAQを載せているのに、結局同じ質問が何度も寄せられる…」

「問い合わせ対応に多くの時間を取られ、本来のコア業務に集中できない…」

「担当者によって回答の質がバラバラになってしまう…」

こうした課題は、多くの企業のバックオフィス部門や情報システム部門が抱える共通の悩みではないでしょうか。

この解決策として、多くの企業で導入されている業務改善プラットフォーム「kintone」に蓄積されたFAQデータと、AIチャットボット開発プラットフォーム「Dify」を連携させる方法が、今注目を集めています。この2つを組み合わせることで、プログラミングの知識がなくても、驚くほど簡単に高機能なAIチャットボットを構築できるのです。

本記事では、kintoneとDifyを連携させ、24時間365日稼働する賢い「社内アシスタント」を開発する方法を、準備から実装まで、ステップ・バイ・ステップで具体的に解説します。

なぜkintoneとDifyを連携させるのか?4つの大きなメリット

kintoneに蓄積されたFAQデータをDifyを使ってチャットボット化することには、以下のような強力なメリットがあります。

1.問い合わせ対応の負担を劇的に軽減

よくある質問にはAIが自動で回答するため、担当者の対応工数を大幅に削減し、より創造的な業務にリソースを集中できます。

2.24時間365日の対応が可能に

チャットボットは休日や夜間でも稼働するため、ユーザーはいつでも疑問を自己解決できます。

3.専門知識は不要!ノーコードで簡単設定

kintoneもDifyも、プログラミングの知識なしで設定が可能です。情報システム部門だけでなく、現場の担当者でも構築・運用ができます。

4.FAQのメンテナンスが簡単

チャットボットの知識を更新したい場合、kintoneのFAQアプリの情報を修正するだけです。チャットボット側も自動で最新の情報に基づいて回答してくれるため、メンテナンスの手間がかかりません。

構築の全体像と必要なもの

実際に構築を始める前に、全体像と準備するものを見ていきましょう。この記事の手順を読み進めるにあたり、以下のツールと準備が必要になります。

必要なツール

・kintone:FAQデータを蓄積・管理するためのデータベースとして利用

・Dify:kintoneのデータを参照して回答を生成するAIチャットボットを作成

事前準備と全体像

構築作業に入る前に、「どのような仕組みを作るのか(全体像)」と「手元に何を用意すべきか(事前準備)」を明確にしておきます。

1.システムの全体像

今回構築するのは、以下のフローで動作するシステムです。

・ユーザーがDify(チャットボット)に質問する

・Difyがkintone(FAQアプリ)の中身を検索・参照する

・Difyがkintoneの情報をもとに回答文を生成し、ユーザーに返す

つまり、「kintoneは知識を溜めておく場所」「Difyはその知識を引き出して答える係」という役割分担になります。

2.事前準備

次のセクションから始まる手順をスムーズに進めるため、以下の2点だけ事前に確認をしておきましょう。

・kintoneのアカウントと権限

アプリの新規作成権限およびAPIトークンの発行権限を持つアカウントでログインできる状態にしておいてください。

・Difyのアカウント

Difyのアカウントを作成し、ログインできる状態にしておいてください。

具体的な「FAQアプリの作成」や「チャットボットの設定」は、次のステップから一つずつ解説しますので、ここではアカウントの準備だけで大丈夫です。

チャットボット構築の具体的な流れ:準備から実装までの2ステップ

ここからは、実際にチャットボットを構築する手順を、「準備編」と「実装編」に分けて詳細に解説します。

【準備編】kintoneでFAQデータベースとなるアプリを作成する

AIチャットボット構築、最初のステップは、AIの「頭脳」となる知識の源泉、FAQデータベースの準備から始めます。

ここでは、kintoneを使って質問と回答を蓄積するための専用アプリを作成し、Difyがその情報へ安全にアクセスするための「鍵」となるAPIトークンを発行します。この土台作りが、後のチャットボットの応答精度を高める重要なポイントです。

画面の指示に沿って、一つずつ進めていきましょう。

FAQアプリの作成

kintoneで新規にアプリを作成します。アプリのフィールドとして、最低限以下の3つを配置してください。

・カテゴリ(ドロップダウン or 文字列(1行)フィールド)

・質問(文字列(複数行)フィールド)

・回答(文字列(複数行)フィールド)

APIトークンの発行

次に、作成したアプリにDifyが安全にアクセスするための「APIトークン」を発行します。

1.FAQアプリの設定画面を開き、「設定」タブの中にある「APIトークン」を選択

2.「生成する」ボタンをクリックして新しいトークンを作成

3.アクセス権の項目で、「レコード閲覧」にのみチェック

4.「保存」をクリックし、忘れずに画面上部の「アプリを更新」ボタンを押下

【実装編】Difyでチャットボットの処理フローを構築する

kintoneの準備が整ったら、いよいよDifyでチャットボットの頭脳部分を構築していきます。ここからは、Difyのワークフローにブロックを一つずつ配置し、設定していく作業を丁寧に見ていきましょう。

開始ブロック

ワークフローの出発点です。ここでは会話のきっかけとなるオープニングメッセージと選択肢ボタンを設定し、ユーザーが最初の質問を選びやすいようにガイドします。

IF/ELSEブロック

次に配置するのが、処理の流れを分ける「交差点」の役割を持つIF/ELSEブロックです。ユーザーが開始ブロックで提示されたボタンをクリックしたか、それとも自由にテキストを入力したかで、後の処理を分岐させます。

・ボタンをクリックした場合(IFルート):開始ブロックからはカテゴリ名(例:「自動化装置」)だけが出力されます。このキーワードを条件に設定し、IFのルートに進ませることで、カテゴリに沿った対話へと誘導します。

変数代入ブロック(IFルート)

IFルートに進んだら、まずこのブロックで「今どのカテゴリについて話しているか」をチャットボットに記憶させます。

事前に「Category」という名前の変数を用意しておき、ユーザーが選んだカテゴリ名をここに代入します。この「記憶」が、後続の処理で正しい情報を引き出すための鍵となります。

回答ブロック(IFルート)

カテゴリを記憶させたら、次はこの回答ブロックで「〇〇についてですね。どのような情報が必要ですか?」といった具体的な質問を投げかけ、ユーザーからさらに詳しい情報を引き出します。

質問分類器ブロック(ELSEルート)

IF/ELSEブロックで条件が一致しなかった場合、つまりユーザーがボタンを押さずに自由な文章で質問してきた場合は、こちらのELSEルートに進みます。

ここでの主役が質問分類器ブロックです。これは、AIの自然言語理解能力を使って、ユーザーの質問文がどのカテゴリに最も近いかを賢く推論してくれる機能です。このブロックがユーザーの意図を汲み取ってくれるおかげで、チャットボットはより柔軟な対話が可能になります。

変数代入ブロック(ELSEルート)

このブロックは必須ではありませんが、設置することで、より親切なチャットボットになります。

質問分類器が推論したカテゴリ名をここで「Category」変数に上書き保存します。万が一ユーザーが会話の途中で話題を変えても、チャットボットは新しいカテゴリに沿って応答を続けることができます。

HTTPリクエストブロック

さて、IFとELSE、どちらのルートを辿っても、この段階で「Category」変数に調査すべきカテゴリ名が格納されているはずです。ここからはいよいよkintoneとの連携です。

このブロックを使って、kintoneのFAQアプリから必要な情報だけを取得します。

URL:

GET https://{貴社のサブドメイン}.com/k/v1/records.json

ヘッダー:

・X-Cybozu-API-Token:発行したAPIトークン

・Content-Type:application/json

パラメータ:

なし

ボディ:

{

“app”: 5,

“query”: “カテゴリ in (\”{Categoryを指定}\”)”,

“fields”: [ “質問”, “回答”]

}

※このようにカテゴリで絞り込むことで、APIのトークン消費量を節約し、AIに余計な情報を与えずに応答精度を高めることができます。

LLMブロック

kintoneから取得したFAQデータ(事前情報)を使って、AIにユーザーへの回答文を生成させる、チャットボットの「頭脳」です。

SYSTEM欄に以下のようなプロンプト(指示文)を入力し、AIの振る舞いをコントロールします。

あなたの役割は、事前情報をもとに適切な回答を提供すること です。

ただし、事前情報に含まれていない場合は、一定のルールに従い対応してください。

【ルール】

・事前情報に基づく回答を優先する。

・事前情報にない場合は、以下の形式で回答する:

 1.まず、「準備した情報には記載がありません」と伝える。

 2.その後、「私の見解では…」と一般的な回答を提供する。

 3.最後に、「これは私の見解であり、準備している情報ではありません」と明記する。

・回答は簡潔かつ明確にする。

【事前情報】

{{#context#}}

テンプレートブロック

回答を提示するだけでなく、ユーザーが次に行いたいアクションをスムーズに選べるよう、カテゴリ選択ボタンを再度表示させるためのブロックです。

以下のコードで、会話の冒頭と同じ選択肢ボタンを用意します。

<button data-message=”FAシステム”>FAシステム</button>

<button data-message=”電装システム”>電装システム</button>

<button data-message=”自動化装置”>自動化装置</button>

<button data-message=”省エネルギー”>省エネルギー</button>

<button data-message=”IotとAI”>IotとAI</button>

<button data-message=”アフターサポート”>アフターサポート</button>

回答ブロック

いよいよ最終出力です。LLMブロックが生成した回答文と、テンプレートブロックで作成したボタン群をここで合体させて、ユーザーのチャット画面に表示します。

LLMブロック(質問分類器で”その他”だった場合)

最後に、ユーザーがFAQと全く関係のない質問をしてきた場合の対応(エラー処理)を定義します。

質問分類器に「その他」というクラスを設定しておき、どのカテゴリにも当てはまらなかった質問をこのルートに流します。

そして、このLLMブロックで「申し訳ありませんが、ご用意している情報以外のことはお答えできません」といった固定のメッセージを返すように指示しておけば完了です。

まとめ|AIチャットボットで業務効率化の第一歩を!

今回は、kintoneとDifyという2つの強力なノーコードツールを連携させたAIチャットボットの開発方法を紹介しました。問い合わせ対応を自動化することで、従業員の負担を軽減し、より創造的な業務に集中できる環境を整えることができます。

「AIを活用してみたいが、何から手をつければいいか分からない」

「プログラミングはできないが、現場の力で業務改善を進めたい」

もしこのようにお考えでしたら、まずは本記事で紹介したFAQチャットボットの開発から、業務効率化の第一歩を踏み出してみてはいかがでしょうか。

CONTACT

株式会社TWOSTONE&Sonsグループでは
60,000人を超える
人材にご登録いただいており、
ITコンサルタント、エンジニア、マーケターを中心に幅広いご支援が可能です。
豊富な人材データベースと創業から培ってきた豊富な実績で貴社のIT/DX関連の課題を解決いたします。

  • コンサルティング対応
    コンサルティング
  • 内製化支援・人材紹介・派遣対応
    内製化支援・人材紹介・派遣
  • 受託開発対応
    受託開発

幅広い支援が可能ですので、
ぜひお気軽にご相談ください!