Copilotとkintoneを連携したAIエージェントを構築しよう
はじめに
本記事では、
kintone OpenAPI Spec
を使って、Copilot Studioでカスタムエージェントを構築する手順例を紹介します。
カスタムエージェントを構築すると、Microsoft CopilotのAIエージェントが自社のkintoneデータをもとに回答やタスクを実行できるようになり、ビジネスの現場でAIとデータをより活用しやすくなります。
Copilot Studioについて
Microsoftでは
責任あるAI
を採用しており、AIを安心してビジネスの中で活用できるツールやサービスが開発されています。
Copilot Studio
は、Microsoftの高度なセキュリティ要件を保った状態で、社内データを扱う自社独自のAIエージェントをノーコード/ローコードで作れるサービスです。
そのため、外部に漏れてはいけない社内情報を使った回答をAIに生成させたり、自社専用のカスタムエージェントを社内に公開したりすることも安心して行えます。
そして、Copilot Studioでは、外部のシステムやAPIをAIエージェント自身に「ツール」として登録できます。
本記事でも、このしくみを使ってkintoneをツールとしてAIエージェントに追加します。
kintoneとの連携・認証のしくみ
AIエージェントとkintoneの連携を設計する際は、まず次の3つの観点で要件を整理しましょう。
- 利用できるユーザー
- 利用できるアプリ
- 利用できる操作
連携できても、これらが過剰な権限(スコープ)設定になっていると、意図せずデータをAIに読み込まれたり書き換えられたりする恐れがあるためです。
特に「利用できるユーザー」の扱いは、kintoneとの認証方式によって変わるので、あらかじめ押さえておきましょう。
APIトークン認証とOAuthクライアント認証
kintoneとCopilotの認証方式には、主に次の2つがあります。
ユーザーをcybozu.com側で厳密に絞り込みたい場合はOAuth、まずは手軽に構築したい場合はAPIトークンが向いています。
OAuthクライアントを利用する場合は、次のページを参照してください。
OAuthクライアントを追加する
| APIトークン認証 | OAuthクライアント認証 | |
|---|---|---|
| 発行単位 | アプリごと | cybozu.com全体で1つ |
| 権限の主体 | トークンに紐づく固定の権限 | ログインした個々のユーザーの権限で動作 |
| 認証フロー | リクエストヘッダーにトークンを付与 | cybozu.comではAuthorization Code Grant(認可コードグラント)を利用 |
| 利用できるユーザー | kintoneアプリ管理者権限をもつユーザー | cybozu.com共通管理権限をもつユーザー |
| 設定の手間 | 少ない | やや多い |
本記事では、より手軽なAPIトークン認証を使って手順を紹介します。
今回の、APIトークン認証での連携の全体像は、次のとおりです。
- kintoneでできる操作を定義したOASを読み込ませて、「
カスタムコネクタ
」を作成する。
- 作成したカスタムコネクタを、Copilot Studioで作成するエージェントに「ツール」として設定。このとき、kintoneアプリのAPIトークンを「コネクション」として設定する。
- 完成したエージェントをMicrosoft 365 Copilotなど組織内に公開し、業務で利用する。
ポイントは、カスタムコネクタを1つ作成するだけでよいことです。
カスタムコネクタは複数のアプリ・エージェントで再利用できるため、新しく連携したいアプリが増えても、そのアプリ用のAPIトークンでコネクションを設定するだけで、同じカスタムコネクタをツールとして使い回せます。
補足
カスタムコネクタを作らずに、
HTTP要求ノード
を使って連携させることもできます。
1つのエージェントで単発的に連携する場合はHTTP要求ノードでも十分ですが、次のような場合は本記事のようにOpenAPI Specからカスタムコネクタを作成しておくと管理しやすくなります。
- 複数のエージェントで同じ操作を使い回したい場合
- 認証情報を管理しやすくしたい場合
- Power Automateなど他のMicrosoft Power Platform製品でも使いたい場合
完成イメージ
カスタムエージェントの完成イメージは、次のとおりです。
Microsoft 365のCopilotに、kintoneと連携するAIエージェント「営業アシスタント」が追加されます。
今回は、AIができる操作を、シンプルにレコードの取得、登録、更新に絞ったエージェントを作成します。
このように、Copilotからアクセスできるアプリ、APIを制限できるので、「このアプリだけを、限られた権限の範囲でAIに使わせたい」 といった要件を実現できます。
事前に必要なもの
本記事の設定手順の再現に必要なものは次のとおりです。
- ユーザーは、Microsoft 365 Copilotを使用できるライセンスを持っていること
- エージェント作成者は、Copilot Studio環境にアクセスし、エージェントを作成できる権限を持っていること
STEP1:kintoneアプリ側の準備
はじめに、Copilotと連携したいアプリを検討します。
アプリの設定画面で、APIトークンを発行してください。
APIトークンの生成方法は、次のページを参照してください。
APIトークンを生成する
本記事では、例としてサンプルアプリ
SFA(営業支援)パック
を使用します。
次の表のとおり、「レコード閲覧」、「レコード追加」、「レコード編集」のアクセス権にチェックを入れて作成します。
| アプリ | レコード閲覧 | レコード追加 | レコード編集 |
|---|---|---|---|
| 顧客管理アプリ | ○ | ○ | - |
| 活動履歴アプリ | ○ | ○ | ○ |
| 案件管理アプリ | ○ | ○ | - |
APIトークンは、あとで使うのでコピーして控えておきます。
STEP2:OpenAPI Spec(OAS)の用意
次に、OpenAPI Specを準備します。
公式で提供している
kintone OpenAPI Spec
は、OpenAPI3.0です。
一方、Copilotでは、OpenAPI2.0のみサポートされているため、2.0に対応したOASのJSONまたはYAMLファイルを用意する必要があります。
今回、Copilotが扱えるkintone REST APIは次のとおりです。
フィールドを取得する
APIは、各アプリにどんなフィールドがあるかをエージェント自身で取得して、理解するのに役立ちます。
これらのAPIを定義したOAS2.0のJSONファイルのサンプルsample.jsonを用意しました。
sample.json全体をコピーして保存したあと、"host": "sample.cybozu.com"の部分をご自身のサブドメインに書き換えてください。
sample.json
|
|
補足
他のAPIも含みたい場合は、次の記事を参考にしてください。
Microsoftカスタムコネクタ用kintoneのOpenAPI Spec2.0を作成する
次のMicrosoftの公式ドキュメントも参考にしてください。
OpenAPI 定義からカスタム コネクタを作成する
STEP3:ソリューションの作成
Copilot StudioでAIエージェントを作成する際には、ソリューション設定が求められます。
ソリューション設定が必要な理由は、開発・テスト・本番の環境間移行(ALM)と組織的なガバナンス管理を安全に行うためです。
-
Power Appsで ソリューションの作成
の手順にしたがって、ソリューションを作成する。
-
[NEW solution]をクリックし、任意のソリューション名「例:kintone-copilot」を入力して作成する。
-
作成したソリューションの画面で、[New]をクリックし、[Automation]の中の[Custom connector]をクリックする。
STEP4:カスタムコネクタの作成
カスタムコネクタの作成手順の詳細は、次のページも参照してください。
カスタム コネクタを最初から作成する
-
STEP3で、Power Automateに遷移して次のようなカスタムコネクタの作成画面が表示される。
-
左上のConnector Nameで、任意のコネクタ名「例:kintone-Connector」を入力する。
-
Swagger editorを開き、 STEP2 で用意したOAS
sample.jsonをペーストする。 -
次の内容を確認する。
- [General]タブ:Hostが連携したいkintoneのサブドメインになっていること
- [Security]タブ:認証方式がAPIキーになっていること
- [Definition]タブ:OASで定義したAPIアクションが表示されていること
-
[Create connector]をクリックする。
カスタムコネクタの動作確認
-
作成したカスタムコネクタの[Test]タブを開く。
-
Connectionsの[New connection]をクリックする。
-
STEP1で控えた、kintoneアプリのAPIトークンを入力する。
-
作成したカスタムコネクタの[Test]タブ画面を再度開き、次のように表示されていることを確認する。
-
各エンドポイントのテストを実行する。
レコード登録や更新は、[Raw Body]スイッチをONにして次のようにリクエストボディを記入してテストを実行する。
以下は、kintoneのサンプルアプリ「SFA(営業支援)パック」の顧客管理アプリのリクエストボディ例です。
addRecordsのリクエストボディ例
|
|
updateRecordsのリクエストボディ例
|
|
Statusが200で返ってきたら、カスタムコネクタの作成は成功です。
STEP5:エージェントの作成
現在、Copilot Studioには複数の「ハーネス(実行基盤)」があり、エージェント作成時にどちらを使うか選択して作成します。
- 自律型のAIエージェント「Agent(GitHub Copilot)」
- 従来型のルールベースのAIエージェント「Agent(Standard)」
5.1 エージェントの選択
主なエージェントの違いは次のとおりです。
| Agent | 特徴 | ハーネス | 向いている業務 |
|---|---|---|---|
| Agent(GitHub Copilot) | 人が目的を伝える。エージェントは、ナレッジ、ツール、Skillsなどを組み合わせ、状況に応じて実行計画を自ら考える。 | GitHub Copilotハーネス | 決められた道ではなく、目的と現在の状況を確認しながら進め方を考えて進めてほしい業務。横断調査や根拠照合が必要な業務。 |
| Agent(Standard) | 人が処理を細かく設計する。エージェントは、ルールベースに動くため、同じ入力に対して同じ処理を実行させやすい。 | 標準ハーネス | あらかじめ定義された会話や処理を、できるだけ同じ流れで実行したい業務。一貫性のある予測可能な動作を期待し、即答が必要な定型業務。 |
たとえば「kintoneの顧客管理アプリと活動履歴アプリをみて、商談が停滞している顧客を分析し、次のアクションを資料にまとめて」のような指示を考えてみます。
このように、都度必要なデータの集め方や分析の切り口をAI自身に考えさせたい場合は「Agent(GitHub Copilot)」が向いています。
一方、社内FAQアプリに登録済みの質問に対して、毎回同じ手順を必ず案内してほしい場合は「Agent(Standard)」が向いていると考えられます。
2026年9月2日、Copilot StudioにGitHub Copilotハーネスが追加され、「Agent(GitHub Copilot)」が使えるようになりました。
ハーネスの詳細は、
Copilot Studio のハーネス
を参照してください。
なお、エージェントを選ぶ際は、機能だけでなく、Copilotクレジットの消費についても確認が必要です。
費用は条件によるため、ライセンス、Copilotクレジットの適用条件については、Microsoft公式情報を確認してください。
5.2 エージェントの新規作成
-
Copilot Studio
ホームで、[Agents]を開き、[New agent]から「Agent(GitHub Copilot)」または「Agent(Standard)」を選択する。
- 任意のエージェント名「例:営業アシスタント」を入力する。
- 「Agent(Standard)」の場合、作成時に言語、 STEP3 で作成したソリューションを設定する。「Agent(GitHub Copilot)」の場合、エージェント公開前に「Settings」パネルで言語・ソリューションを設定する。
5.3 エージェントの設定
「Agent(GitHub Copilot)」と「Agent(Standard)」で、設定内容や画面が異なるため、最低限kintoneとの連携に必要な内容だけ説明します。
インストラクションの設定
インストラクションには、エージェントの役割や振る舞いを指示します。
次のような観点で内容を盛り込んでおくと、kintoneを安全かつ意図したとおりに動作しやすくなるので任意で参考にしてください。
| 観点 | 内容 |
|---|---|
| 役割・対応範囲 | エージェントが何を担当し、何を担当しないか |
| 対象アプリ・フィールド | 操作してよいアプリID、操作してほしくないフィールド |
| 更新・登録前の確認 | 実行前にユーザーへ変更内容を提示し、承認を得るかどうか |
| 情報の取り扱い | 回答や処理ログに含めてよい情報の範囲、個人情報・機密情報の引用をどこまで許容するか |
| エラー時の対応 | エラーをどう分かりやすく伝えるか、解決できないときにエスカレーションする担当者 |
Toolsの設定
作成したカスタムコネクタをエージェントにツールとして追加します。
先ほどOpenAPI Specで定義したアクションが指定できるようになっているので、必要なツールを追加します。
-
[Tools]セクションで[Add a tool]ボタンをクリックする。
-
作成したカスタムコネクタのアクション(例:Get records)をクリックする。
-
Connectionで、[Create new connection]をクリックする。
-
任意の名前「例:顧客管理・活動履歴・案件管理」、api_keyにアプリのAPIトークンを入力して、[Add and configure]をクリックする。複数アプリへのコネクションの場合は、**カンマ区切りでAPIトークンを入力(順不同)**する。
-
作成されたToolの画面で、Connectionが正しいことを確認する。
-
その他のアクションも、同様にツールを追加する。次のようになれば、ツールの設定は完了です。
その他の設定
上記以外にも、使用するAIモデルや、kintone以外に参照させたいナレッジ(Knowledge)、定型処理をまとめたSkills、会話の流れを制御するTopicsなどを必要に応じて追加できます。
任意で設定してください。
「Agent(Standard)」では、Topicsで会話のフローをあらかじめ設計することで、エージェントが行う処理を制御できます。
Topicsを設定しなくてもエージェントは応答しますが、AIへ必ず守らせたい業務フローがある場合は、Topicsで明示的なフローとして定義しておくと動作が安定します。
詳細は、以下を参考にして設定してください。
5.4 エージェントの動作テスト
「Agent(Standard)」では「Test」、「Agent(GitHub Copilot)」では「Preview」と呼ばれる、チャットウィンドウで次のようなテストシナリオを入力し、kintoneアプリと連携できているか確認します。
| シナリオ | 入力する内容の例 |
|---|---|
| 1: 検索 | 「案件管理アプリと活動履歴アプリから最近の営業活動の成果をまとめてください。」 |
| 2: 登録 | 「〇〇株式会社の「テスト案件」を新規登録してください。入力が必要な項目は答えるので聞いてください。」 |
| 3: 更新 | 「〇〇株式会社の住所を更新してください。会社のホームページを調べて入力してください。」 |
| 4: 権限外の操作 | 「〇〇株式会社の顧客情報を削除してください」(削除は許可していないため、対応できない旨が返ることを確認) |
| 5: 未連携アプリへの問い合わせ | 「経費精算アプリの今月の申請状況を教えてください」(連携していないアプリのため、対応できない旨が返ることを確認) |
Copilot StudioのEvaluation機能を使うと、エージェントの自動テストができます。
kintoneとの接続に失敗する場合は、ConnectionのStatusに問題があるかもしれません。
エージェントのSettingsからConnection Settingsを開いて、ステータスが「Connected」になっていることを確認してください。
STEP6:作成したエージェントの公開
6.1 エージェントの公開設定
次のページの手順にしたがって、作成したAIエージェントをMicrosoft 365やMicrosoft Teamsで使えるようにしましょう。
TeamsアプリストアまたはMicrosoft 365エージェントストアでエージェントを表示する
-
Copilot Studio
で作成したエージェントを開き、[Publish]をクリックして公開する。
-
[Channels]をクリックし、Microsoft channelsの「Microsoft 365 and Microsoft Teams」をクリックする。
-
[Add channel]ボタンをクリックする。
-
[Availability options]ボタンをクリックし、組織内で共有するユーザーを設定する。
6.2 Microsoft 365 Copilotからエージェントを利用する
-
Microsoft 365
を開く。
-
Agent Store
画面で、追加したカスタムエージェントの名前を検索し、追加する。
作成したエージェントを実際に使ってみましょう。
顧客情報の検索を依頼
顧客管理アプリのレコードを検索するよう依頼すると、次のように回答してくれます。
権限外の操作を依頼
編集権限のないアプリの更新や、連携していないアプリへの操作を依頼すると、次のように対応できない旨を案内してくれます。
kintoneのデータを取得して分析、グラフ化まで依頼
「Agent(Standard)」と「Agent(GitHub Copilot)」のエージェントを比較しました。
この例のように、AI自身に「どのデータをどうわかりやすく出力するか」を考えさせる指示には、「Agent(GitHub Copilot)」が適切に対応してくれました。
上記の指示で実際にエージェントが作成した図はこちらです。
このように、公開したエージェントは、許可した範囲でkintoneのデータを的確に扱い、範囲外の依頼は正しく断ってくれることを確認できました。
おわりに
Copilot Studioで、kintoneと連携した自社専用のカスタムAIエージェントを構築する例を紹介しました。
今回は、SFA(営業支援)のアプリを使用して説明しましたが、たとえば以下のようなユースケースでも利便性を得られます。
- 受注に関わるアプリのデータを横断的にみて、受注・出荷管理業務を対応するエージェント
- kintoneの問い合わせ管理アプリに蓄積された過去の対応履歴をみて、似た問い合わせが来た際に対応するエージェント
今回はシンプルな例として、チャットでの回答にとどめましたが、検索したデータを他のデータベースに保存する、関係者へメールを自動返信するといった業務効率化・自動化を行うエージェントも作成できます。
本記事がCopilotとkintoneを連携して、ビジネスの現場でAIを活用するヒントになれば幸いです。
補足
カスタムエージェントが向いているのは、あいまいな判断を伴う業務です。
判断を伴わない定型処理の場合は、本記事で作成したカスタムコネクタをそのままPower Automateのフローで使い、自動化したほうがシンプルな場合もあります。
業務の性質に合わせて、適切な方法を選びましょう。
このTipsは、2026年10月版kintoneで動作を確認しています。
