みなさん、こんにちは!業務ハックLabのようです。
6月に入って、なんとなく社内の問い合わせが増えてくる時期になってきましたね。「Wi-Fiが繋がらない」「パソコンが起動しない」……情シス担当の方、毎日本当にお疲れ様です。
今回は、以前のライブ配信(第1〜3回)で一緒に作った「ITチケットサポートシステム」に、大きな機能追加をしたのでその内容をお届けします!
📋 この記事の要点 ※ 2026年06月時点の情報です
- Copilot StudioにSharePointナレッジを追加すると、AIが障害問い合わせに自動回答できるようになります。
- 「AIが解決できた場合はフロー呼び出しなし」という分岐をInstructionsで制御できます。
- エージェントフローのFlow botでAdaptive CardをTeams個人チャットへ直接送信できます。
- AIはナレッジにない質問に対しても一般知識から自律補完することがあります(重要手順は必ずナレッジへ明記が必須です)。
- 前回作成した定型リクエスト(PC貸与など)の動作はそのまま維持されています。
こんな方におすすめ: Copilot Studioで社内ITサポートを自動化したい情シス担当者・コーポレートエンジニアの方で、「AIに1次回答させて、手に負えない場合だけ担当者にTeams通知したい」という仕組みを作りたい方。
ちなみに今回の内容は動画でもまとめています。 YouTube Liveで実際に作っているところを見ながら一緒に進めたい方はこちらからどうぞ!(チャンネル登録・いいねもしてもらえると嬉しいです)
📖 前回シリーズの記事はこちら:
【Power Platform連携】AIが受付、情シスがアプリで処理!「自律型ITヘルプデスク」構築
第1〜3回で作ったシステムの全体構成はこちらの記事をご覧ください。
【重要】今回追加した機能:「AIが1次対応して、解決できなければ担当者に通知する」
各ステップの実装に入る前に、今回の追加機能の全体像と設計意図を整理しておきます。ここを理解しておくと、各ステップの「なぜそう作るか」がクリアになります。
第1〜3回で作ったシステムでできていたのは、「PCを貸してほしい」「ライセンスを付与してほしい」といった定型リクエストの受付・起票・通知です。エージェントがヒアリングして、Dataverseにチケットを起票し、Power Automateで担当者に通知する流れでした。
ただ、課題が残っていました。「Wi-Fiに繋がらない」「パソコンが起動しない」といった障害報告が来た場合、エージェントは「担当者に繋ぎます」とだけ言って終わり。AIが何も回答できていなかったんです。
今回追加したのはこの2つです。
- AI 1次回答: SharePointのFAQドキュメントを元にAIが障害問い合わせに自動回答する
- エスカレーション通知: AIで解決できなかった場合のみ、担当者のTeamsにAdaptive Cardで通知する

💡 設計のポイント:「AIが解決できた場合はフローを呼ばない」という分岐が肝です。すべての問い合わせでフローを呼ぶのではなく、本当に必要なときだけ担当者に通知が届く設計にしています。
ステップ1:SharePointにナレッジドキュメントを準備する
エージェントに「知識」を持たせるには、まずその知識のもとになるドキュメントをSharePointに用意します。
今回は、社内でよくある障害・問い合わせをまとめたFAQドキュメントをWordファイルで作成しました。構成はシンプルに以下の通りです。
- 問題のタイトル(例:「社内Wi-Fiに繋がらない場合の対処手順」)
- 原因と対処手順(箇条書き)
- 「それでも解決しない場合は担当者へのご案内をします」という文言

💡 ナレッジの品質が回答精度を決める:「詳しくは担当者に確認してください」だけのドキュメントでは、エージェントも同じことしか言えません。操作手順・チェックリスト・注意点まで具体的に書き込んでおくほど、AIの回答が実用的になります。
最後の「解決しない場合は担当者へご案内」という一文を必ずドキュメントに入れておいてください。この文言があることで、エージェントがエスカレーションへの誘導を自然な流れで行えるようになります。
ステップ2:Copilot Studioにナレッジソースを追加する
作成したSharePointドキュメントをCopilot Studioのエージェントに「ナレッジ」として登録します。
⚠️ 先に確認:SharePointの追加オプションは2種類ある
Copilot Studioの「ナレッジを追加」ダイアログを開くと、SharePointの選択肢が2箇所に表示されています。これが混乱ポイントです。

2つのオプションの違いはこの通りです。
- 「おすすめ」セクションのSharePoint(コネクター方式): SharePointサイトのURLを指定してサイト全体・サブパス配下のドキュメントを参照します。ファイルが更新されると自動で反映されます。
- 「ファイルのアップロード」セクションのSharePoint: SharePointから特定のファイルやフォルダを選択してDataverseにアップロードします。ファイルは静的なコピーとして保存されるため、元ファイルを更新しても手動で再アップロードが必要です。
今回は「おすすめ」セクションのSharePoint(コネクター方式)を選択します。FAQドキュメントは継続的に更新されるものなので、自動同期できるコネクター方式の方が運用しやすいためです。
設定手順はこの通りです。
- エージェントを開き、「概要」または「ナレッジ」ページから「ナレッジを追加」を選択する
- 「おすすめ」セクションの「SharePoint」を選択する
- 「項目の参照」からナレッジに追加するファイルを選択します。
- 名前と説明を入力する(説明はできるだけ詳しく書く)
- 「エージェントに追加」をクリックする

💡 「説明」フィールドは手を抜かない: エージェントがジェネラティブオーケストレーションでナレッジを使うかどうかの判断に、この説明が参照されます。「ITサポートに関するFAQが記載されたドキュメント。障害対応・設定変更・機器貸与に関する情報を含む」のように、内容と用途を明記するのが効果的です。
ステータスが「準備完了」になったら、テストパネルで確認しましょう。「社内Wi-Fiに繋がらない」と入力してFAQドキュメントに基づいた回答が返ってくれば成功です。

ステップ3:Instructionsを更新してエスカレーション分岐を制御する
ナレッジを追加しただけでは「AIが回答する→解決しない→担当者に通知」という流れにはなりません。エージェントがどう動くかはInstructionsフィールドで制御します。
今回の実機検証で正常動作を確認したInstructionsの構成は以下の通りです。
あなたは社内ITサポートの一次受付担当です。
従業員からのITサポート依頼をヒアリングし、必要に応じてチケットを起票します。
## 対応スコープ
次の3カテゴリのみ受け付ける:
- PC貸与
- ライセンス付与
- 障害報告
上記以外の質問には「その件については情シスに直接ご連絡をお願いします」と案内する。
## カテゴリ別対応フロー
### PC貸与 / ライセンス付与の場合
次の4つの情報を収集する:
1. カテゴリ(PC貸与 または ライセンス付与)
2. 依頼の詳細(1問のみ:「詳しい状況を教えてください」と聞く)
3. 連絡先メールアドレス
4. 納期
4つの情報がすべてそろった場合にのみ チケット起票フロー を呼び出す。
フロー呼び出し時の変数マッピング:
- Category ← カテゴリ
- Detail ← 依頼の詳細
- Email ← 連絡先メールアドレス
- Deliverydate ← 納期
起票完了後、「依頼を受け付けました。後ほど担当者よりご連絡いたします。」と伝える。
### 障害報告の場合
チケット起票の前に、必ずナレッジベースを参照して自己解決を支援する。
手順は以下の通り:
1. 「どのような障害が発生していますか?詳しい状況を教えてください。」と1問だけ聞く。
2. 回答内容をもとにナレッジベースを検索し、該当する解決手順を案内する。
ナレッジベースに該当情報がない場合は「こちらでは確認できない内容のため、担当者へお繋ぎします」と伝え、手順5へ進む。
3. 案内後に「この手順で解決しましたか?」と確認する。
4. 解決した場合は「解決できてよかったです。他にご不明な点があればいつでもご相談ください。」と伝えて会話を終了する。
5. 解決しなかった場合、または「担当者に繋いでほしい」と言われた場合は、
連絡先メールアドレスのみ追加収集し、 チケット起票フロー を呼び出す。
フロー呼び出し時の変数マッピング:
- Category ← "障害報告"(固定)
- Detail ← ユーザーが最初に報告した障害の内容
- Email ← 連絡先メールアドレス
- Deliverydate ← 今日の日付+3営業日
## 応答スタイル
丁寧かつ簡潔な日本語で回答する。
追加の掘り下げ質問はしない。

重要なのが「ユーザーが解決したかどうかを確認してからフローを呼ぶ」という順序の制御です。
⚠️ ここでハマりやすい:空文字列を変数に渡すと自律ヒアリングが始まる
エスカレーションフローの呼び出し時に、空文字列(
"")を変数に渡している箇所があると思わぬ動作が起きることがあります。たとえば「希望納期(Deliverydate)」変数に空文字を渡すよう設定していると、エージェントが「希望納期を収集すべき情報」と判断して、自律的にユーザーへ納期の質問を始めてしまいます。フロー呼び出し時の変数マッピングは必ず意図的な値(固定値や「今日+3日」などの式)を設定してください。空文字はエージェントへの「まだ情報が揃っていない」というシグナルとして解釈されることがあります。
ステップ4:エージェントフローをAdaptive Card通知に改修する
エスカレーション時に担当者へTeamsでAdaptive Card通知を送るよう、エージェントフローを改修します。
Flow botとチャンネル投稿の使い分け
Teamsへの送信方式は用途によって使い分けます。今回はFlow botで担当者の個人チャットに送信する方式を選びます。
- チャンネル投稿: チームメンバー全員に見える情報共有向き
- Flow bot(個人チャット): 特定の担当者への業務通知向き。担当者がリアルタイムで気づきやすく、他のメンバーの画面を煩わせない
Adaptive CardのJSONを作成する
Adaptive CardのJSONはAdaptive Cards Designer(adaptivecards.io/designer/)で作成できます。今回のカードで表示する項目は次の5つです。
- チケット番号
- カテゴリ(障害報告)
- 依頼内容
- 依頼者メールアドレス
- 希望納期
フローのアクション構成はこの通りです。
- トリガー:「Copilot Studioエージェントがフローを呼び出すとき」(エスカレーションフロー)
- Teamsコネクター「アダプティブ カードをチャットまたはチャネルに投稿する」
- 設定値:「投稿者」→
Flow bot、「投稿先」→チャネル、「チーム」→ 担当者所属のチーム、「チャネル」→メッセージ通知するチャネル - 「メッセージ」→ Adaptive Card JSON(5項目を動的コンテンツとしてバインド)

⚠️ ここでハマりやすい:JSON貼り付け後に動的コンテンツの再割り当てが必要
Adaptive CardのJSONをフローの「メッセージ」フィールドに貼り付けると、既存の動的コンテンツのバインドが外れることがあります。JSON貼り付け後は、チケット番号・依頼内容・メールアドレス・希望納期の各フィールドに改めて動的コンテンツを割り当てなおしてください。

動作確認:4つのシナリオでテストする
実装が完了したら、4つのシナリオで動作を確認します。新機能だけでなく、前回作った定型リクエストが壊れていないかの確認も大事です。
シナリオ①:ナレッジあり → 自己解決(フロー呼び出しなし)
テストパネルで「社内Wi-Fiに繋がらない」と入力すると、SharePointのFAQドキュメントから対処手順が返ってきます。「解決しました」と入力すると、フローを一切呼ばずに会話が終了します。

シナリオ②:ナレッジあり → 解決しない → エスカレーション
「社内Wi-Fiに繋がらない」→ 手順を案内 → 「解決しません」と入力すると、メールアドレスのヒアリングが始まります。入力後にエスカレーションフローが呼び出され、担当者のTeamsにAdaptive Cardが届きます。

シナリオ③:ナレッジなし → AIが自律補完 → エスカレーション
今回一番面白かったシナリオです。「パソコンが水没した」→「バチバチ言っている」と入力してみました。当然、水没PCについてはFAQドキュメントに記載がありません。
テストパネルの「考え中」パネルを開くと、英語で「ナレッジに水没PCの情報はない」という思考過程が確認できます。そして実際にエージェントが返した回答は……
「PCから異音や火花が出ている場合は、すぐにPCの電源を切り、コンセントを抜くなど、安全確保を最優先にしてください。」という安全アドバイスを自律的に追加した上で、担当者へのエスカレーションに誘導してきたんです。
(指示していないのに安全アドバイスまで添えてくる……正直笑いました。想定外すぎた)

⚠️ 自律補完は「諸刃の剣」: AIが一般知識から補完して回答する動作は便利に見えますが、内容の正確性はAIの判断に依存します。電気機器の安全手順のような重要なケースは、必ずFAQドキュメントに自社の正式な手順として記載してください。一般知識からの補完はあくまで補助であり、業務ルールとして使うべき情報は自社ナレッジで管理するのが原則です。
シナリオ④:PC貸与(従来動作の維持確認)
第1〜3回で作ったPC貸与の定型リクエストが今回の改修で壊れていないか確認します。「PCを貸してほしい。出張用で1台、GPU搭載モデル、来週6/30までに欲しい」と入力すると、従来通りリクエスト受付フローが呼び出され、Dataverseへの起票と担当者通知が正常に動作しました。

既存機能が維持されていることも確認できました!
AIの自律補完を「使いこなす」ための注意点
シナリオ③でAIがナレッジ外の内容に自律回答したことを紹介しましたが、この動作は意図的に設計されたものではありません。Copilot Studioのジェネラティブ回答機能が持つ「一般知識による補完」の動作です。
運用前に理解しておきたいポイントをまとめます。
✅ 自律補完が起きる条件
ナレッジソースを検索して「該当する情報がない」と判断した場合、エージェントはAIの一般知識から回答を生成します。これはジェネラティブ回答の仕様による動作です。
✅ 自律補完を制限したい場合
ナレッジにない質問には「情報がありません」と回答させたい場合は、エージェントの「生成AI」設定から以下を調整できます。
- 「根拠のない応答許可する」をオフにする(エージェントレベル)
- ウェブ検索をオフにする

💡 Tips: FAQドキュメントが充実しているほど、自律補完が発動する機会は減ります。「よくある問い合わせ」を地道にドキュメント化していくことが、AI回答品質の向上につながります。
まとめ:ナレッジを育てれば、エスカレーションは減らせる
今回やってみて改めて感じたのは、「ナレッジの充実度がそのままAIの回答品質になる」ということです。
最初から完璧なFAQドキュメントを用意する必要はありません。まずは手元にあるマニュアル・過去のトラブルシューティングメモをSharePointに置いてナレッジとして登録するところから始めてみてください。実際の問い合わせが来るたびに「これもドキュメント化しておこう」と積み上げていくと、気づいたときにはエスカレーション件数が減っているはずです。
今回の改修で「AI受付 → 自己解決 or 担当者通知」というフローが完成しました。第1〜3回で作ったシステムと組み合わせると、ITサポート業務の自動化としてかなり実用的な水準になっていると思います。
ぜひ自分たちのナレッジを育てながら、このシステムを試してみてください!
それでは皆さん、良い業務ハックライフを~!

コメント