Copilot Studio入門 実習ノート
ユースフル「Copilot Studio入門」(講師:濱津太一)の動画の内容を、読み物として整理しました。エージェントビルダーで3つのエージェントを作るところから、Copilot Studio でのトピック・変数・ツール・トリガー・マルチエージェント、そして実践演習まで、動画と同じ順番で手を動かせるようにしてあります。
使い方:手順の番号の下にあるチェックボックスで、できたところに印を付けられます(このブラウザに保存)。この形の文字はクリックするとコピーできます。▶ プロンプトの折りたたみを開くと、配布資料のプロンプト全文や構成が読めます。画像はクリックで拡大できます。
※画面は収録時点(2025年11月〜2026年1月頃)のものです。撮影期間中に Microsoft Ignite に伴う更新があり、Copilot Studio の画面は自分の環境と違うことがあります。ハンズオンは Microsoft 365 Copilot のアドオンライセンスがある状態が推奨です(無い場合、対話ごとに Copilot Studio クレジットが消化されます)。自律トリガーと AI Builder は有料ライセンスでも別途課金対象です。「使用ファイル」はコースフォルダ内の「ダウンロードファイル」です。
作るものと学ぶこと一覧
| 作るもの | 内容 | レッスン |
|---|---|---|
| 提案書骨子作成エージェント | エージェントビルダー。商談トランスクリプトから提案書の骨子を生成 | #04・#05 |
| 社内規定問い合わせボット | エージェントビルダー+ナレッジ(PDF) | #06 |
| 財務分析エージェント | 分析目的をヒアリングしてからレポートを作る | #07 |
| 社内ナレッジ検索ボット | Copilot Studio + SharePoint リスト | #11 |
| スマート総務アシスタント | トピック・変数・エンティティ・アダプティブカード・生成型の回答・エージェントフロー | #13〜#25 |
| AI最新記事取得エージェント | RSS と Outlook のコネクタで自律的に動く+毎朝9時のトリガー | #26〜#28 |
| 親エージェント | マルチエージェント(作成済みの2体を呼び分ける) | #29 |
| IT問い合わせサポートエージェント | 実践演習1。ナレッジ回答 → フォーム → SharePoint に追記 → Teams 通知。ナレッジが育つ仕組み | #31〜#33 |
| 問合せ回答メール作成フロー | 実践演習2。メール受信 → エージェント呼び出し → Outlook の下書き作成 | #34 |
| # | レッスン | ポイント |
|---|---|---|
| 03 | AIエージェントとは | 自律性(1言えば100やる)、構築手段は3つ(エージェントビルダー/SharePointエージェント/Copilot Studio) |
| 04 | 事例① | 構成タブ、指示=システムプロンプト、推奨プロンプト |
| 05 | 共有 | 組織全員/特定ユーザー、編集できるのは作成者だけ |
| 06 | 事例② | ナレッジ(有料版のみ)、コードインタープリター、画像ジェネレーター |
| 07 | 事例③ | 「必ず分析目的をヒアリング」と指示して挙動を変える |
| 08 | プロンプトのコツ | ポイント7選、マークダウン記法、AIにプロンプトを作らせる、音声入力 |
| 09 | 【コラム】SharePointエージェント | AIアクション(要約・FAQ・オーディオ概要)、フォルダーからエージェント作成 |
| 11 | 作成デモ | リスト名・列名は半角英字、ナレッジは作成後に追加、公開 |
| 12 | 概要タブ | オーケストレーション、モデル、ナレッジ、ツール、トリガー、エージェント、トピック |
| 13 | トピックとは | 対話の流れの設計図、生成/クラシックの2モード |
| 14・15 | トピックの作成と会話ノード | トリガー、メッセージ、質問と選択肢、別トピックへ移動 |
| 16・17 | 変数とエンティティ | 情報を入れる箱/回答から特定の情報を抜き出す |
| 18 | JSONで抽出 | プロンプト+JSON形式で安定した抽出(コラム) |
| 19 | アダプティブカード | フォームをドラッグ&ドロップ、IDの設定、CopilotでJSONをリライト |
| 20 | 生成型の回答 | ナレッジを指定してAIが回答、ソース表示 |
| 21 | システムトピック | 8つの役割(会話の開始・終了・フォールバックなど) |
| 22 | 公開 | チャネル(Teams/SharePoint)、Teams は会話の開始が起動しない |
| 24 | Power Automate 基礎 | トリガー・アクション・コネクタ、動的コンテンツ |
| 25 | エージェントフロー | 入力変数でフォームの値を受け取り Teams へ通知 |
| 26・27 | コネクタ接続 | RSS+Outlook で自律的に動く、指示文でツールを指定(/) |
| 28 | トリガー | Recurrence で毎朝9時に自動実行(別途課金) |
| 29 | マルチエージェント | 接続されたエージェントをオン、コエージェントとの違い |
| 30 | まとめ | 対話型か自律型か——別の設計思想 |
| 34 | AIワークフロー | メール受信 → エージェント実行 → AI Builder → Outlook 下書き |
用語メモ
| 用語 | 意味 |
|---|---|
| エージェントビルダー | Copilot Chat の画面から手軽にエージェントを作る機能。撮影期間中に「Copilot Studio ライト」から名称が戻った(動画内の「Copilot Studio ライト」=エージェントビルダー) |
| Copilot Studio | 本格的なエージェントを構築するツール。Power Platform 群の一つ |
| システムプロンプト/ユーザープロンプト | 前者は「指示」欄に書くエージェントの指示書、後者はユーザーがチャットに入力するプロンプト |
| ナレッジ | エージェントが回答の根拠にする情報源(SharePoint のファイル・フォルダー・リスト、アップロードしたファイルなど) |
| トピック | ユーザーとの対話の流れを定義する設計図。カスタムとシステムの2種類 |
| トリガー(トピック) | そのトピックが起動するきっかけ |
| オーケストレーション | 有効=生成モード(柔軟に判断)、無効=クラシックモード(台本型) |
| 変数 | 会話の中で一時的に情報を保存する箱。カスタム変数とシステム変数がある |
| エンティティ | ユーザーの回答から特定の情報(個人名・日付など)を抜き出す仕組み |
| アダプティブカード | チャット上に表示するフォーム。パーツをドラッグ&ドロップで作り、中身は JSON |
| 生成型の回答 | ナレッジを参照して AI が回答を生成するノード |
| ツール/コネクタ | 外部サービスと連携して処理を実行する機能(Outlook、RSS、SharePoint など) |
| エージェントフロー | Copilot Studio から作る Power Automate のフロー。入力変数でエージェントから値を受け取る |
| 自律トリガー | 定期実行やイベントをきっかけにエージェントを自動起動する機能(別途課金) |
| マルチエージェント/コエージェント | 前者は作成済みエージェントを呼び分ける仕組み(再利用できる)、後者は親エージェント専属で再利用・独立公開はできない |
| AI Builder | フローの中で使う AI 機能(プロンプトを実行する)。Copilot Studio クレジットの消化対象 |
#01はじめに
講師はユースフルの濱津太一(Hamatsu Taichi)さん。普段は生成AI・Power Platform 領域の法人研修や、YouTube での Microsoft ツール活用術の発信を行っています。
このコースは Copilot Studio を初めて使う方でも安心して学習できるよう設計されています。実務で役立つ機能に絞って基礎から解説し、AIエージェント構築に必要なスキルを体系的に習得できます。単なる機能説明ではなく、実務で必要なテクニックをステップバイステップで学べるのが一番の特徴です。
Copilot Studio でできること(一例)
- IT ヘルプデスクのような問い合わせに自動で回答するエージェントを、ノーコードで作成できる。
- 必要に応じて Teams に通知を飛ばすといった連携も自由自在。
使用ファイル:コースフォルダ内「ダウンロードファイル」(学習環境の作成手順.pdf/投影資料・参考資料.pdf、各レッスンのプロンプトサンプルと題材ファイル)
#02受講上の注意点
おすすめの学習の進め方
いきなり本格的なエージェント構築はハードルが高い、と感じる方もいるはず。そこで本コースは、Copilot Chat の画面上から手軽にエージェントを構築できる「エージェントビルダー」のレクチャーから始まります。
ライセンスについて
本コースはハンズオン型です。推奨は Microsoft 365 Copilot のアドオンライセンスをお持ちの状態での受講です。
画面UIの違いについて
コース内の Copilot Studio の画面UIが、自分の画面と少し違うと感じる場面があります。これは撮影期間中に Microsoft Ignite(大規模カンファレンス)に伴う各種ツールのアップデートが重なったためです。
#03AIエージェントとは
そもそも AIエージェントとは何か。競合サイト調査を例に、3つの切り口で違いを見ていきます。
| without 生成AI | with 生成AI(Copilot Chat) | with AIエージェント | |
|---|---|---|---|
| やること | 検索・情報収集・分析・レポート作成まで、すべて人間が手作業 | プロンプトを渡せば、AIが複数サイトを調べてわかりやすく要約してくれる | 情報検索に加えて、Excel への転記、ファイルの保存、Teams への通知まで一連のワークフローをAIが自ら完結させる |
| 人間:AI の稼働 | 100:0 | 60:40 | 10:90 |
| 一言でいうと | — | 何でも答える指示待ちロボット | 1言えば100やる超有能なプログラム |
Microsoft 製品でエージェントを作る3つの手段
| 手段 | 位置づけ | できること |
|---|---|---|
| エージェントビルダー (旧 Copilot Studio ライト) | スピード重視の個人アシスタント | Copilot Chat の画面上から簡単に構築。公開Webサイトに加え、SharePoint や Teams などの社内情報を横断的に検索して回答できる(#04〜#08) |
| SharePoint エージェント | チームの情報共有 | SharePoint 上の情報検索に特化。特定のサイト・ライブラリ・フォルダから検索して回答(#09 のコラムで紹介) |
| Copilot Studio | 全社向けなど本格的な構築 | 全社の問い合わせ対応ボットなどをノーコードで作成。機能をフル活用すれば高度なエージェントも構築できる(#10 以降) |
#04事例①提案書骨子作成エージェント
ここからは実践形式。エージェントビルダー(動画内では「Copilot Studio ライト」)でエージェントを3つ作ります。1つ目は提案書骨子作成エージェントです。
エージェントビルダーを活用する3つのメリット
- プロンプトやナレッジが組織の資産として蓄積される
- 毎回プロンプトを1から入力する手間が不要になる
- 組織でAI活用を推進するきっかけになる
完成イメージ
- エージェントの画面でクイックプロンプトをクリックすると、
添付の商談トランスクリプトをもとに提案書骨子を作成してが自動入力される。 - サンプルの商談トランスクリプトをドラッグ&ドロップで添付して送信。
- まとまった提案書骨子が一瞬で出来上がる(キーボードは一度も触っていない)。
使用ファイル:ダウンロードファイル「① Agent Builder編/#4 事例① 提案書骨子作成エージェント」(プロンプトサンプル_提案書骨子作成エージェント.txt/商談トランスクリプト.docx)
作ってみる
- ブラウザーで Copilot Chat を開き、左サイドバーの [エージェントの作成] をクリック。
- 新規作成の画面に移る。表示されている「説明」タブではなく、右側の [構成] タブを開く。ここでエージェントの挙動を具体的に定義する。
- 名前と説明:エージェントの呼び名と概要を入力(例:提案書骨子作成エージェント)。右側のプレビューに反映される。名前と説明はエージェントの挙動には影響しませんが、他の人に共有することも想定して、わかりやすく書きましょう。鉛筆マークからアイコンも設定できます。
- 指示:ここに入力したプロンプトがエージェントの動きを直接定義する。なるべく具体的にわかりやすく書く。
- 今回のプロンプトは長いので、配布ファイルからコピペでOK。
プロンプトの構成(プロンプトサンプル_提案書骨子作成エージェント.txt)
提案書の骨子を Word 形式で生成させるシステムプロンプト。次の構成で「どの情報を重点的に見てほしいか」「どういう構成で作ってほしいか」を具体的に指示しています。
- 0. 全体的な指示(添付トランスクリプトから関連情報を抽出、平易な言葉で、表形式や出典番号の活用など)
- 1. はじめに — 現状認識と本提案の目的
- 2. クライアント様の現状と課題
- 3. クライアント様が目指す姿
- 4. 課題解決に向けたコア戦略
- 5. 重点施策:クライアント特有のニーズへの対応
- 6. 実行ロードマップ
- 7. 成果測定と文化醸成
- 8. ご提案内容詳細
- 9. 次のステップ
各項目に「抽出ポイント」と「記述方針」がぶら下がる形です。全文は配布ファイルを参照してください。
- ナレッジは次の事例(#06)で使うのでここでは空のまま。コード インタープリターと画像ジェネレーターも今回は使わない(#06 で補足)。
- 推奨プロンプト(必須ではない):ユーザーの画面にクイックプロンプトとして表示され、クリックだけで対話を始められる。今回は
添付の商談トランスクリプトをもとに提案書骨子を作成してを入力。 - 右上の [作成] をクリック。
- 「エージェントが作成されました」と出たら [エージェントに移動する]。
- クイックプロンプトをクリックし、商談トランスクリプトを添付して送信 → 提案書骨子が作成できれば完成。
用語:システムプロンプトとユーザープロンプト
| システムプロンプト | ユーザープロンプト |
|---|---|
| 「指示」欄に入れた、エージェントの具体的な指示書にあたる裏側のプロンプト | ユーザーがチャット欄に直接入力するプロンプト |
#05エージェントの公開(共有)
作ったエージェントを組織内で共有する方法です。
- Copilot Chat の左サイドバーにある作成したエージェントの […] → [共有]。
- 共有範囲を設定するポップアップが出る。既定は 自分のみ(他の人は利用できない状態)。
- 組織に所属する全員を選び URL をコピーして共有すると、組織内の全員がその URL からエージェントを利用できる。
- 組織内の特定のユーザーを選ぶと、選んだユーザーだけが利用できる URL を発行できる。
作成後の編集
- 同じく […] → [編集] で、作成したエージェントを何度でも編集できる。
#06事例②社内規定問い合わせボット
2つ目はナレッジ機能を使い、社内規定ドキュメント(40ページ超のPDF)の内容に基づいて回答するボットです。
使用ファイル:ダウンロードファイル「① Agent Builder編/#6 事例② 社内規定問い合わせボット」(プロンプトサンプル_社内規定問い合わせボット.txt/社内規定ドキュメント.pdf)
完成イメージ
- 推奨プロンプトの
有給休暇の取得日数はをクリックして送信。 - 社内規定の具体的な条文に基づいて詳しく回答してくれる。
作ってみる
- Copilot Chat の [エージェントの作成] → [構成] タブ。名前は「社内規定問い合わせボット」、説明には社内規定に基づいて回答する旨を記載。
- 指示に次のプロンプトを入力する(1つ目の事例よりシンプル)。
プロンプト(プロンプトサンプル_社内規定問い合わせボット.txt)
あなたは社内の規定に詳しい総務担当者です。添付PDF資料の内容をもとに、ユーザー(従業員)からの質問に対して、正確かつ簡潔に回答してください。 - 回答は、各PDFの内容に基づいて行ってください。 - 回答には、可能であれば該当ページやセクションを明記してください。 - 回答がPDFに含まれていない場合は、「情報が見つかりません」と答えてください。 - 難しい用語が含まれる場合は、簡単な言葉で補足してください。 - 回答は日本語で行ってください。「PDFに含まれない場合は情報が見つかりませんと答える」と指示するなど、回答精度を高める工夫を入れています。 - ナレッジの検索窓をクリックすると、SharePoint のフォルダーや Teams のチャネルなど、Microsoft 365 の組織テナント内のファイルが一覧表示される。[ファイル] タブで絞り込み、社内規定ドキュメントを選択。
- ナレッジとして追加された。一覧に出てこない場合は、右側の [デバイスからアップロードする] から直接アップロードもできます。
コード インタープリターと画像ジェネレーター(今回は使わない)
| コード インタープリター | 画像ジェネレーター |
|---|---|
| オンにすると、エージェントが Python コードを自動生成・実行できる。Python はデータ分析や統計処理で広く使われる言語。複雑な処理をさせたいときにオンにする | オンにすると、エージェントが画像を自動生成できる |
- 推奨プロンプトを2つ入力し、右上の [作成]。
- [エージェントに移動する] →
退職金の計算方法はを送信すると、具体的な条文番号をもとに回答してくれる。
#07事例③財務分析エージェント
3つ目は財務分析エージェント。ナレッジの追加は行わないので、無料版ライセンスでも作れます。
使用ファイル:ダウンロードファイル「① Agent Builder編/#7 事例③ 財務分析エージェント」(プロンプトサンプル_財務分析エージェント.txt/FY25 Q1_決算短信(サンプルテクノロジー株式会社).pdf)
完成イメージ
- クイックプロンプト
添付のIR資料から対象企業を財務分析してをクリックし、決算短信(架空企業のサンプル)を添付して送信。 - いきなり分析を始めず、「分析を開始する前に以下の情報をご提供いただけますか」と前提情報の質問から始まる。
- 分析目的(投資判断/ベンチマーク比較 など)と、追加の文脈情報の有無を確認してくる。
- 例:
分析目的は投資判断です。追加の文脈情報はなしです。と送信。 - 充実した財務分析レポートが出力される。収益性分析では売上高や営業利益といった数字を実際に取得して評価している。
作ってみる
- [エージェントの作成] → [構成] タブ。名前は「財務分析エージェント」、説明に企業の財務分析をサポートする旨を記載。
- 指示にプロンプトを入力(配布ファイルからコピペでOK)。
プロンプトの構成(プロンプトサンプル_財務分析エージェント.txt)
- 目的:添付の財務データとユーザーの分析目的に基づき、市況や非財務情報(定性情報)を加味した実務レベルの財務分析レポートを作成する
- 役割と最重要制約:財務専門家として振る舞う。レポート作成に先立ち、必ずユーザーの分析目的をヒアリングする。目的が確認できない場合は分析を保留する
- ステップ1:ファイル受領と分析目的のヒアリング(初期応答テンプレートつき。分析目的は「投資判断/ベンチマーク比較/経営課題の特定/その他」から選択)
- ステップ2:回答に基づく分析の実行とレポート作成
- レポートの構成:①総合結論サマリー ②分析の前提 ③詳細財務分析(収益性・安全性・効率性・成長性)④定性・市況による統合考察 ⑤経営上の提言と次のステップ
全文は配布ファイルを参照してください。
いきなり分析を始めなかったのは、プロンプトの中で「レポートの作成に先立ち、必ずユーザーの分析目的をヒアリングして」と明確に伝えていたからです。 - ナレッジの追加は不要。推奨プロンプトを入力して、右上の [作成]。
3つのメリットの振り返り
プロンプトを丁寧に設計し、適切なナレッジを組み込むことで、再利用可能な形で業務を効率化できます。さらに組織内で共有すれば効果が社内に広がります。特に3つ目の「組織で生成AI活用を推進するきっかけになる」が重要で、作ったエージェントを共有して「これはすごい」と言わせることが、社内のAI活用を進める大きなきっかけになります。
#08プロンプトを作成する際のコツ
複雑なプロンプトを一から作るのは難しい——そんな方へ。エージェント作成に限らず、生成AI全般で使える汎用的なテクニックです。
① プロンプトを作成する時のポイント7選
- 明確かつ簡潔に指示をする/具体的に指示をする、など(投影スライドは受講者特典として配布されています)
- 5つ目の 見本や前例を与える は特に効果的。例:議事録を作るとき、ただ「議事録を作成して」ではなく、社内の議事録フォーマットを渡して「このフォーマットに沿って作成して」とお願いする。このフォーマットが「見本」にあたる
② マークダウン記法
見出しに #、強調したいキーワードを ** で囲むなど、マークダウンにはお作法があります。なぜマークダウンで書くのかというと、AIからの回答精度を高める手段として有効だからです。生成AIはWeb上の大量のテキストから学習しており、その中にマークダウン形式の文章が多く含まれるため、AIにとって見慣れた形式で、構造を理解しやすいのです。
プロンプトにこだわる3つのメリット
- 生成AIから精度の高いアウトプットが引き出せる
- メンテナンス性に優れている
- 他の誰かが見てもパッと理解しやすい
③ 生成AIを使ってプロンプトを作る(実演)
- Copilot Chat に、作りたいエージェントの要件を伝えるプロンプトを入力する。
エージェントを作成するにあたり、以下の要件を満たすシステムプロンプトを作成してください。マークダウン形式のコードブロックで出力して ==========最後は Shift+Enter で改行し、イコールで区切り線を入れています。 - 区切り線の下は音声入力で伝える(右下のマイクのアイコンをクリック)。例:「ユーザーから財務データを受け取り、目的に応じた分析を行って、定性情報や指標も加味したレポートを作成するような設計にしてください。分析目的の確認を必須ステップとすること。レポートの構成としては、冒頭にサマリーを持ってきて、必ず財務指標分析を行うパートを含めること。マーケットの定性的な分析も行ってほしいけれど、レポートの構成にどう含めるかはあなたにお任せします」
- 送信すると、いい感じのシステムプロンプトができあがる。修正したい場合は会話のラリーでブラッシュアップする。
- できたプロンプトでエージェントを作り、テストする。一発で100点のエージェントができることはむしろ稀。エージェントの […] → [編集] から何度でも直せる。
例えば「取引先のAさんと日程調整をしたいのでメールを作成して」だけでは、文法的に正しくても物足りない回答になります。取引先との関係性、自分の文体の特徴、これまでのやり取りの経緯といった背景情報が伝わっていないからです。音声入力はキーボード入力の3〜4倍速いと言われており、大量の背景情報をスピーディーに伝えるのに非常に効果的です。
#09【コラム】SharePointエージェントとは
エージェント構築の3つの手段(#03)のうち、SharePoint エージェントでできることを簡単に紹介するコラムです。
ファイルに対する AI アクション
- SharePoint でPDF(ITヘルプデスク向け社内マニュアル)を選択すると [AI アクション] ボタンが表示される。クリックすると「要約してください」「FAQを作成する」などのアクションが並ぶ。
- [要約してください] → 10ページ弱のPDFの内容を素早く要約してくれる。追加で聞きたいときはポップアップ下の [質問する]。
- [FAQを作成する] → 瞬時に5つのFAQを箇条書きで作ってくれる。ファイルを開くことも、プロンプトを入力することもなく実現できる。
- [オーディオの概要の作成] を選ぶと、ポッドキャスト風にドキュメントの内容を解説してもらえる。
フォルダーからエージェントを作る
- ファイルの選択を外した状態で [AI アクション] → [エージェントの作成]。
- ポップアップでエージェントを定義する。概要タブで名前や目的、ソースタブでは指定したフォルダーがナレッジとして選択済み、動作タブでどう回答してほしいかを定義できる。細かい設定はせずに [作成]。
- 「エージェントが使用できるようになりました」→ [エージェントとのチャット]。数回のクリックだけでエージェントが完成。
- 推奨プロンプト
最近使ったファイルを要約してくださいを送信すると、フォルダー内のファイルの内容を要約してくれる。 - SharePoint の画面に戻ると、作成したエージェントがフォルダーにも作られている。
#10Copilot Studio編 オープニング
エージェントビルダー編のまとめと、ここからの Copilot Studio 編の案内です。
- ナレッジとプロンプトの2点に注力するだけで、実務で活きるエージェントを構築できることを体感できたはず。
- プロンプトは AI に作ってもらえばよく、決して難しいものではない。
- ここまでの内容を習得するだけでも、AI活用スキルは組織の中でトップクラス。まずは自信を持って現場でのエージェント構築にチャレンジを。
ここからが本コースのメイントピック(Copilot Studio)です。まずは「Copilot Studio で何ができるか」をイメージするために、#11 で簡単なエージェント作成から始めます。
#11簡単なエージェント作成デモ(社内ナレッジ検索ボット)
Copilot Studio で社内ナレッジ検索ボットを作ります。まずは SharePoint リストでナレッジを用意するところから始めます。
使用ファイル:ダウンロードファイル「② Copilot Studio編/#11 簡単なエージェント作成デモ」(【かんたん構築ガイド】社内ナレッジ検索ボットの作り方.pdf/プロンプトサンプル.txt)
STEP1 SharePoint リストでナレッジを作る
- SharePoint でナレッジを追加したいサイトを開き、ホーム画面左上の [+ 新規] → [リスト]。
- 開始する方法のメニューから一番左の [リスト] を選ぶ。
- リスト名を半角英字で入力(今回は
knowledgemanagement)して [作成]。 - タイトル列の右の [+ 列の追加] → [ハイパーリンク] → [次へ]。
- 列名も半角英字で
urlと入力して [保存]。 - 作成後、列見出しをクリック → [列の設定] → [編集] で、列名を日本語(リンク)に変更して保存。
- [+ 新しいアイテムを追加] でタイトルとリンクを入力して [保存]。同じ要領でアイテムを3つ用意する。
- さらに見やすくするため、[+ 列の追加] → 左下の [列の表示と非表示を切り替える] → 更新日時と更新者にチェックして [適用]。更新情報を載せておくと、「この情報は最新だったっけ?」を確認する手間が省けます。
STEP2 Copilot Studio でエージェントを作る
- Copilot Studio を開き、左の [作成] タブ → [新しいエージェント]。
- 「説明」タブの隣の [構成] タブをクリックし、名前と説明(+お好みでアイコン)を入力。
- 指示に、構築ガイドのプロンプトを入力する。
プロンプト(プロンプトサンプル.txt)
## エージェントの役割 あなたは社内ナレッジ検索エージェントです。ユーザーの自然言語による質問に対して、ナレッジに登録されたSharePointリスト「knowledgemanagement」から関連情報を検索し、リンク付きで提示してください。 ## SharePointリスト構成 -リスト名:knowledgemanagement -使用する列:タイトル(内部名:title)、リンク(内部名:url) ## 検索方法 -ユーザーの入力に含まれるキーワードを「タイトル」列(title)に対して部分一致で検索してください。 -複数キーワードがある場合はAND条件で検索してください。 -類義語や社内略語が含まれる可能性があるため、可能な範囲で意味を補完してください。 ## 表示形式 -最大5件まで表示してください。 -タイトル名にハイパーリンクを設定して提示してください。 -「●●(ユーザーの問い)ですね!ぜひこちらをご参考ください!」のメッセージを付けてください。 ## エラー対応 -該当する情報が見つからなかった場合は、次のメッセージを表示してください: 「該当する情報は見つかりませんでした。別のキーワードで再検索しますか?」 ## 注意事項 -検索対象は「タイトル」列のみです。 -「リンク」列は、該当情報の詳細ページへのURLです。 -検索結果はユーザーの権限に応じて表示してください。社内ナレッジを検索するエージェントなので、どのように検索するのか・どのように回答結果を表示するのかの2点を特に明確に書いています。 - ナレッジの設定はここではスキップする。新規作成画面からは SharePoint のリストを選べない仕様のため。
- 推奨プロンプトを3つ入力する。ホーム画面にプロンプトのサンプルとして表示される。
- 右上の [作成] をクリック。「エージェントがプロビジョニングされました」と表示されればOK。
STEP3 ナレッジ(SharePoint リスト)を追加する
- 作成後の画面を下にスクロールし、ナレッジの [+ ナレッジの追加] をクリック。
- 一覧から [SharePoint] を選択。
- [項目の参照] → [リスト] タブ(ライブラリの隣)→ 作成した
knowledgemanagementにチェック → [選択内容の確認]。 - [エージェントに追加する] をクリック。表示が「準備完了」になれば追加完了。
- 今回はナレッジだけから回答してほしいので、下の Web 検索をオフにする。
STEP4 テストして公開する
- 画面右側の [エージェントをテストする] にプロンプトを入力(例:
ユースフルのPR情報が知りたい)。サイドバーがない場合は右上の [テスト] ボタンで表示。 - ナレッジを検索し、URL 付きで回答が返ってくる。初回送信時は SharePoint の接続確認画面が出ることがあります。その場合は [許可] をクリックしてください。
- URL をクリックすると、実際のページに遷移する。
- 組織で使える状態にするため、画面右上の [公開] → [公開する]。「公開されました」と表示されれば完了。
補足:もう少し発展的な事例(社内規定問い合わせエージェント)
- エージェントから「質問内容を教えていただけますか」とメッセージが届く。例:
有給休暇の日数計算方法について教えてほしい - 社内規定ドキュメントのナレッジをもとに、わかりやすく回答が返る。
- 続けて「上記回答でご満足いただけましたか/人事部からの直接の回答を希望しますか」と質問が届く。[はい] をクリックすると問い合わせフォームが表示される。
- 社員番号・氏名・質問事項を入力して [送信する]。
- 入力内容が Teams に通知として届く。
#12エージェントの全体設計(概要タブ)
Copilot Studio の画面構成を確認します。#11 で作ったエージェントを開いて見ていきましょう。
- Copilot Studio のホーム画面で、作成したエージェントをクリックすると編集画面に移る。
- 画面上部のタブのうち、実際によく使うのは左から 概要/ツール/エージェント/トピック の4つ。基本的に概要タブからあらゆる編集ができるので、ここでは概要タブの中身を確認する。
概要タブの各項目
| 項目 | 内容 |
|---|---|
| 名前・説明・アイコン | エージェントビルダーのときと同じ |
| オーケストレーション | 生成AIらしく、自然言語の理解に基づいた回答を生成するかどうかの設定(詳しくは #13) |
| エージェント モデル | 裏側のAIモデルを変更できる |
| 分析 | ユーザーが利用した際の満足度などの概要。社内展開後はフィードバックを参考にブラッシュアップできる |
| 指示 | エージェントにどう動いてほしいかを定義するプロンプト。回答精度に直結する |
| ナレッジ | 機能はエージェントビルダーと同じだが、Dataverse などの Microsoft 製品に加え Salesforce などサードパーティ製品も選べる。追加できる幅が広い |
| ツール | コネクタを通して外部サービスやデータソースと連携し、特定の処理やアクションを実行する(#25〜#27) |
| トリガー | 特定の出来事をきっかけにエージェントを自動的に起動させる(#28) |
| エージェント | 他のエージェントを呼び出せる。いわゆるマルチエージェント(#29) |
| トピック | エージェントとの会話のシナリオを定義する(#13〜) |
| 推奨プロンプト | エージェントビルダーと同じ。どんな質問ができるかを直感的に示せる |
エージェントモデルの選び方
- 既定は GPT-4.1。変更したい場合は右側の […] → [編集] → 「エージェントのモデルを選択します」のプルダウンから選ぶ。
| モデル | 特徴 |
|---|---|
| GPT-4o | さまざまなタスクに適したオーソドックスなモデル(以前の既定) |
| GPT-5 | Copilot にも実装された最新モデル。タスクに応じてクイックに返すか、じっくり考えるかをAIが自動判断する |
| リーズニングモデル | 複雑なタスクを実行するエージェント向け |
ツール・トリガー・マルチエージェントの例
- ツール:Outlook コネクタを追加してメールを自動送信、Planner コネクタでタスクを自動追加など。
- トリガー:Power Automate のトリガーと同じ考え方。ユーザーが話しかけなくても、Forms に回答があったら起動する/毎朝8時に実行される、といったエージェントを作れる。
- エージェント:「ユースフルに関する質問は何でも検索エージェント、社内規定に関する質問は社内規定検索エージェント」のように呼び分けられる。
#13トピックとは
トピックを一言でいうと、ユーザーとの対話の流れを定義する設計図。定義することで、質問に対して安定性の高い回答を実現できます。
例:クリニックを案内する店舗情報検索ボット。アクセス・営業時間・サービス内容などがトピックとして事前に定義されています。ユーザーが「何時から空いてますか」と質問すると、ボットは自分のトピックの中から最も適切なもの(営業時間)を選び、「平日10時から19時です」と正確に回答します。
練習用エージェントを作る(スマート総務アシスタント)
- Copilot Studio の [作成] タブ → [新しいエージェント] → [構成] タブ。
- 名前:
スマート総務アシスタント、説明:総務業務の申請や社内ルールの確認をサポートする、便利で頼れる社内向けアシスタントです - 指示:
ユーザーからの総務業務に関する申請や社内ルールの確認を適切にサポートしてください(今回はシンプルに)→ 右上の [作成]。
トピックの中身を見る
- [トピック] タブを開くと、カスタムとシステムの2種類がある。カスタムには Microsoft が用意したサンプルが4つ入っている。
- テスト画面で
おはようございますと送信すると、挨拶トピックが起動する。 - 挨拶トピックを開くと トリガー(そのトピックが起動するきっかけ)が設定されている。「こんにちは」「おはようございます」といった挨拶文がきっかけになり、メッセージが送信される仕組み。
2つのオーケストレーションモード
| 生成オーケストレーションモード | クラシック オーケストレーションモード |
|---|---|
| 状況に応じて自ら判断して動く柔軟なエージェント | 決められた流れに沿って動く、いわゆる台本型のエージェント |
| トリガーは「どんなときに起動するか」を文章で書く | トリガーはフレーズの一覧で判断(完全な機械的一致ではなく、ある程度は自然言語で選定) |
- 概要タブの オーケストレーションのオン/オフでモードを切り替えられる。有効=生成オーケストレーションモード(最近作るエージェントの既定)。
- 生成モードの確認:トリガーに無い
こんばんはを送っても、エージェントが「挨拶表現だ」と判断して挨拶トピックが起動する。 - クラシックモードの確認:オーケストレーションを無効にしてトピックを開くと、トリガーの表示がフレーズの一覧に変わる。
#14カスタムトピックの作成
新しいカスタムトピック(名刺発注)を作ります。まず、#13 で無効にしたオーケストレーションを有効に戻しておきましょう。
- [トピック] タブ → 左上の [+ トピックの追加] → [最初から]。
- トピック名に
名刺発注と入力する(ユーザーが名刺の発注を希望したときに起動させたいため)。 - トリガーを記載:
名刺発注に関する問い合わせがあった際に起動します - トリガーの下の [+] → [メッセージを送信する] を追加し、起動時のメッセージを定義:
名刺発注のお問い合わせありがとうございます - 右上の [保存]。テスト画面で
名刺がなくなったので新規で発注したいと送信し、メッセージが返ればトピックが起動している。
不要なトピックの扱い
- 使わないカスタムトピックは、右側の […] から削除できる。
- 「今はいらないが今後使うかもしれない」場合は、右側の 有効 のトグルをオフにすると起動しなくなる。
システムトピック
- カスタムの隣の [システム] を開くと、Microsoft が用意したトピックの一覧が表示される。
- システムトピックは有効のオフはできるが、完全に削除することはできない。
システムトピックの詳細は #21 で解説します。
#15基本的な会話ノード
トピックを扱ううえで習得すべき基本テクニック(メッセージの編集、質問と選択肢、別トピックへの移動)です。
「会話の開始」トピックを編集する
- テスト画面のエージェントからのメッセージ(「こんにちは、私は仮想アシスタントの…」)をクリックすると、該当のトピック(会話の開始)にジャンプできる。「会話の開始」はシステムトピックの一つで、ユーザーが会話を始めると最初に起動します。メッセージ内の
BotNameは変数で、エージェント名(スマート総務アシスタント)が入ります(変数は #16)。 - メッセージを編集すれば、オリジナルの開始シナリオにできる。例:
こんにちは、スマート総務アシスタントです。総務周りのお困りごとをサポートします→ 右上の [保存] → テスト画面を更新すると反映される。 - 「会話の開始」は [システム] タブに入っている。エラー発生時に起動するトピックなど、どんなエージェントでも必要になるトピックが事前に用意されている。
質問と選択肢を追加する
- 「会話の開始」トピックを開き、メッセージの下の [+] → [質問する] を追加。
- 質問内容を入力:
以下の選択肢から、問い合わせの内容を選択してください。[+ 新しいオプション] で選択肢を追加する(①名刺の発注、②その他の質問)。 - 選択肢に応じた条件分岐が自動で作成される。「Var1」と書かれているのが変数です。今は気にしなくて大丈夫です(#16)。
- テスト画面を更新すると、質問と一緒に選択肢が表示され、クリックだけで送信できる。
別のトピックに移動する
- 条件分岐の一番左(名刺の発注が選ばれた場合)の [+] をクリック。
- [トピック管理] → [別のトピックを選択する] → [名刺発注]。
- 保存してテストすると、「名刺の発注」を選んだときに名刺発注トピックへ自動的に遷移する。
#16変数とは
変数は、会話の中で一時的に情報を保存する箱のようなものです。Copilot Studio では避けて通れない概念なので、ここでマスターしましょう。
- エージェントが
まずはお名前を教えてくださいと質問する - ユーザーが「濱津太一です」と回答する
- その回答をもとに、Name という変数に「濱津太一」が格納される
- エージェントは Name 変数を呼び出して「濱津太一さんですね」と回答する
データ型
| 表示 | 意味 |
|---|---|
| string | 文字列。名前などはこちら(自動的に選ばれるので特に気にしなくてよい) |
| date | 日付を変数に格納する場合 |
#17エンティティ
ユーザーの回答は「濱津太一です」「ユースフルの濱津太一でございます」など自由です。そこから名前だけをピンポイントで抽出するのがエンティティです。
名前の確認トピックを作る
- [+ トピックの追加] → [最初から]。トピック名は
名前の確認、トリガーにはユーザーの名前を確認する際に起動しますと記載。 - [+] → [質問する] を追加し、質問欄に
あなたの名前を教えてくださいと入力。 - 入力欄の下にある 「特定」 がエンティティ。既定の「複数選択式オプション」をクリックし、検索窓に
個人名と入れて選択する。これでユーザーの回答から名前だけを特定し、変数(Var1)に格納できます。 - Var1 をクリックして変数名を
Nameに変更する。 - [+] → [メッセージを送信する] を追加。X のアイコンから変数を挿入し、Name を選ぶ。続けて
さんですね。お問い合わせありがとうございますと入力。 - 右上の [保存]。
動きを確認する
- システムトピックの 会話の開始 を開き、冒頭メッセージの下の [+] → [トピック管理] → [別のトピックに移動する] → 名前の確認 を選択して保存。このトピック移動はエンティティの確認が目的なので、#19 で削除します。
- テスト画面を [+] でリフレッシュ → 名前を聞かれるので
濱津太一でございますと送信。名前が変数に格納され、メッセージに出力される。
#18JSON形式で特定のキーワードを抽出
プロンプト(生成AIモデル)を使った、より精度の高いキーワード抽出です。コラム的な位置づけなので、スキップしても本編の理解には影響しません。
使用ファイル:ダウンロードファイル「② Copilot Studio編/#18 JSON形式で特定のキーワードを抽出」(プロンプトサンプル.txt)
JSON形式とは
プログラミングの知識は不要です。下の例のように「名前は濱津太一、出身は大阪」という情報がひとつのデータの塊として整理されます。JSON 形式の一番のメリットは構造化して出力できる点で、キーワード抽出などの処理が効率的になります。
手順
- #17 で作った名前の確認トピックを編集する。一番下のメッセージは削除する。
- 質問のエンティティを 個人名 → ユーザーの応答全体 に変更する。これでユーザーの入力がすべてそのまま変数に格納され、英語表記になる心配もなくなる。
- [+] → [ツールを追加する] → [新しいプロンプト] を選択。左がプロンプト入力欄、右が応答結果の確認画面。
- 指示文を入力する。一番下の「ユーザー入力内容」は毎回変わるので、[コンテンツを追加する] → [テキスト] で変数の入れ物を作る(名前:
ユーザー入力内容、サンプルデータ:濱津太一です)。プロンプト(プロンプトサンプル.txt)
下記の文章から氏名のみをJSON形式で抽出してほしい。 # 出力形式 {"name": "氏名"} # ユーザー入力内容 XXX「XXX」の位置に、追加したテキスト(ユーザー入力内容)を差し込みます。
- 画面右のモデル応答の出力形式を、テキストから JSON に変更し、[テスト] で確認。
- JSON形式で名前が取得できていれば [保存] して閉じる。
- フローに追加されたプロンプトの ユーザー入力内容 が空欄なので、右側の […] から Name 変数を選択する。
- プロンプトの下の 出力 で、結果を格納する変数を作る([変数を選択する] → [新しく変数を作成する])。作られた Var1 をクリックし、名前を
UpdateNameに変更する。 - [+] → [メッセージを送信する] → X のアイコンから変数を挿入。ここで注意:UpdateName の中身は JSON そのもの。JSON の中の name だけが欲しいので、
StructuredOutput.nameを選ぶ。 - 保存してテスト。
濱津太一でございますと送ると、名前だけを取得できる。
#19アダプティブカード
氏名・社員番号・問い合わせ内容など複数の情報をまとめて聞きたいとき、チャットで1つずつ確認するとユーザーは疲れてしまいます。アダプティブカードならフォーム形式で一括入力できます。
使用ファイル:ダウンロードファイル「② Copilot Studio編/#19 アダプティブカード」(プロンプトサンプル.txt)
準備
- システムトピックの 会話の開始 を開き、#17 で追加したトピックの移動を削除して保存する。
- 名刺発注トピックを開き、メッセージノードの下の [+] → [アダプティブカードで質問する] を追加。追加したカードをクリック → 右のプロパティで [アダプティブカードを編集する]。
パーツを配置する(コードは書かない)
- 左のサイドバーのパーツをドラッグ&ドロップでキャンバスに置いていくだけ。まず TextBlock を置き、右のプロパティでテキストを
名刺発注フォームに変更。太さを Bolder にすると太字になる。 - Input.Text を置き、ラベルを
氏名に変更。同じように従業員番号、Input.Number で必要名刺枚数、Input.Text で所属部署名を追加する。 - 検証エラーの解消:各入力欄にユニークな ID が未設定なのが原因。上から順に
1234と連番を入れる(重複しなければ何でもOK)。 - 送信ボタン:一番上の ActionSet をドラッグ&ドロップ → [アクションを追加する] → Action.Submit。プロパティでタイトルを
送信に変更。 - 右上の [Save] → [Close]。トピック上にアダプティブカードが表示される。
Copilot で JSON をブラッシュアップする
- 再び [アダプティブカードを編集する] → 画面上部の [スキーマ エクスプローラー] をクリック。
- アダプティブカードに必要な JSON が載ったドキュメントが開くので、URL をコピーする。
- Copilot の画面でプロンプトを入力し、URL と、エディターの JSON(Ctrl+A でコピー)を貼り付けて送信する。
下記のアダプティブカードを表示するためのJSON形式のデータを、よりユーザーフレンドリーな形にリライトしてほしい。 あわせて、以下のドキュメントURLも参照すること。 https://adaptivecards.io/explorer/URL のあとに Shift+Enter で改行し、JSON を貼り付けます。 - ブラッシュアップされた JSON をコピーし、エディターの内容を全選択して貼り付ける。
- かなり見やすくなる。[Save] → [Close]。エラーがあると保存できません。その場合は再度 Copilot と壁打ちして修正しましょう。ゼロから Copilot に作らせることもできますが、手動でラフ案を作ってから壁打ちする方がエラーが起きにくいのでおすすめです。
この時点ではユーザーが入力できるようになっただけで、入力内容はまだ活用できていません。この続きは後のレクチャーで扱います。
#20生成型の回答
ユーザーの質問に対して、AIがナレッジのドキュメントを参照しながら自動で回答する仕組みを作ります。
使用ファイル:ダウンロードファイル「② Copilot Studio編/#20 生成型の回答」(総務部門 問い合わせ対応ナレッジベース.pdf)
ナレッジを追加する
- [概要] タブ → [+ ナレッジの追加]。
- 今回はファイルをドラッグ&ドロップで直接添付し、[エージェントに追加する]。
- ステータスが準備完了になれば追加完了(1〜2分かかる)。時間がかかるのは、あとから素早く検索できるようにエージェントがインデックス(目次のようなもの)を作っているためです。
- このタイミングで Web 検索を無効にする(ナレッジだけに基づいて回答してほしいため)。
問い合わせ対応トピックを作る
- [トピック] タブ → [+ トピックの追加] → [最初から]。トピック名
問い合わせ対応、トリガー名刺発注以外のその他の問い合わせに対応します。 - [+] → [質問する] →
問い合わせ内容を教えてください。エンティティは ユーザーの応答全体 に変更し、変数名をUserInquiryにする。 - [+] → [詳細] → [生成型の回答] を追加。入力の右の […] から UserInquiry を指定する。
- プロパティを編集 → ナレッジソースの [選択したソースのみを検索する] をオンにし、追加したドキュメントにチェック → [保存]。
- システムトピックの 会話の開始 を開き、条件分岐の「その他の質問」の下の [+] → [トピック管理] → [別のトピックに移動する] → 問い合わせ対応 を選んで保存。
テスト
- 「その他の質問」を選び、
社員証を紛失した場合、再発行の手続きや必要な対応はどうなりますかと送信。 - 回答が返り、末尾に参照したソースが表示される。クリックするとナレッジのどこを参照したかが示される。
#21各システムトピックの概要
システムトピックは、Microsoft が事前に用意したトピック。エージェントとの会話でよく発生するイベントに対応するため、あらかじめ組み込まれています。
全部で8つあり、無効化はできるが削除はできない仕様です。会話の開始以外は自分で編集することはあまりないので、大枠を理解できていれば十分です。
| システムトピック | 役割 |
|---|---|
| エスカレートする | 対話で解決しない場合に人間の担当者に引き継ぐ。Dynamics 365 Customer Service などとの連携が前提で、使う人は限られる |
| エラー発生時 | エラーが起きたときにその旨を案内する。原因の究明にも役立ち、安定運用に欠かせない |
| サインイン | 認証が必要な場合にログインを促す。社内利用では Teams や社内ポータルで Entra ID の認証が済んでいるため、出番は少ない |
| フォールバック | ユーザーの発言を理解できなかった場合に再試行・代替対応を行う。会話を途切れさせない安全策 |
| 会話の開始 | 会話が始まったときに最初の挨拶や利用案内を提示する。編集すると効果的(#15) |
| 会話の終了 | 会話を円滑に終了する。ユーザーにフィードバックを求めることもでき、ブラッシュアップに有効 |
| 会話をリセットする | 会話を最初からやり直す。変数に格納された情報もリセットして再開できる |
| 複数のトピックが一致しました | メッセージが複数のトピックのトリガーに一致し、どれを起動すべきかわからない場合に発動 |
例:会話の終了トピックのフロー
「この回答でよろしいでしょうか」に true(はい) と答えると、5段階評価でエージェントの応答を評価する流れになっています。運用ではユーザーのフィードバックをもとに改善することが重要なので、既定でこう定義されています。
#22エージェントの公開
作ったエージェントを Teams や SharePoint で公開し、社内で使えるようにします。
公開する
- 右上の [公開] → [公開する]。
- 「公開されました」と表示され、ステータスが公開済みになる。ただしまだ公開先を設定していないので利用できない状態。
Teams に公開する
- 一番右の [チャネル] タブを開く。Teams や SharePoint のほか、Facebook や LINE などさまざまな公開先が並ぶ。Facebook や LINE などの外部ツールを選ぶと、別途セキュリティの認証設定が必要です。ここでは最もオーソドックスな Teams での公開手順を紹介します。
- [Teams と Microsoft 365 Copilot] → 右下の [チャネルを追加する]。
- [Teams でエージェントを表示する] → [開く]。
- Teams 側でポップアップが表示されるので [追加] → [開く]。
- Teams 上でエージェントが使えるようになる。
駐輪場を利用したいと送るとナレッジに沿って回答し、名刺を発注したいと送るとアダプティブカードが表示される。
Teams で共有する
- チャット画面右上の […] → [アプリの共有]。
- [リンクをコピーします] で URL をコピーできる。共有先とメッセージを編集して [共有] を押せば、そのまま送信もできる。
SharePoint に公開する(制約なし)
- Copilot Studio の [チャネル] タブ → [SharePoint]。
- 公開するサイトをプルダウンで選び、左下の [展開] → 「正常に展開されました」と出たら SharePoint リンクを開く。
- Teams と違い、会話の開始トピックのシナリオに従って対話が始まる。
- 「名刺の発注」をクリックすると、トピックどおり名刺発注フォームが表示される。
- 指定した SharePoint サイトのドキュメントに Copilot Studio Agents フォルダーが作られ、その中にエージェントが追加される。アクセス権がある人は[共有]ボタンから共有できる。
#23トピックを活用するメリット
ここまでの前半戦のまとめです。トピックでエージェントの動きをデザインするイメージがつかめてきたはずです。
ここまで学んできたことを一言でいえば 厳密なトピック定義。「指示文ひとつで自律的に動くエージェント」を期待していた方は意外に思ったかもしれません。
変数や JSON スキーマといった付随する概念も、エージェントを構築する重要な土台になります。後半戦では、トピックの枠を超えたより発展的な機能(ツール・トリガー・マルチエージェント)を扱います。
#24Power Automate 基礎(エージェントフロー学習前に)
Copilot Studio をフル活用するうえで Power Automate の理解は避けて通れません。次の #25(エージェントフロー)の前に、短時間で基礎を押さえます。すでに使いこなしている方はスキップ可。
Power Automate は一言でいうと さまざまなアプリ同士を連携して自動化するツール。「Forms に回答があったら Teams に自動通知する」「毎朝9時に自動でメールを配信する」といったフローをノーコードで作れます。
3つの重要用語
| 用語 | 意味 | 今回の例 |
|---|---|---|
| トリガー | フローが動くきっかけ(必ず必要) | Forms で新しい応答が送信されるとき(他に「毎朝9時」などの定期実行も) |
| アクション | 動き出したフローが実行する処理。条件分岐も設定できる | 応答の詳細を取得する/Teams に投稿する |
| コネクタ | Power Automate と外部サービスをつなぐ接続機能 | Forms コネクタ、Teams コネクタ |
完成イメージ(Forms → Teams 自動通知)
- 福利厚生に関する社内アンケート(Forms)に回答して送信する。
- Teams を見ると、回答内容が自動で通知されている。
STEP1 Forms でアンケートを作る
- Forms を開き、[新しいフォーム] をクリック。Copilot にラフに指示して作ってもらう。
福利厚生に関する社内アンケートを作成したい。従業員番号、氏名、部署名、要望を記載する4つの設問を用意して、すべて必須項目にすること - 瞬時にフォームが作成される。問題なければ [保持]。生成される設問が多少違っても、4つの設問の大枠が一致していれば進めて大丈夫です。
- [回答を収集] → [リンクをコピー] で URL を取得し、新しいタブで回答画面を開いておく。
STEP2 フローを作る
- Power Automate の左サイドバーから [作成]。今回は [自動化したクラウド フロー] を選ぶ。「毎朝9時になったら」のような定期実行は [スケジュール済みクラウド フロー]。この2つを押さえれば十分です。画面を下にスクロールするとテンプレートもあります。
- フロー名(例:
フォームスの回答結果をTeamsに自動通知)を入力し、トリガーの検索欄にFormsと入れて [新しい応答が送信されるとき] を選び [作成]。 - トリガーをクリックし、フォーム ID に作成したアンケートを指定する。
- トリガー下の [+] → 検索欄に
Forms→ [応答の詳細を取得する] を追加。フォーム ID は同じものを選ぶ。 - 応答 ID は一覧に出てこないので、右側の雷マークをクリックし、トリガーの 応答 ID を選ぶ。トリガーが取得した情報を次のステップが受け取って処理する、バケツリレーのイメージです。
- [+] →
Teams→ [詳しく見る] → [チャットまたはチャネルでメッセージを投稿する] を追加。 - 投稿者は フロー ボット、投稿先は グループ チャット、投稿するチャットを選ぶ。メッセージに
アンケートに回答がありましたと入力。 - 雷マークから、前のアクションで取得した項目(従業員番号・氏名・部署名・要望)を順に挿入する。このように前のステップから受け取った情報を 動的コンテンツ と呼びます。
- 右上の [保存] → アンケートに回答して送信 → Teams に通知が届けば成功。
#25ツール(エージェントフロー)
#19 で作ったアダプティブカードの回答後の処理を、エージェントフローで設計します。名刺発注フォームに回答があったら Teams に通知する流れです。
アダプティブカードの出力をおさらい
- 名刺発注トピックを開き、アダプティブカードの 出力 をクリックすると変数の一覧が表示される。ユーザーがフォームに入力した内容が変数に格納される。
エージェントフローを作る
- [+] → [ツールを追加する] → [新しいエージェント フロー]。Power Automate によく似た画面に移る。
- フローの先頭は [エージェントがフローを呼び出したとき]。エージェント(スマート総務アシスタント)からリクエストを受けてフローが始まる、という意味。
- このブロックをクリックし、[入力を追加する] でエージェントから受け取るパラメーター(変数)を設定する。
- 4つの入力変数を追加する。
項目 種類 変数名 氏名 テキスト Name従業員番号 テキスト EmployeeID必要名刺枚数 数値 CardQuantity所属部署名 テキスト Department右側の「入力を指定してください」は説明文なので、編集は不要です。 - [+] →
Teams→ [詳しく見る] → [チャットまたはチャネルでメッセージを投稿する]。Post as はフローボット、Post in はグループ チャット(チャネルでも可)、投稿先のチャットを選ぶ。 - メッセージに
名刺発注の新規依頼がありましたと入力し、雷マークから4つの変数を順に挿入する(氏名・従業員番号・必要名刺枚数・部署名)。 - 一番下の [Respond to the Agent] は、フローの出力結果をエージェントに返したいときに使う。今回は Teams に通知できればよいので空のまま。
フロー名を付けて公開する
- いきなり [公開] を押すと「指定されたフロー表示名 無題 が無効です」と表示される。フロー名の設定が必要。
- [下書きを保存する] → [概要] タブ → [詳細の編集] → フロー名を
名刺発注フォームに回答があったら、Teamsに自動通知に変更して保存。エージェントを増やすとフローが大量になり、どのフローをどこで使ったかわからなくなりがちです。フロー名は具体的に付けましょう。 - [Designer] タブに戻り [公開]。
- テスト:右上の [テスト] → [手動] → [テスト] → 4つの変数を入力 → [フローの実行] → Teams に通知が届けばOK。
エージェントにフローを実装する
- 左サイドバーの [エージェント] → スマート総務アシスタント → [トピック] タブ → 名刺発注トピックを開く。
- アダプティブカードに続く形で [+] → [ツールを追加する] → 作成したフロー(名刺発注フォームに回答があったら、Teamsに自動通知)を選択。
- フロー側で定義した4つの入力変数が空欄で用意される。アダプティブカードの出力変数をここに渡す。
- それぞれ […] から該当の変数を選ぶ(Name には氏名の
FullNameなど)。アダプティブカードを Copilot にリライトしてもらった際、変数名もわかりやすく整えられています。自分の環境では名前が異なることがあるので、対応する変数を選んでください。 - 残り3つ(EmployeeID/CardQuantity/Department)も同様に対応させる。
- フローの下に [メッセージを送信する] を追加:
フォームへの回答ありがとうございます。名刺は3営業日以内に手配しますので、到着までしばらくお待ちください→ 右上の [保存]。 - テスト:問い合わせ内容で「名刺の発注」を選び、フォームを入力して [発注する]。
- Teams とのアプリ接続の確認画面が出たら [許可]。メッセージが表示され、Teams にも入力内容が通知される。
#26ツール(コネクタ接続)①
ここからは自律的に動くエージェントを作ります。作るのは「直近1週間の AI に関する最新記事をまとめて Outlook でメール送信するエージェント」。トピックを一切編集せずに構築します。
完成イメージ
- エージェントに
RSSフィードを取得してメールを送信してと送信する。 - これまでのトピックベースとは動きが違い、「関連記事を取得し、メールで送信しました」と返ってくる。
- Outlook を見ると、記事のまとめが見やすい形で届いている。
STEP1 エージェントを作る
- [作成] → [新しいエージェント] → [構成] タブ。名前
AI最新記事取得エージェント、説明LLMに関する最新ブログ記事をRSSフィードから取得して、その内容をメールで自動配信するエージェントです→ [作成]。
STEP2 RSS コネクタを追加する
- 概要タブを下にスクロールし、ツールの [+ ツールを追加する]。
- 検索欄に
RSS→ 一番上の [すべてのRSSフィード項目を一覧表示します] を選択 → [追加と構成]。
RSS とは(Copilot に聞きながら理解する)
- Copilot Chat に
RSSについて初学者でも理解できるように分かりやすく教えてと質問。 - RSS を使えばサイトの更新情報を自動で受け取れるので、定期的にページを見に行く必要がなくなる。その取得用の URL が RSSフィード。
- 例として
具体例としてNHKニュースのRSSフィードを教えてと質問 → URL をコピーしてブラウザーで開くと、テキストが並んだページが表示される。人間には読みにくいが、これを Copilot Studio に渡せば最新情報を自動取得できる。 - 今回使う Qiita の RSS フィードを聞く:
QiitaでLLMタグが付いた最新記事を取得できるRSSフィードのURLを教えて(念のため Qiita の URL も添える)。 - 返ってきた URL を開いて、問題なく表示されることを確認する。
STEP3 RSS コネクタを設定する
- URL の入力欄を [AIで動的に入力する] から [カスタム値] に変更し、取得した RSS フィードを貼り付ける(今回は固定値)。対話の中で動的に変えたい場合は [AIで動的に入力する] のままにします(後で使います)。
- 名前と説明を入力する。
- 名前:
Qiitaの最新ブログ記事のRSSフィード項目を一覧表示する - 説明:
指定したRSSフィードから直近1週間分の情報を取得すること
コネクタを追加する際は、説明欄で指示を具体的かつ明確に伝えることがエージェントの精度を高めるうえで非常に重要です。 - 名前:
- [保存] して編集画面を閉じる。
STEP4 Outlook コネクタを追加する
- [+ ツールを追加する] → [Office 365 Outlook] → 一覧から [メールの送信] → [追加と構成]。
- 送信先:[AIで動的に入力する] → [カスタム値] に変更し、自分のメールアドレスを入力。
- 件名と本文:RSS の最新情報をもとにエージェントに判断してほしいので [AIで動的に入力する] のまま。
- 名前と説明を入力して [保存]。
- 名前:
RSSフィードから取得した最新情報をメールで配信する - 説明:
RSSフィードから取得した情報をメールで送信してください。その際、HTML形式を使用し、見やすく読みやすいデザインを心がけること
形式を指定しないと、改行のない見づらいメールになることがあります。 - 名前:
STEP5 コネクタを認証する
- [エージェントをテストする] の右の […] → [接続の管理]。
- 追加した2つのツールが未接続になっている。右の [接続] から自分の Microsoft アカウントで認証する。
- 接続が有効(緑のチェック)であることを確認して [送信する]。
- Outlook も同様に接続する。
#27ツール(コネクタ接続)②
#26 の続き。指示文を入力してエージェントを完成させ、トピックの中でコネクタを使う方法も確認します。
使用ファイル:ダウンロードファイル「② Copilot Studio編/#27 ツール(コネクタ接続)②」(プロンプトサンプル.txt)
指示文を入力する
- [概要] タブ → 指示の [編集] をクリック。
- プロンプトを入力する。
プロンプト(プロンプトサンプル.txt)
## 具体的なエージェントの処理フロー ### ① RSSフィードを取得して最新情報を取得 - 指定されたRSSフィードURLからデータを取得 - 最新の記事や更新情報を抽出 - 必要に応じてタイトル・リンク・概要を整形 ### ② 上記内容をメールで送信 - メール本文に最新情報をまとめる - 宛先・件名・本文を設定 - メール送信処理を実行 - 指示文の中でツールを指定する:「① RSSフィードを取得して…」の見出しの右で
/と入力すると、追加した2つのツールが表示される。RSS を取得するツールを選ぶ。 - 同じように「②」の右で
/と入力し、Outlook のメール送信を追加 → [保存]。
テスト
- テスト画面で
RSSフィードを取得してメールを送信してと送信。これまでと違う処理画面になり、取得と送信が行われる。 - 受信トレイを見ると想定通りのメールが届いている。リンクを開くと記事に遷移する。
トピックの中でコネクタを使う
- (スマート総務アシスタントで)会話の開始トピックを開き、メッセージ下の [+] → [質問する]。質問は
メール件名を入力してください、エンティティはユーザーの応答全体。 - 変数 Var1 をクリックし、変数名を
MailSubjectに変更。 - 同じように
メール内容を入力してくださいの質問を追加し、変数名をMailBodyに変更。 - [+] → [ツールを追加する] → [ツール] タブ → Outlook のメール送信コネクタを追加。
- [値を設定する] から Body と Subject を追加し、それぞれ […] から MailBody/MailSubject を格納する。
- テスト:会話をリフレッシュして件名と本文を入力すると、実際にメールが届く。
自律的なエージェントの精度を上げる3つのTips
- 細かく動きを定義したい場合は、エージェントフロー(#25)を使う
- GPT-5 などの高性能モデルを使う(既定の GPT-4.1 で物足りないと感じたら検討)
- 言語設定を英語にすると回答精度が上がる([作成] → [新しいエージェント] → 右上の […] → [エージェントの言語を更新する])言語設定は一度エージェントを作成すると変更できません。変更したい場合は最初に忘れずに。
#28トリガー
Copilot Studio でも、トリガーを起点にエージェントを自動的に動かすことができます(自律トリガー)。#26 の AI最新記事取得エージェントを、毎朝9時に自動実行するようアレンジします。
- AI最新記事取得エージェントを開き、概要タブを下にスクロールすると トリガーとチャネルがある。右上の [追加]。撮影途中で Copilot Studio の UI が少し変わりました。配置や表記が変わっただけで、操作手順は基本的に同じです。
- トリガーの一覧から、定期実行の [Recurrence(繰り返し)] を選んで [次へ]。
- Copilot Studio に緑のチェック(接続が有効)が付いていることを確認して [次へ] → 頻度を 1日 に設定 → [トリガーを作成する]。
実行する時刻を設定する
このままでは「1日おき」までしか決まっていないので、時刻を設定します。
- トリガー右側の […] → [Power Automate で編集する]。
- フローの編集画面で Recurrence を開く。タイムゾーンから (UTC+09:00) 大阪、札幌、東京 を選び、時間=9、分=0 を指定する。
- 右上の [公開] → 左上の戻るでフローの編集画面を閉じる。トリガー下の [+] からアクションを追加できます。何らかのアクションを実行したうえでエージェントに処理させたい場合に使います。
テスト
- Copilot Studio に戻り、トリガー右側のアイコンから [テストを開始する]。
- RSS フィードから最新情報を取得できていることを確認する。
- 翌朝9時ちょうどにメールが届いていれば成功。
#29マルチエージェント
マルチエージェントの最大のポイントは、ユーザーの指示に応じて適切なエージェントを呼び出し、処理を分担できることです。
例:経費精算を担当するエージェントに「最新の為替レートを教えて」と指示すると、為替情報を扱うエージェントが自動的に起動する、といったイメージです。
使用ファイル:ダウンロードファイル「② Copilot Studio編/#29 マルチエージェント」(プロンプトサンプル.txt)
親エージェントを作る
- [作成] → [新しいエージェント] → [構成] タブ。
- 名前
親エージェント、説明ユーザーの指示に応じて適切なエージェントを呼び出し、必要なアクションを実行します→ [作成]。 - [エージェント] タブ → 真ん中の [追加]。
- 作成済みのエージェント一覧から スマート総務アシスタント を選ぶ(出てこない場合は検索窓に名前を入力)。
「エージェントが接続不可になっています」と出たら
- いったん [キャンセル] で閉じる。
- 左サイドバーの [エージェント] → スマート総務アシスタント を開き、右上の [設定]。
- 上から2つ目の [接続されたエージェント] をオンにして [保存]。
- 設定を反映するため、忘れずに [公開] → [公開する]。公開ボタンを押さないと設定変更が反映されません。
エージェントを追加して指示を書く
- 親エージェントに戻り、[エージェント] タブ → [追加] → スマート総務アシスタント → [エージェントを追加する]。
- 同じように AI最新記事取得エージェント も追加する(エラーが出たら同様に設定を変更)。
- [概要] タブに戻り、親エージェントへの指示を入力して [保存]。
ユーザーの入力内容を理解し、以下のエージェントの中から最適なものを呼び出してください。 - スマート総務アシスタント - AI最新記事取得エージェント
テスト
名刺を発注したい→ スマート総務アシスタントが呼び出され、名刺発注フォームが表示される。- セッションをリフレッシュし、
LLMに関する最新記事のまとめを、Outlookでメール送信してほしい→ AI最新記事取得エージェントが呼び出され、メールが送信される。
もう一つの方法:コエージェント
- [エージェント] タブ → [エージェントの追加] → [新しいコエージェント]。
| 既存エージェントの接続(今回の方法) | コエージェント |
|---|---|
| 作成済みのエージェント同士を接続して協力してもらう。再利用性が高い | 親エージェントの複雑なロジックを切り分けて整理する手法。親エージェント専属のアシスタント。メインエージェント専用で再利用や独立公開はできない |
#30ここまでのまとめ
Copilot Studio の主要な機能と、エージェント構築の全体像が見えてきたところで、学びを整理します。
| 前半戦:対話型 | 後半戦:自律型 |
|---|---|
| トピックをベースに、決められたシナリオで動く | ツールを活用し、動的に判断して動く |
| トピックを丁寧に定義するほど回答が安定する | 細かくトピックを定義する必要はない。指示文が重要 |
ここまでの機能と考え方をマスターできていれば、実務で即戦力となるエージェントを構築する力が備わっています。次のセクションでは、学びを総動員して実践的なエージェントを作ります。
#31実践演習 1-1(IT問合せサポートエージェント)
ここまでの学びを総動員して、IT問い合わせサポートエージェントを作ります。ナレッジから回答するだけでなく、ユーザーからの新しい質問でナレッジ自体が育っていくのが特徴です。
使用ファイル:ダウンロードファイル「② Copilot Studio編/#31-33_実践演習 1-1(IT問合せサポートエージェント)」(ITヘルプデスク向け社内マニュアル 2種/QA一覧の Excel/プロンプトサンプル3種)
完成イメージ
- Copilot Chat 上に公開したエージェントで、推奨プロンプト
問い合わせを希望しますをクリック。問い合わせ内容を聞かれるので、具体的に入力する(例:自宅から社内ネットワークに VPN 接続できない)。回答の一番下のソースからナレッジのPDFを確認できる。 - 「IT部門からの直接の回答を希望しますか」→ はい を選ぶとアダプティブカードの問い合わせフォームが表示される。
- 送信すると、Teams に通知が届く(問い合わせ元のメールアドレスも取得済み)。メッセージ下部の QA一覧URL から SharePoint リストへ飛べる。
- QAリストには、今の問い合わせが簡潔に要約されてQuestion 列に追加されている。
- IT管理者はその項目を開き、回答を追記して QAリストを更新できる。
- エージェントのナレッジには、ITヘルプデスクマニュアルに加えてこの QAリストが入っている。
STEP1 SharePoint に QAリストを作る
- SharePoint サイトのホームで [+ 新規] → [リスト]。
- インポート元の [Excel] をクリックし、サンプルの QA一覧 Excel を [ファイルのアップロード] から指定する。
- 列の種類を選ぶ画面で、Question 列はタイトルのまま、Answer 列は複数行テキストに変更 → [次へ]。タイトル列は必ず必要なので、Question 列をタイトルにしています。
- リスト名をアルファベットで
QAリスト(例:QAList)に変更して [作成]。SharePoint は最初に設定したリスト名で URL が発行され、後から変更できません。日本語で登録すると URL がランダムな英数字に変換され、ワークフロー連携やリスト管理で不具合が起きることがあります。作成後に日本語名へ変えるのはOKです。 - リストができたら Answer 列の幅を調整しておく。
STEP2 ナレッジ(PDF)を置く
- 同じサイトの [ドキュメント] → [+ 作成またはアップロード] → [フォルダー]。
- フォルダー名を
ITヘルプデスクマニュアルとして作成。 - フォルダーを開き、2つのPDFをドラッグ&ドロップでアップロードする。
STEP3 エージェントを作る
- Copilot Studio の [エージェント] タブ → 右上の [空のエージェントを作成する]。撮影日時点の環境では、直接選ぶと言語設定が英語になってしまいました。日本語環境で作る場合は、右側の ▼ から [高度な作成] → 日本語環境を確認して [確認と作成]。英語環境で作成しても、指示文やナレッジを日本語で書けば日本語で応答するので、実運用上は問題ありません。
- 概要タブの [編集] で名前と説明を入力して保存。
- 名前:
IT問い合わせサポートエージェント - 説明:
社内のITに関する問い合わせに対して回答します。必要に応じてIT管理者に連携します
- 名前:
- 指示欄の [編集] をクリックしてプロンプトを入力し、保存する。
プロンプト(プロンプトサンプル①(指示文))
ユーザーからの問い合わせを受けたら、以下を実行してください: ①ユーザーからの問い合わせに対して、ナレッジをもとに回答を自動生成 ②AIが生成した回答で解決しない場合は、IT部門にエスカレーションし、質問内容をSharePointリストに追加今回は基本的にトピックに沿って動くエージェントなので、指示欄はそこまで厳密に定義しなくて大丈夫です。 - ナレッジの [+ ナレッジの追加] → [SharePoint] → [項目の参照]。
- まずITヘルプデスクマニュアルのフォルダーを選び [選択内容の確認]。
- もう一度 [項目の参照] → [リスト] タブ → 作成した QAリスト を選び [選択内容の確認]。
- フォルダーとリストの両方を選べたら [エージェントに追加する]。両方が準備完了になればナレッジの追加は完了。
#32実践演習 1-2(トピックとエージェントフロー)
#31 の続き。トピックを定義し、問い合わせを SharePoint と Teams に流すエージェントフローを作ります。
問い合わせ対応トピックを作る
- [トピック] タブ → [+ トピックの追加] → [最初から]。トピック名
問い合わせ対応、トリガーユーザーが問い合わせを希望する場合にこのトピックを起動します。 - [+] → [質問する]。質問文は
問い合わせ内容を教えてください(具体例も添える)。エンティティはユーザーの応答全体、変数名はUserInquiry。 - [+] → [詳細] → [生成型の回答]。入力に UserInquiry を指定する。
- データソースの [編集する] → [選択したソースのみを検索する] をオンにし、SharePoint のフォルダーとリストの両方にチェック。Web 検索はオフにする。
サポートが必要かを条件分岐で聞く
- 一番下の [+] → [質問する](例:IT部門からの直接の回答を希望しますか)。エンティティは ブール値、変数名は
ITサポート。ブール値にすると、ユーザーははい/いいえの二択から選ぶ形になります。 - [+] → [条件を追加する]。左の条件に変数 ITサポート、値に true を指定(追加サポートを希望する場合)。
- その他すべての条件(false=サポート不要)には [メッセージを送信する] で
お問い合わせありがとうございましたと返して締めくくる。
問い合わせフォーム(アダプティブカード)を Copilot に作ってもらう
- 条件分岐の左側(true)の [+] → [アダプティブカードで質問する] → プロパティの [アダプティブカードを編集する]。
- 画面上部の [スキーマ エクスプローラー] を開き、URL をコピーする。
- Copilot Chat でプロンプトを送信し、出力された JSON をコピーする。
プロンプト(プロンプトサンプル②(JSONスキーマ作成))
アダプティブカードを表示するためのJSON形式のデータを、作成して。 カードのタイトルは「問い合わせフォーム」とし、以下の入力欄を含めること: ・氏名(テキスト入力) ・部署名(テキスト入力) ・お問い合わせ内容(複数行テキスト入力) フォームの一番下に 送信ボタン を配置して。 デザインは、ユーザーが直感的に操作できるよう、わかりやすく整理された構成にすること。 以下のドキュメントURLも参考にして。 https://adaptivecards.io/explorer/ - エディターに貼り付けるとアダプティブカードが表示される。[Save] → [Close] → トピックを [保存]。エラーになった場合は、画面中央に表示されるエラーメッセージを Copilot に渡すと、修正済みの JSON を出してくれます。
- ここまでをテスト:会話をリフレッシュし、
問い合わせを希望します→ 質問を送信 → 回答とナレッジのリンクを確認 → 「はい」でアダプティブカードが表示される。初回は SharePoint との接続確認が出るので [許可] を。「いいえ」を選んだシナリオも確認しておきましょう。
エージェントフローを作る(QAリスト追加 → Teams 通知)
- アダプティブカードの下の [+] → [ツールを追加する] → [新しいエージェント フロー]。
- [エージェントがフローを呼び出したとき]で入力変数を4つ(氏名・部署・メールアドレス・問い合わせ内容、すべてテキスト)追加する。メールアドレスはフォームの入力欄にありませんが、Microsoft アカウント認証から取得できます(#33)。
- [+] → AI機能の [プロンプトを実行する] → プロンプトのプルダウンから [新しいカスタム プロンプト]。
- プロンプトを入力する。画面左が入力欄、右がテスト画面。
プロンプト(プロンプトサンプル③(AI Builder))
# 指示 下記のユーザーからの質問文をリライトしてほしい。 回答は質問に対する内容のみを記載し、前置きなどは一切含めないこと。 # 質問文「回答は質問に対する内容のみ…」は、応答に「承知しました」などの余計な言葉が混ざるのを防ぐためです。
- 「質問文」の下で [コンテンツを追加する] → [テキスト] を選び、名前を
質問文に。サンプルデータに実際の問い合わせ例を入れて [テスト] で整形結果を確認する。 - プロンプト名を
ユーザーからの問い合わせ内容の要約に変更して [保存]。 - フローに戻り、[プロンプトを実行する]の質問文の欄で、雷マークから問い合わせ内容(トリガーの入力変数)を選ぶ。ここで使う AI Builder は、撮影日現在 Copilot Studio クレジットの消化対象(従量課金)です。組織で使えない場合、このアクションがなくてもフローの大枠は構築できます。
- [+] →
SharePoint→ [詳しく見る] → [項目の作成]。サイトとリスト(QAリスト)を指定する。 - 詳細パラメーターから [タイトル] にチェック(=Question 列)。値には雷マークから[プロンプトを実行する]の テキスト(整形済みの問い合わせ文)を指定する。
- [+] →
Teams→ [詳しく見る] → [チャットまたはチャネルでメッセージを投稿する]。投稿先を選び、問い合わせがありましたに続けて氏名・部署・メールアドレス・質問内容を雷マークで挿入する。 - QAリストのURLを本文に入れる:SharePoint で QAリストを開いて URL をコピー → メッセージに
QA一覧と入力して選択 → [リンクを挿入する] アイコン → 鉛筆マークから URL を貼り付けてチェック。最後に質問に対する回答は下記のリストに追記することと添える。 - [下書きを保存する] → [概要] タブでフロー名を
フォームに回答があったらTeamsに自動投稿に変更 → [Designer] に戻って [公開]。
#33実践演習 1-3(フローの実装と公開)
作ったエージェントフローをトピックに実装し、Copilot Chat に公開してテストします。
トピックにフローを実装する
- 左サイドバーの [エージェント] → IT問い合わせサポートエージェント → [トピック] タブ → 問い合わせ対応トピック。
- アダプティブカードの下の [+] → [ツールを追加する] → [フォームに回答があったらTeamsに自動投稿]。
- 入力変数の欄が表示される。アダプティブカードの 出力 をクリックすると、フォームの回答内容が変数として定義されているのが確認できる。
- 各変数がどの入力欄に対応するかは、[アダプティブカードを編集する] でパーツをクリックし、プロパティの ID で確認できる(氏名=Name、部署名=Department など)。アダプティブカードは Copilot に作らせたので、自分の環境では ID(変数名)が違うことがあります。表示されている名前をもとに対応づければ大丈夫です。
- 氏名・部署・問い合わせ内容は、[…] からアダプティブカードの出力変数を指定する。
- メールアドレスは、[…] → [システム] タブ → 検索欄に
Email→ ユーザー Email を選ぶ。トピックにカスタムとシステムがあるように、変数にもカスタム変数とシステム変数があります。Teams や Copilot Chat では Microsoft アカウントで認証済みなので、フォームでメールアドレスを入力させる必要はありません。 - 一番下の条件分岐が合流するところの [+] → [トピック管理] → [別のトピックに移動する] → 会話の終了 を選ぶ(会話を自然に終わらせるため)。
- 右上の [保存]。
推奨プロンプトを設定して公開する
- [概要] タブの一番下 → [推奨プロンプトを追加する]。タイトル
開始プロンプト、内容問い合わせを希望します→ [保存]。 - 右上の [公開] → [公開する]。
- [チャネル] タブ → [Teams と Microsoft 365 Copilot] → [チャネルを追加する]。さらに [詳細の編集] → 詳細表示の 開発者の名前を自分の名前に変更して保存(組織内で共有したときに作成者がわかるように)→ もう一度公開。
- 再度 [Teams と Microsoft 365 Copilot] → 今回は [Microsoft 365 でエージェントを表示する] を選ぶ。
- Copilot Chat に遷移してポップアップが出るので [追加]。これで Copilot Chat 上にエージェントを公開できた。
通しでテストする
- 開始プロンプト → VPN に関する質問を送信(初回は SharePoint の接続確認で [許可])→ 回答とナレッジのドキュメントが表示される → 「IT部門からのサポートを希望しますか」に はい → フォームを入力して送信(フロー実行の認証も [許可])。
- Teams にメッセージが届いていることを確認。
- QA一覧の URL からリストを開くと、内容が簡潔にまとめられて追加されている。
- Copilot Chat に戻ると「この回答でよろしいでしょうか」=会話の終了トピックに移動している。はい を選ぶと5段階評価のアンケートが届く。評価された内容は、エージェント編集画面の概要タブ(分析)で確認できます。
#34実践演習2(AIワークフロー|問合せ業務自動化)
Power Automate と Copilot Studio を組み合わせた AIワークフロー。届いた問い合わせメールに対して、AI が社内規定を読み取って回答案を作り、Outlook の下書きに保存します。
使用ファイル:ダウンロードファイル「② Copilot Studio編/#34_実践演習 2」(01_【指示内容】Copilot Studioエージェント.txt/02_【指示内容】AI Builderプロンプト.txt/社内規定ドキュメント)
完成イメージ
- 営業部の担当者から「課長の役職手当について」という問い合わせメールが届く。
- メール受信をきっかけにフローが自動で動き出す。
- Outlook の下書きフォルダーに、箇条書きで整理された返信案ができている。
- 社内規定を確認すると、下書きに書かれた「月額5万円」が規定どおりであることがわかる。
フロー全体の流れ
STEP1 事前準備
- エージェントに参照させたい社内規定ドキュメントを、SharePoint のドキュメントライブラリにドラッグ&ドロップでアップロードする(場所はどこでもOK)。
STEP2 Copilot Studio でエージェントを作る
- Copilot Studio のホームタブ → [エージェントを作成します]。プロビジョニングが終わるまで待つ。
- [詳細の編集] で名前と説明を入力して保存。
- 名前:
社内規定問い合わせエージェント - 説明:
社内規定に定められた様々な情報から、社員の皆さんの質問にお答えします
- 名前:
- 指示欄の [編集] → 配布のプロンプトを貼り付けて保存。
プロンプトの構成(01_【指示内容】Copilot Studioエージェント.txt)
SharePoint ライブラリのナレッジをソースとする社内Q&Aエージェントの指示書です。
- 基本指示:曖昧・略語・社内用語の質問でも意図を推測して該当する規定を返す/条文番号・タイトル・抜粋・ページ番号・ファイル名・リンクを明示する/複数該当時は関連度順に最大3件/根拠がなければ「該当する規定は見つかりませんでした」と明確に伝える/推測やナレッジ外の情報提供は禁止
- 追加指示:ユーザーの立場(一般社員・管理職・人事担当など)に即した説明、最後に追加質問を促す一文
- 例:曖昧な質問/略語・社内用語/複数該当/該当なし の4パターンの回答例
- 出力形式:HTML形式で提供
全文は配布ファイルを参照してください。
- ナレッジの [ナレッジの追加] → [SharePoint]。今回は URL で直接指定するので、SharePoint 側で社内規定ドキュメントを右クリック → [リンクのコピー]。
- URL を貼り付けて [追加] → ドキュメントが認識されたら [エージェントに追加する]。
- 準備完了になったら、Web 検索が無効になっていることを確認する。Web 検索が有効のままだと、社内規定と関係のない一般的な情報から回答を生成してしまう可能性があります。
- テスト画面で質問して(例:タイムカードの打刻を忘れた場合の対応)、社内規定ドキュメントを参照した回答が返ることを確認する。
- 右上の [公開] → そのまま公開。公開しないと、AIワークフローからエージェントを呼び出せません。
STEP3 Power Automate でワークフローを作る
- Power Automate の [作成] タブ → [自動化したクラウド フロー]。画面左下の Power Platform から、Copilot Studio ⇄ Power Automate を行き来できます。
- フロー名を
問い合わせ回答メール作成、トリガーは Outlook の [新しいメールが届いたとき] を選んで [作成]。 - トリガーをクリックし、接続されていることを確認。詳細パラメーターを開き、宛先に自分のメールアドレス、件名フィルターに
社内規定を設定する。既定のままだと届いたすべてのメールでフローが動いてしまうので、条件を絞り込みます。差出人などでさらに細かく絞ることもできます。 - [+] → 検索欄に
Copilot→ Copilot Studio カテゴリの [エージェントを実行して待機する] を追加。このアクションで、Power Automate から Copilot Studio のエージェントを呼び出せます。 - 呼び出すエージェントに社内規定問い合わせエージェントを選択。詳細パラメーターの メッセージ に、雷マークからトリガーの本文(受信メールの本文)を指定する。
- [+] → AI機能の [プロンプトを実行する] → [新しいカスタム プロンプト]。
- プロンプト名を
問い合わせ回答メール案の作成に変更し、指示を入力する。プロンプト(02_【指示内容】AI Builderプロンプト.txt)
従業員から寄せられた問い合わせメールの本文と、社内規定ドキュメントをもとに生成AIが出力した回答を提供します。 それらの情報を組み合わせて、従業員宛ての回答メールを作成してください。 ・メールの本文はHTML形式の見やすい形で出力すること。 ・文脈に応じて適切に改行や箇条書きを行い、読みやすい文章を徹底すること。 ■問合せメールの本文 [問合せテキスト] ■回答案 [生成AI応答]配布ファイルには、テスト用のサンプルテキスト(問合せテキスト/生成AI応答)も含まれています。
HTML形式で出力すると指定するのが重要。指定しないと改行のない読みにくい下書きになります。 - 問い合わせメール本文の下にカーソルを置き、[コンテンツを追加する] → [テキスト] → 名前を
問合せテキストに。同じように回答案の下にも生成AI応答を追加する。 - サンプルデータを入れて右上の [テスト] → 右側のモデル応答に返信メールの文面が生成されることを確認して [保存]。サンプルデータの内容は最終的な精度には影響しません。動作確認が目的です。
- フローに戻ると2つの入力欄が表示されるので、値を流し込む。
- 問合せテキスト:雷マーク → [新しいメールが届いたとき]の 本文
- 生成AI応答:雷マーク → [エージェントを実行して待機する]の応答(Body / Last response)
項目名は環境によって表記が異なることがあります。エージェントが返した内容を表す動的コンテンツを選んでください。 - [+] →
Outlook→ [詳しく見る] → [メール メッセージを作成する](下書き作成)を追加。 - 宛先:右上の時間マークから [動的なコンテンツを使用する] をオンにし、雷マークで差出人を選ぶ。これで問い合わせ元が返信先になる。
- 件名は任意の文言を入力し、本文には雷マークから[プロンプトを実行する]の テキスト(AIが生成したHTMLのメール本文)を指定する。
- 詳細パラメーターから差出人(メールボックス)を追加し、雷マークで[新しいメールが届いたとき]の宛先を選ぶ。右上の [保存]。
STEP4 テスト
- トリガーの条件(宛先=自分、件名に「社内規定」)を満たすテスト用の問い合わせメールを用意する。
- 右上の [テスト] → [手動] → テストを開始し、メールを送信する。
- フローが正常に実行されたことを確認。
- Outlook の下書きを開くと、問い合わせに対する返信メールが自動作成されている。
#35最後に
ここまでお疲れ様でした。必要な武器はすべてお届けしました。
実務でのTips
- スキルを高める最短ルートは、自分で手を動かして、使いたいエージェントを形にしてみること
- 迷ったときはラフに Copilot に話しかけると、実現したいことのヒントが得られる
- そのプロセスこそが、スキルを確固たるものにしてくれる