Teamsカスタムアプリのチャネル互換性を確認する方法|プライベート・共有チャネル対応

Teamsのプライベートチャネルや共有チャネルで、カスタムアプリが表示されない、追加できても正常に動かないといった問題は、アプリ側が新しいチャネル構造に対応していない可能性があります。今後はTeams管理センターで、プライベート/共有チャネル向けの更新が必要なカスタムアプリを一覧で確認できる予定です。

Microsoft 365 Roadmap ID 569019によると、2026年9月2日時点では開発中で、一般提供は2026年9月を予定しています。管理者は対象アプリを確認したうえで、開発担当者への改修依頼、テスト、更新版パッケージの再登録を進める必要があります。

目次

Teamsカスタムアプリのチャネル互換性確認機能とは

今回追加予定の機能は、テナント内に登録されているカスタムアプリのうち、Teamsのプライベートチャネルまたは共有チャネルで利用するために更新が必要なものを、Teams管理センター上で特定できるようにするものです。

Microsoftは、この一覧によって管理者が影響を受けるアプリを把握し、開発者による対応が必要なアプリを判断しやすくなると説明しています。

項目内容
Roadmap ID569019
機能更新が必要なカスタムアプリの一覧表示
対象チャネルプライベートチャネル、共有チャネル
表示場所Teams管理センター
提供予定2026年9月
現在の状態開発中
対象クラウドWorldwide Standard Multi-Tenant、GCC
対象プラットフォームWeb
提供段階一般提供

GCC High、DoD、21VianetなどはRoadmapの対象欄に記載されていません。これらの環境を利用している場合は、同じ時期に提供されると判断せず、個別の展開情報を確認してください。

また、Roadmapに掲載されている提供時期は予定です。Microsoftは、Roadmapの日付や内容が変更される可能性があると案内しています。2026年9月1日に全テナントへ一斉表示されるという意味ではありません。(Microsoft)

プライベート/共有チャネルでカスタムアプリが動かない理由

標準チャネル、プライベートチャネル、共有チャネルでは、メンバー構成やファイル保存先、テナント境界が異なります。

標準チャネルで正常に動くアプリでも、「チームのメンバーとチャネルのメンバーは同じ」「ファイルはチームのSharePointサイトにある」といった前提で作られていると、プライベート/共有チャネルでは正常に動かないことがあります。

比較項目標準チャネルプライベートチャネル共有チャネル
主な参加者原則としてチーム全体チーム内の選択されたメンバー別チームや別組織のユーザーを含む場合がある
メンバー範囲チームとほぼ同じチームより狭いホストチームとは異なる場合がある
ファイル保存先チームのSharePointサイト専用のSharePointサイト専用のSharePointサイト
外部ユーザーゲストとして参加可能構成に依存クロステナント参加が想定される
アプリの追加チームへの追加が中心チャネルごとの追加が必要ホスト側からチャネルへの追加が必要
注意点既存動作の維持情報漏えいとメンバー判定テナント、認証、権限の判定

Microsoftの開発者向け資料では、プライベート/共有チャネルに追加するアプリはホストチームにインストールしたうえで、対象チャネルにも個別に追加する必要があると説明されています。また、プライベート/共有チャネルには、それぞれ独立したSharePointサイトがあります。(Microsoft Learn)

プライベート/共有チャネルで動かないTeamsカスタムアプリを特定する方法

Teams管理センターへの展開状況を確認する

Teams管理センターへ管理者アカウントでサインインし、最初に次の場所を確認します。

Teamsアプリアプリを管理

現在もカスタムアプリの許可、ブロック、更新、削除などは「アプリを管理」画面から行います。(Microsoft Learn)

Roadmapでは、更新が必要なカスタムアプリの一覧がTeams管理センターに表示されることまでは案内されていますが、具体的なメニュー名やボタン名、一覧の表示位置までは公開されていません。

テナントへの展開後は、「アプリを管理」画面やカスタムアプリの詳細画面で、次のような新しい表示が追加されていないか確認します。

  • チャネル互換性に関する警告
  • 更新が必要なアプリの一覧
  • プライベート/共有チャネル対応の状態
  • 対応が必要なアプリだけを表示するフィルター
  • 開発者による対応が必要であることを示すメッセージ

実際の名称は提供開始時に変更される可能性があります。Roadmap上の説明だけを基に、特定のメニュー名が必ず追加されると決めつけないことが重要です。

カスタムアプリの一覧を出力する

互換性一覧が表示されたら、対象アプリをその場で確認するだけでなく、管理用の台帳にまとめます。

現行のTeams管理センターには、組織のアプリカタログをCSV形式で出力する機能があります。新しい互換性一覧に専用のエクスポート機能がない場合は、既存のアプリ一覧をCSVで出力し、互換性情報を追記すると管理しやすくなります。(Microsoft Learn)

最低限、次の情報を記録します。

管理項目記録する内容
アプリ名Teams管理センターに表示される名称
アプリIDマニフェスト内のID
現在のバージョン登録済みパッケージのバージョン
開発元社内、委託先、外部ベンダー
業務責任者アプリを業務で管理する部署
利用チャネル標準、プライベート、共有
外部利用クロステナント利用の有無
互換性状態対応済み、要更新、調査中、対象外
影響範囲利用者数、対象部署、停止時の影響
改修担当者開発担当者またはベンダー
テスト結果合格、不合格、条件付き合格
更新予定日更新パッケージの登録予定日

業務影響で優先順位を付ける

一覧に表示された順番で対応するのではなく、業務への影響を基準に優先順位を付けます。

優先度判断基準具体例
最優先すでにプライベート/共有チャネルで利用している申請、承認、障害管理、顧客対応
機密情報や個人情報を扱う人事、法務、経営、セキュリティ
共有チャネルで外部組織と利用する取引先、委託先、共同プロジェクト
今後プライベート/共有チャネルへ展開予定新規プロジェクト用アプリ
標準チャネル専用として設計されている全社掲示、共通FAQ
対象外候補個人スコープだけで動作する個人専用のメッセージ拡張など

特に、共有チャネルで外部ユーザーが利用するアプリは、単なる表示不具合ではなく、認証エラーやデータの誤表示につながる可能性があります。利用者数だけでなく、扱うデータとテナント境界を考慮してください。

アプリの開発担当者へ調査を依頼する

Teams管理センターの一覧は、更新対象を見つけるための機能です。アプリを自動修復したり、マニフェストを書き換えたりする機能ではありません。

対象アプリが見つかったら、開発担当者へ次の情報を渡します。

  • アプリ名とアプリID
  • 現在のバージョン
  • 利用中のチャネル種類
  • 発生している症状
  • Teams管理センターに表示された警告内容
  • 外部ユーザー利用の有無
  • ファイル操作の有無
  • メンバー一覧や権限判定の有無
  • 更新希望日
  • テスト用チームとチャネル

「Teams管理センターで要更新と表示されたので直してください」だけでは、開発者が影響箇所を特定できません。どのチャネルで、誰が、どの操作をしたときに問題が起きるのかまで伝える必要があります。

マニフェスト更新だけで対応できるアプリ

Microsoftの開発者向け資料では、次の処理に依存していないアプリは、比較的簡単なマニフェスト更新と動作確認で対応できる可能性があると説明されています。

  • チームやチャネルのメンバー情報を利用しない
  • メンバー情報を基に通知先や権限を決めない
  • TeamsまたはSharePointのファイルを操作しない
  • 複数のチームやチャネルのデータを集約しない
  • 社内ユーザー、ゲスト、外部ユーザーで表示を変えない

この条件に該当する場合は、アプリマニフェストへ次の宣言を追加し、各チャネルで動作確認します。(Microsoft Learn)

{
  "manifestVersion": "1.25",
  "supportsChannelFeatures": "tier1"
}

上記はマニフェスト全体ではなく、関係するプロパティだけを示した例です。既存のマニフェストへ追加するときは、利用しているスキーマとの整合性を確認してください。

エージェントがチャネルのメンバー変更通知などを扱う場合、Microsoftの現行手順ではマニフェストをバージョン1.25へ更新し、supportsChannelFeaturestier1として宣言する方法が案内されています。(Microsoft Learn)

ただし、プロパティを追加しただけで互換性が保証されるわけではありません。マニフェストは「このアプリはチャネル機能へ対応する準備がある」という宣言であり、実際の処理がチャネル構造に対応しているかは別途確認が必要です。

コード改修が必要になりやすいアプリ

チームのメンバー一覧を使っている

プライベートチャネルのメンバーは、チーム全体のメンバーとは異なります。共有チャネルでは、別チームから間接的に参加しているユーザーや、別テナントのユーザーが含まれることもあります。

アプリがチーム全体のメンバー一覧を使って通知やタスクを割り当てると、対象チャネルに参加していないユーザーへ情報を送信する危険があります。

チャネルのメンバーを取得するときは、チャネル固有のAPIを使用します。

GET /teams/{team-id}/channels/{channel-id}/allMembers

Microsoftは、標準、プライベート、共有チャネルを横断して正確なメンバーを取得する方法として、allMembers APIを案内しています。(Microsoft Learn)

チームのSharePointサイトを固定で参照している

標準チャネルはチームのSharePointサイトを利用しますが、プライベートチャネルと共有チャネルには独立したSharePointサイトがあります。

アプリがチームのドライブIDや固定URLを使っていると、次の問題が発生しやすくなります。

  • ファイルが見つからない
  • 403エラーになる
  • 外部ユーザーだけリンクを開けない
  • 本来見せてはいけないファイルを参照する
  • 別チャネルのデータを誤って表示する

チャネルのファイル保存先は、次のAPIなどを使って取得します。

GET /teams/{teamId}/channels/{channelId}/filesFolder

取得したdriveIdやフォルダーIDを、その後のファイル処理に使用します。チームのSharePointサイトを固定値で参照してはいけません。(Microsoft Learn)

外部ユーザーの認証を想定していない

共有チャネルでは、ユーザーがアプリのホストテナントとは異なるテナントに所属している場合があります。

アプリが常にホストテナント向けのトークンを要求すると、外部ユーザーだけサインインできない、タブが読み込まれない、ファイルへアクセスできないといった問題が発生します。

開発担当者は、少なくとも次の点を確認します。

  • ユーザーの所属テナント
  • チャネルのホストテナント
  • Microsoft Entraアプリのシングルテナント/マルチテナント構成
  • 外部ユーザーに対する同意とアクセス権
  • ホスト側と参加側のTeamsアプリポリシー
  • SharePointの外部共有設定

共有チャネルでは、ホストチーム側のアプリ構成やホストテナント側のポリシーが関係します。ユーザーが参加している側のテナントだけを確認しても、原因を特定できない場合があります。(Microsoft Learn)

チャネル種類を固定値で判定している

membershipTypechannelTypeの値だけを見て処理を分岐させる実装は、将来のTeams更新で動かなくなる可能性があります。

Microsoftは、チャネル種類の値へ直接依存するのではなく、必要なAPIやイベント、利用可能な機能を基準にアプリの動作を決めるよう案内しています。(Microsoft Learn)

例えば、「共有チャネルならこの処理」と固定するのではなく、次のように考えます。

  • チャネルのメンバー一覧を取得できるか
  • ユーザーが対象ファイルへアクセスできるか
  • 外部テナントのユーザーか
  • 必要な権限が付与されているか
  • アプリが対象チャネルへ追加済みか

管理者と開発者の役割を分ける

互換性対応では、Teams管理者だけで問題を解決しようとすると作業が止まりやすくなります。

担当主な作業
Teams管理者対象アプリの特定、利用状況の確認、ポリシー確認、更新版の登録
アプリ開発者マニフェスト更新、API変更、認証処理、ファイル処理、テスト
業務責任者業務影響の判断、必要機能の確認、停止可能時間の調整
セキュリティ担当外部共有、権限、データ境界、ログの確認
ヘルプデスク利用者への周知、問い合わせ受付、既知問題の案内

管理者がソースコードを確認できない場合は、無理に互換性を判定せず、アプリの仕様と利用状況を整理して開発元へ渡します。

実施すべきチャネル別テスト

更新版を本番へ登録する前に、標準、プライベート、共有の各チャネルでテストします。

Microsoftも、更新前後のアプリを実際のチャネル構成で検証するよう案内しています。プライベートチャネルでは、チーム全体ではなくチャネルメンバーだけを正しく扱えているかを確認することが重要です。(Microsoft Learn)

テスト環境確認内容
標準チャネル既存機能に影響がないか
プライベートチャネルチャネル参加者だけに情報が表示されるか
同一テナントの共有チャネル別チームのメンバーが利用できるか
外部テナントの共有チャネル認証、タブ表示、ファイルアクセスが成功するか
メンバー追加後新しいメンバーがアプリへ反映されるか
メンバー削除後削除されたユーザーが利用できなくなるか
チャネル共有後間接メンバーが正しく認識されるか
チャネル共有解除後不要なアクセス権が残らないか
一般ユーザー管理者以外でも操作できるか
モバイル/デスクトップ利用予定のクライアントで表示できるか

情報漏えいのテストも行う

「画面が表示された」という確認だけでは不十分です。次のような操作もテストしてください。

  • プライベートチャネルのデータが標準チャネル側に表示されないか
  • 別のプライベートチャネルの情報を取得できないか
  • 共有チャネルの外部ユーザーがチーム全体の情報を取得できないか
  • 削除済みメンバーのキャッシュが残っていないか
  • 通知先にチャネル外のユーザーが含まれていないか
  • エクスポートやレポートに他チャネルのデータが混ざらないか

プライベート/共有チャネルへの対応では、「利用できること」よりも先に「利用権限のない情報が見えないこと」を確認する必要があります。

更新版カスタムアプリをTeams管理センターへ登録する方法

開発担当者から更新済みのZIPパッケージを受け取ったら、Teams管理センターで既存アプリを更新します。

基本的な流れは次のとおりです。

  1. Teams管理センターへサインインする
  2. Teamsアプリアプリを管理を開く
  3. 対象のカスタムアプリを選択する
  4. アプリの詳細画面を開く
  5. 更新ファイルをアップロードする
  6. 更新後のバージョンを確認する
  7. テストユーザーで動作を確認する
  8. 利用部門へ更新完了を通知する

Microsoftの現行ドキュメントでは、アプリ詳細画面の「Upload file」から新しいバージョンをアップロードできます。既存バージョンに適用されていたポリシーは、通常、更新後のバージョンにも引き継がれます。(Microsoft Learn)

更新時は、新しい別アプリとして登録するのではなく、原則として既存アプリと同じアプリIDを維持し、バージョン番号を更新したパッケージを使用します。

別のアプリIDで登録すると、次の問題が起こりやすくなります。

  • 既存アプリと更新版が両方表示される
  • 利用者がどちらを使うべきか分からない
  • ポリシーや割り当てを再設定する必要がある
  • 既存のタブやアプリ設定が引き継がれない
  • 古いアプリが残り続ける

アプリが表示されない原因は互換性だけではない

プライベート/共有チャネルでアプリが見つからない場合でも、必ずしもアプリのコードやマニフェストだけが原因とは限りません。

Microsoftの資料では、次のような原因も挙げられています。

  • supportsChannelFeaturesが不足している
  • アプリを追加するユーザーに権限がない
  • Teamsアプリのポリシーで利用が許可されていない
  • アプリがホストチームへインストールされていない
  • チームへ共有されてきた側の共有チャネルから追加しようとしている
  • アプリをチームには追加したが、対象チャネルには追加していない
  • Resource-Specific Consentの権限が不足している

共有されてきたチャネルでは、参加側から直接アプリを追加できず、ホストチーム側へ移動して追加する必要がある場合があります。(Microsoft Learn)

そのため、管理者は「要更新一覧に表示されたか」だけでなく、アプリの許可状態、割り当て、インストール場所、実行ユーザーの権限も確認してください。

互換性一覧で見落としやすい注意点

一覧に表示されなくても対応済みとは限らない

新機能が判定する対象や条件の詳細は、Roadmap上では公開されていません。

一覧に表示されないアプリであっても、次のケースでは手動テストが必要です。

  • 以前から独自に共有チャネル対応を行っている
  • マニフェストは新しいがコードが古い
  • 外部ユーザーの認証をテストしていない
  • 特定の操作だけチームのSharePointサイトを参照している
  • 一部のユーザーだけエラーになる
  • プライベートチャネルのデータを集計している

一覧は調査対象を絞り込むために利用し、品質保証の代わりにはしないことが重要です。

チャネル対応とTeams側の機能制限は別

カスタムアプリを更新しても、Teamsのチャネル種類そのものに制限されている機能は利用できません。

現行ドキュメントでは、プライベートチャネルでコネクタや一部のタブがサポートされないこと、共有チャネルでも一部のタブやアプリ機能に制限があることが案内されています。(Microsoft Learn)

したがって、次の2点を分けて確認します。

  • カスタムアプリ自体がチャネルへ対応しているか
  • 利用する機能が、そのチャネル種類でサポートされているか

互換性一覧から警告が消えたとしても、アプリの全機能がすべてのチャネルで使えることを保証するものではありません。

本番環境で直接更新しない

利用者の多いカスタムアプリは、更新版をすぐ全社展開せず、限定したテストユーザーや検証用チームで確認します。

特に次の変更を含む場合は、段階的に展開してください。

  • Microsoft Graph権限の追加
  • Resource-Specific Consentの追加
  • Microsoft Entraアプリの構成変更
  • シングルテナントからマルチテナントへの変更
  • SharePointのアクセス方法変更
  • メンバー取得APIの変更
  • 通知対象の変更
  • 保存先やデータ分離方式の変更

新機能が表示される前に実施できる確認

Teams管理センターの互換性一覧がまだ表示されていなくても、準備は進められます。

カスタムアプリを棚卸しする

Teamsアプリアプリを管理から、組織内で利用しているカスタムアプリを確認します。

次の条件に該当するアプリを優先して抽出します。

  • チームまたはチャネルへ追加できる
  • タブを持っている
  • エージェントやボットを利用している
  • TeamsやSharePointのファイルを操作する
  • チャネルメンバーへ通知する
  • タスクや承認の担当者を割り当てる
  • プライベートチャネルで利用予定がある
  • 共有チャネルで外部組織と利用する

アプリパッケージを確保する

Teams管理センターにアプリが登録されていても、管理部署に元のソースコードや最新のZIPパッケージが残っていないケースがあります。

少なくとも次の情報を確保します。

  • 最新のアプリパッケージ
  • ソースコードの保存場所
  • 開発用Microsoft Entraアプリ
  • Azureなどのホスティング環境
  • 開発担当者または委託先
  • 更新手順書
  • テスト用アカウント
  • 本番反映時の連絡先

開発元が不明なアプリは、互換性問題が発生してからでは対応できません。機能の展開前に所有者を特定しておくことが重要です。

マニフェストを事前確認する

アプリパッケージのZIPファイルを展開し、manifest.jsonを確認します。

確認する主な項目は次のとおりです。

  • manifestVersion
  • version
  • id
  • supportsChannelFeatures
  • bots
  • staticTabs
  • configurableTabs
  • composeExtensions
  • authorization
  • resourceSpecific
  • webApplicationInfo
  • validDomains

supportsChannelFeaturesがないという理由だけで即座に本番パッケージを書き換えるのではなく、アプリがメンバー、ファイル、外部認証を利用しているかを先に確認してください。

Teamsカスタムアプリのチャネル互換性確認で取るべき行動

Teams管理センターへ追加予定の互換性一覧により、管理者はプライベート/共有チャネルへの対応が必要なカスタムアプリを見つけやすくなります。ただし、一覧表示だけでアプリが自動的に修正されるわけではありません。

まずは「Teamsアプリ」→「アプリを管理」からカスタムアプリの一覧を出力し、業務責任者、開発元、利用チャネルを整理してください。新しい互換性一覧がテナントへ展開されたら、業務影響の大きいアプリから開発担当者へ調査を依頼します。

改修では、マニフェストだけでなく、チャネル固有のメンバー、専用SharePointサイト、外部テナントの認証、権限境界を確認します。更新版は標準、プライベート、同一テナントの共有、外部テナントの共有という順にテストし、問題がないことを確認してからTeams管理センターへ登録するのが安全です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次