はじめに
「kintoneに情報を入れているけど、あまり活用できていない」
そんな声、聞いたことはないでしょうか。
kintoneで業務管理をしている組織でよく起きる課題のひとつが、情報は蓄積されているが活用されないという問題です。
案件情報をkintoneで管理していて、一覧やグラフで確認できるはずなのに、面倒だからと直接担当者に確認してしまう。
結果として、「何のために入力しているのか」がわからなくなる。
そんなケースは珍しくないはずです。
このような課題に対し、kintoneに蓄積されたデータを手軽に活用できる方法として、Copilotとの連携が選択肢のひとつになります。
本記事では、kintoneのSFA(営業支援)パックのアプリに対して、Microsoft 365 Copilotのカスタムエージェントから自然言語で問い合わせる連携方法を紹介します。
システム構成
このシステムに登場するコンポーネント
| コンポーネント | 役割 |
|---|---|
| Copilotエージェント | 自然言語を解釈し、適切なツールを呼び出して回答する |
| カスタムコネクタ | OAS 2.0定義をもとにkintoneのAPIへのリクエストを仲介する |
| kintone REST API | レコードの取得エンドポイントを提供する |
| kintoneアプリ群 | 案件情報・顧客情報・活動履歴・担当者情報の4アプリ |
設定手順
アプリの用意
kintoneにはすぐに使えるサンプルアプリが用意されています。
今回はSFA(営業支援)パックを使いました。
パックに含まれるアプリは以下のとおりです。
| アプリ名 | 役割 |
|---|---|
| 顧客情報 | 顧客企業情報を管理するマスター |
| 担当者情報 | 営業担当者の情報を管理するマスター |
| 案件情報 | 営業案件のライフサイクルを一元管理するアプリ |
| 活動履歴 | 案件ごとの商談記録・対応履歴を管理するアプリ |
OAS 2.0のYAML作成
Copilot StudioのカスタムコネクタはOAS 2.0(Swagger)形式のみ受け付けます。
そのため、次のkintoneのAPIドキュメントをベースに、Swagger形式のYAMLを作成します。
ゼロから書くのは手間がかかるため、LLMを活用しました。
以下に参考としてYAMLの例を示します。
|
|
kintone REST APIでスキーマ定義を取得
カスタムエージェントを設定するために、各アプリのフィールド定義を次のkintone REST APIで取得します。
取得したJSONには、フィールドコード・フィールドタイプ・選択肢の値などが含まれています。
各アプリのフィールド情報をCopilotカスタムエージェントに設定することで、自然言語での質問に対して適切なデータを抽出できます。
補足
cybozu developer networkの「今すぐ API を試す」機能
この機能を使うと、ブラウザー上で一部のkintone REST APIを簡単に試せます。
本番環境のkintoneでの利用は推奨していません。
Copilotカスタムエージェントを設定
作成したYAMLをCopilot Studioに登録してエージェントを構成します。
カスタムコネクタの登録
-
Copilot Studio
にサインインし、「ツール」を選択する。
- 「新しいツール」→「カスタムコネクタ」を選択する。
- 「カスタム コネクタの新規作成」→「OpenAPIファイルをインポートします」でYAMLを読み込む。
- 「ホスト」をお使いのkintoneのサブドメインに修正する。
エージェントの作成
Copilot Studioを使ってエージェントを作成します。
エージェントに指示文・ナレッジ・ツールを設定します。
指示文の例
|
|
ナレッジの例
アプリIDはご自身のkintoneの環境に合わせて編集が必要です。
|
|
ツールの例
appとqueryの入力を設定します。
動作確認
次のプロンプトで動作を確認しました。
実行したプロンプト例①
|
|
実行結果
案件情報アプリから受注予定月が2025年10月のレコードを取得し、案件名・会社名などを一覧形式で返してくれました。
実行したプロンプト例②
|
|
実行結果
案件情報と活動履歴を順番に取得し、それぞれを紐付けて回答しました。
複数に分けて取得した情報を統合できることを確認できました。
うまくいかなかった動作
質問によっては、Copilotがクエリを正しく組み立てられないことがあります。
|
|
上記のプロンプトに対して、Copilotは次のクエリを生成しました。
|
|
活動履歴アプリの「対応種別」フィールドには「商談(2回目以降)」(全角括弧)という選択肢が定義されています。
Copilotが括弧を半角に変換したため、クエリエラーが発生しました。
ナレッジに選択肢の値を正確に記載することで、こうしたエラーを減らせます。
おわりに
kintoneのSFA(営業支援)パックのアプリに対して、Microsoft 365 Copilotのカスタムエージェントから自然言語で問い合わせる方法を紹介しました。
kintoneのデータ活用をさらに進められる可能性があるので、ぜひ参考にしてみてください。
関連記事
このTipsは、2026年4月版kintoneで動作を確認しています。
