「テスト画面では動くのにTeamsで動かない!」Copilot Studioで誰もが踏む原因とチェックリスト5選
R.I
目次
- 著者: アドバンスド・ソリューション株式会社 技術研究チーム
- 対象読者: 社内SE、情報システム部、Copilot Studio開発者、Teamsボット管理者
1. はじめに:なぜ「テスト画面で完璧」なのに本番で落ちるのか?
Microsoft Copilot Studioでエージェントを開発していると、多くの開発者が直面するエラーがあります。
「エディタ右側のテストキャンバス(Test your copilot)では回答が返ってくるのに、TeamsやMicrosoft 365 Copilotに公開した途端、『申し訳ありません。問題が発生したため、応答できませんでした』と表示されて沈黙する…」
テスト画面では正常にトピックがルーティングされていたはずなのに、本番チャネルに出した途端に動かなくなる現象に、多くの社内SEが頭を抱えています。
【画像の挿入位置(画像待ち):この記事の1つ目の画像。画像が届くまで、この行は、そのままにします】
▲ 図1: Copilot Studioのトピック編集・テストキャンバス画面(画面イメージ)。テスト画面では動作しても、Teams公開時には認証やタイムアウトの壁が存在する。
【仕様準拠・参照元】: Microsoft Learn: Copilot Studio でテスト キャンバスを使用する の製品仕様およびエディタUI設計に基づく検証イメージ
Copilot Studioのテストキャンバスは「開発者自身の権限」「同一ブラウザセッション」という比較的緩やかな条件で動いています。しかし、Teamsという本番チャネルに載せた瞬間、テナント認証、SSOトークン、セキュリティ境界、チャネル固有のレンダリング制限という現実の壁が立ちはだかります。
本記事では、弊社アドバンスド・ソリューションの検証環境およびエンタープライズ導入支援の中で実際に多発した「Teams発行後に動かない原因TOP5」を解説し、現場で使える「トラブル解決チェックリスト」をお届けします。
2. アーキテクチャで理解する「テスト環境」と「Teams」の違い
まず、何が裏で起きているのかを把握するために、テストキャンバスとTeamsチャネルの通信シーケンスを比較してみましょう。
【図の挿入位置(画像待ち):この記事の2つ目の図。画像が届くまで、この行は、そのままにします】
このように、Teamsチャネルでは「認証の多段ハンドシェイク」と「チャネル側の応答時間制約」が介在するため、わずかな設定の狂いがエラーに直結します。
3. Teams公開でコケる原因TOP5と対処法
原因①:認証(Authentication)設定の不整合
【発生頻度:高】
Copilot Studioの「設定 (Settings) > セキュリティ (Security) > 認証 (Authentication)」には、2026年9月時点で以下の3つの選択肢があります。
| 英語UI | 日本語UI | 概要 |
|---|---|---|
| No authentication | 認証なし | 認証を行わない |
| Authenticate with Microsoft | Microsoft で認証する | Entra ID認証を手動構成なしで自動セットアップ |
| Authenticate manually | 手動で認証する | クライアントID・シークレット等を自分で構成 |
⚠️ 注意: かつて存在した「Teams専用 (Only for Teams)」という選択肢は、現在「Microsoft で認証する (Authenticate with Microsoft)」に置き換わっています。古い記事や資料の手順とはUIが異なるため、実機を確認しながら設定してください。
落とし穴の詳細:SharePointナレッジなら「Microsoftで認証する」で足ります
まず正しい理解から。SharePointをナレッジソースとして使う場合、既定の「Microsoft で認証する」で問題なく動作します。公式にも「SharePointナレッジは既定で Authenticate with Microsoft が構成されており、Teams / Power Apps / Microsoft 365 Copilot の環境で機能する」と記載されており、検索は利用ユーザーの代理で実行されます。
では、どういうときに「手動で認証する」が必要になるのか?
「Microsoft で認証する」では、トピック内で使える変数が User.ID と User.DisplayName のみに制限され、User.AccessToken と User.IsLoggedIn は使えません。
つまり、「取得したアクセストークンを自前のWeb APIやカスタムコネクタに渡したい(On-Behalf-Of フロー)」という用途では、「手動で認証する」を選ぶ必要があります。
解決手順(手動認証が必要な場合)
- Azure Portal (Microsoft Entra ID) でアプリ登録(App Registration)を開く。
- APIのアクセス許可に、必要な委任されたアクセス許可(例:
Sites.Read.All、User.Read)を付与し、管理者の同意を行う。 - 「Expose an API(APIの公開)」でスコープ
api://botid-.../access_as_userを作成。 - Copilot Studio側の認証を「手動で認証する」に設定し、クライアントID・シークレット・トークン交換URL(Token Exchange URL)を入力。
- Teamsマニフェスト(Teams Developer Portal)の
webApplicationInfoに登録したアプリIDを紐付ける。
原因②:Power Automate クラウドフローの「実行ユーザー」とタイムアウト
【発生頻度:高】
Copilot StudioからアクションとしてPower Automateフローを呼び出している場合、テスト画面では開発者の接続で動くため成功しますが、Teamsで一般社員が実行した際に失敗することがあります。
落とし穴の詳細
- 接続の共有権限不足: フロー内で使用しているコネクタ(例: SQL Server, 社内Web API, SharePoint)の接続が適切に共有されておらず、一般ユーザーにコネクタ利用権限がない。
- タイムアウト: 後述の「2種類のタイムアウト」に抵触する。
解決手順
- 非同期化または軽量化: フローの先頭付近に「Copilot Studioに応答する(Respond to the agent)」アクションを配置し、重い処理はその後ろに置く。
- 接続の固定: フローの実行設定を「サービスアカウント(固定接続)」で実行するよう設定する。
原因③:【重要】混同されがちな「2種類のタイムアウト」
ここは多くの記事が混同しているポイントなので、正確に整理します。
| 種類 | 制限値 | 発生元 | 超過時の挙動 |
|---|---|---|---|
| チャネルの応答制限 | 10〜15秒(チャネル依存) | Azure AI Bot Service | 504: GatewayTimeout を返す |
| エージェントフローの応答制限 | 100秒(express mode は2分) | Copilot Studio ⇄ Power Automate | フロー呼び出しがタイムアウト |
出典: Microsoft Learn: 長時間実行操作の管理 – Bot Service / Microsoft Learn: エージェント フローをツールとして追加する
「Teamsの15秒ルール」は正確には「10〜15秒・チャネル依存」であり、Teams固有の値ではありません。
また重要な点として、「Respond to the agent(エージェントに応答する)」アクションの後ろに配置した処理は、最大30日まで継続実行できます。つまり「先に応答を返してから、重い処理を裏で続ける」設計が公式に用意されています。
解決手順
- ユーザーへの応答に必要な最小限の処理だけを「エージェントに応答する」より前に置く。
- 通知・集計・ファイル転送などは、応答アクションの後ろに配置してバックグラウンド実行させる。
原因④:アダプティブカード(Adaptive Cards)のスキーマバージョン不一致
【発生頻度:中】
Copilot Studioのエディタ内でリッチなボタンやフォームを表示するために「アダプティブカード(Adaptive Cards)」を生成している場合に発生します。
落とし穴の詳細と正確なバージョン情報
公式仕様は以下のとおりです。
| 対象 | サポートバージョン |
|---|---|
| Copilot Studio | Adaptive Cards スキーマ 1.6 以下 |
| Microsoft Teams | 1.5 まで |
| Omnichannel ライブチャットウィジェット | 1.5 |
| Bot Framework Web Chat | 1.6(ただし Action.Execute 非対応) |
Teamsを主チャネルとする場合の安全解は 1.5 です。(かつて推奨されていた 1.4 は1世代古く、過剰に保守的です)
なお、未対応のプロパティが含まれる場合の挙動は、公式には「正しくレンダリングされない」「機能が限定的または不整合になる」という描画レベルの記述にとどまります。「チャットごとクラッシュする」という記載は公式ドキュメントでは確認できません。
解決手順
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.5",
"body": [
{
"type": "TextBlock",
"text": "申請内容の確認",
"weight": "Bolder",
"size": "Medium"
}
]
}
原因⑤:SharePointナレッジのURLが「ブラウザのアドレスバーURL」になっている
【発生頻度:初級〜中級で多発】
ナレッジソース(Knowledge Sources)にSharePointサイトを追加する際、ブラウザのURL欄にある https://yourtenant.sharepoint.com/sites/hr/Shared%20Documents/Forms/AllItems.aspx をそのまま貼り付けていませんか?
解決手順
- 必ずサイトルートURL(
https://yourtenant.sharepoint.com/sites/hr)または、ドキュメントライブラリのクリーンなフォルダパス(https://yourtenant.sharepoint.com/sites/hr/Shared Documents/Manuals)を指定する。 - なお、Copilot Studio の SharePoint ナレッジは登録したURLとそのサブパスのみを検索対象とし、親フォルダーや他サイトにはアクセスしません。スコープ設計時にはこの仕様を意識してください。
補足:発行(Publish)後の反映待ち
「設定を修正して発行ボタンを押したのに、Teams側でエラーが治らない…」というケースもあります。
発行後の反映には多少の時間を要し、またTeamsクライアント側もローカルキャッシュを保持します。
※ 「CDNのパージに最短5分〜最大15分かかる」といった具体的な時間はMicrosoftから公式には示されていません。以下は経験則に基づく切り分け手順としてご活用ください。
切り分け手順
- 発行後、しばらく待機する。
- Teamsクライアントを完全に再起動する(Macなら Cmd+Q、Windowsならタスクトレイから終了)。
- それでも解消しない場合は、ブラウザ版Teams(シークレットウィンドウ)で開き、ローカルキャッシュの影響を切り分ける。
4. 社内SE向け:現場用トラブルシューティング・チェックリスト
トラブルが起きたら、上から順番にチェックしてください。
| チェック項目 | 確認箇所 | 正常な状態 |
|---|---|---|
| [ ] 発行状態 | 左メニュー「公開 (Publish)」 | 「最新のコンテンツが公開されています」の日時が直近か |
| [ ] 認証設定 | 設定 > セキュリティ > 認証 | 用途に応じて「Microsoftで認証する」または「手動で認証する」が選択されているか |
| [ ] トークン変数の要否 | トピック内の変数参照 | User.AccessToken が必要なら「手動で認証する」になっているか |
| [ ] APIアクセス許可 | Entra ID > アプリの登録 | 必要な委任されたアクセス許可に管理者の同意が付与されているか |
| [ ] 応答時間(チャネル) | Power Automate 実行履歴 | 「エージェントに応答」までが10秒以内に完了しているか |
| [ ] 応答時間(フロー) | Power Automate 実行履歴 | フロー全体が100秒を超えていないか(超える場合は応答後に後続処理を配置) |
| [ ] ナレッジURL | ナレッジソース設定 | .aspx などのWebページURLではなく、純粋なSharePointパスか |
| [ ] カードスキーマ | トピック内のAdaptive Card | Teams利用なら "version": "1.5" 以下で記述されているか |
▼この記事の次に読みたい記事
- ブラックボックスにサヨナラ!Azure Application Insightsを連携してエラーログを可視化する方法
- SharePointのファイルを更新したのにCopilotが古い情報を答える?インデックス更新のタイムラグと運用回避策
5. まとめ&アドバンスド・ソリューションによるご支援
Copilot Studioは直感的に作れるローコードツールですが、「組織内で安全・堅牢に動かす」ためには、Entra ID、SharePoint権限、TeamsインフラにまたがるMicrosoft 365アーキテクチャの知識が不可欠です。
【無料ダウンロード】【資料名:確定後に入れます】
【資料の1行説明:確定後に入れます】
特に本記事で整理した「認証設定の選択肢の変更」「2種類のタイムアウトの違い」「Adaptive Cardsの正確な対応バージョン」は、古い情報のまま設計すると確実にハマるポイントです。
🏢 アドバンスド・ソリューション株式会社のCopilot Studio導入・救済支援
- Copilot Studio 駆け込み寺(トラブルシュート・ログ解析診断)
- セキュアなTeams SSO / Entra ID 連携環境構築
- 社内SE向けハンズオントレーニング&ガバナンス設計
「テストでは動くのに本番でどうしてもエラーが出る」「Teamsでの認証周りを自社で設計しきれない」とお困りの情シス・社内SEの皆様は、ぜひお気軽に弊社へご相談ください!
参考リンク(一次ソース)
記事を検索