Power Automateを活用すれば、SharePoint Onlineにアップロードされた添付ファイルを自動的にTeamsのチャネルやチャットへ転送できます。業務で「案件ごとに添付ファイルをチームで共有したい」「承認フローの中で添付ファイルをTeamsに通知したい」といったニーズは多く、手動でのダウンロードや再アップロードを省略できるため、業務効率化に直結します。しかし、いざフローを作成しようとすると「添付ファイルが正しく取得できない」「Teamsへのメッセージがうまく送れない」といったトラブルに直面することも少なくありません。本記事では、SharePointリストやライブラリの添付ファイルをTeamsに流すための具体的な手順と、よくある失敗の原因と対処法を解説します。
【要点】この記事で確認すること
- 最初に見る場所: フローのトリガー(アイテム作成時/変更時)と、SharePointの「添付ファイル」フォルダーが正しく認識されているか。
- 切り分けの軸: SharePoint側の設定(添付ファイル有効化、権限)、Power Automateのアクション(添付ファイルの取得方法)、Teams側の許可(ボット登録、メッセージ形式)の3つに分けて確認する。
- 注意点: 会社のポリシーでPower Automateの利用が制限されている場合や、Teamsの匿名投稿が許可されていないケースがあるため、管理者に事前確認が必要です。また、添付ファイルのサイズ制限(Power Automateの制限は約100MB、SharePointの制限は250GB)にも留意してください。
ADVERTISEMENT
目次
1. 基本的なフローの全体像と必要な準備
SharePointの添付ファイルをTeamsに流すフローは、大きく分けて「トリガー」「アクション1:添付ファイルの取得」「アクション2:Teamsへの投稿」の3ステップで構成されます。まずは以下の準備が整っていることを確認してください。
- SharePointサイトの準備: リストまたはライブラリで「添付ファイルを許可」が有効になっている必要があります。リストの場合は[リスト設定]→[詳細設定]→「添付ファイル」で「有効」を選択します。ライブラリの場合は既定で添付ファイルは使用できませんが、添付ファイルが必要ならリストを使うか、ライブラリ内に「Attachments」フォルダーを作成して管理する方法もあります。
- Power Automateのライセンス: 標準コネクタの利用にはPower Automateのライセンス(Office 365に含まれる場合あり)が必要です。プレミアムコネクタを使う場合は追加ライセンスが必要になります。
- Teamsのチャネルまたはチャット: 投稿先のTeamとチャネル(またはグループチャット)が作成されていること。また、Power AutomateがそのTeamにメッセージを投稿する権限(通常は許可されている)を確認します。
1-1. フローのテンプレートを利用する方法
Power Automateには「SharePointリストに添付ファイルが追加されたらTeamsに通知する」というテンプレートが用意されています。テンプレートから作成すると、主要なアクションが自動的にセットされるため初めての方でも迷いにくいです。テンプレートを開いたら、接続先のSharePointサイトとTeamsのチャネルを指定して保存・テスト実行します。
1-2. 一からフローを作成する手順
テンプレートが合わない場合やカスタマイズが必要な場合は、以下の手順でフローを一から作成します。
- [マイフロー] → [新規] → [自動化されたクラウドフロー] を選択します。
- トリガー名で「SharePoint」と検索し、「項目が作成または変更された場合」を選択します。サイトアドレスとリスト名を指定し、「新規のみ」を「いいえ」(変更もトリガーしたい場合)または「はい」(新規作成のみ)に設定します。
- [新しいステップ]を追加し、アクションとして「ファイルのコンテンツの取得 – SharePoint」を検索して選択します。サイトアドレス、ファイル識別子に「添付ファイル」という動的コンテンツを指定します。※この動的コンテンツはトリガーの出力に含まれている「添付ファイルのID」や「ファイル名」を使って取得します。
- さらに[新しいステップ]で「投稿メッセージ – Teams」アクションを追加します。投稿先を「チャネル」または「チャット」から選択し、チーム、チャネル、メッセージ本文を指定します。メッセージ本文には先ほど取得したファイルのContentBytes(バイナリデータ)を直接添付することはできないため、別途「ファイルの添付」オプションを使うか、ファイルのURLをハイパーリンクとして記載します。
- 実際に添付ファイルとしてTeamsに送信したい場合は、「添付ファイルの追加」オプションを使用できるアクションが必要です。「投稿メッセージ (V2)」アクションには添付ファイルのプロパティがあるため、こちらを推奨します。V2アクションで、ファイル名とContentBytesを指定します。
2. トリガーと添付ファイル取得の詳細設定
SharePointリストで添付ファイルが追加されたことを検知するには、「項目が作成または変更された場合」トリガーで「新規のみ」を適切に設定します。添付ファイルのみをトリガーにしたい場合は、条件アクションを追加して「添付ファイルが存在するか」を確認する必要があります。
2-1. 「ファイルのコンテンツの取得」アクションの正しい使い方
このアクションは、SharePoint上のファイルのバイナリデータ(ContentBytes)を取得します。添付ファイルはリスト項目に紐づくため、以下のように動的コンテンツを指定します。
- [サイトアドレス]:トリガーで指定したSite Address
- [ファイル識別子]:トリガーの出力から「添付ファイル ID」や「ファイル名」と「リスト項目 ID」を組み合わせて、ファイルの参照を指定します。正しい構文は「Attachments/{{ファイル名}}」または項目のIDを使います。実際には「添付ファイル」という動的コンテンツが自動生成される場合もありますが、うまく動作しないケースもあるため、必要に応じて「ファイル識別子」を手動で入力してください。
よくある失敗として、ファイル識別子が空欄のまま実行されるとエラーになることがあります。また、複数の添付ファイルがある場合はループ処理(Apply to each)が必要です。
3. Teamsへの投稿設定とメッセージのカスタマイズ
Teamsにファイルを送信する方法は主に2つあります。1つはメッセージ内にファイルへのリンクを貼る方法、もう1つは実際のファイルをアップロードして添付する方法です。それぞれにメリット・デメリットがありますので、状況に応じて使い分けてください。
| 投稿方法 | メリット | デメリット |
|---|---|---|
| ファイルへのリンクをメッセージに含める | 簡単、ファイルサイズ制限を気にしない、バージョン管理を維持 | Teams上で直接ファイルを開かないと内容が見えない、リンク切れの可能性 |
| ファイルをTeamsにアップロードして添付 | メッセージ内でプレビュー可能、オフラインでも参照できる | フローの複雑化、ファイルサイズ制限(Teamsは1ファイルあたり最大10GB)、重複管理のリスク |
3-1. ハイパーリンクで送信する場合の手順
- 「ファイルのコンテンツの取得」の代わりに「ファイルのプロパティの取得」アクションを使い、ファイルのWeb URLを取得します。
- Teamsの「投稿メッセージ (V2)」アクションで、メッセージ本文に「ファイルが追加されました:[ファイル名](WebURL)」のようにマークダウンリンクを挿入します。
- 必要に応じて、ファイルの内容や日付などの他の情報も動的コンテンツで追加します。
3-2. ファイルを添付して送信する場合の手順
- 「ファイルのコンテンツの取得」でContentBytesを取得します。
- 「投稿メッセージ (V2)」アクションを追加し、[添付ファイル]セクションを展開します。
- [名前]にファイル名、[ContentBytes]に「ファイルのコンテンツの取得」の出力である「ファイルコンテンツ」を指定します。
- 必要に応じて、[ContentType]に MIME タイプ(例: application/pdf)を指定します。指定しない場合は自動判別されます。
4. 複数添付ファイルがある場合の対処法
SharePointリストでは1つのアイテムに複数の添付ファイルを追加できます。フローで複数の添付ファイルを処理するには、トリガーの後に「Apply to each」コントロールを使用し、出力内の「添付ファイル」配列をループ処理します。各反復で添付ファイルの情報を取得し、Teamsへの投稿を繰り返すか、またはすべての添付ファイル情報をまとめて1つのメッセージに整形します。
注意点として、Teamsメッセージに複数のファイルを添付する場合、「投稿メッセージ (V2)」の添付ファイル配列にすべてのファイル情報を一度に渡すことはできません。そのため、ループ内でメッセージを分割して投稿するか、ファイルのリンクのみをまとめて送信する方法を選びます。
5. よくある失敗パターンとトラブルシューティング
実際の運用で発生しやすい問題を以下にまとめます。
| 症状 | 原因 | 解決策 |
|---|---|---|
| 添付ファイルが取得できない | ファイル識別子の指定が誤っている、リストの添付ファイル設定が無効、アイテムに添付ファイルがない | トリガーの出力を確認し、正しい動的コンテンツ(例:@triggerOutputs()?[‘body/Attachments’])を使用する。添付ファイルの有無を条件分岐で確認する。 |
| Teamsへの投稿が失敗する | Teamsコネクタの接続認証が切れている、投稿先のチャネルが存在しない、Power Automateの投稿権限がない | Teamsコネクタの再接続、チャネル名のスペル確認、Teamsの管理者にPower Automateの投稿を許可してもらう。 |
| 添付ファイルが表示されない(リンク切れ) | ファイルのURLが相対パスや期限付きトークンを含む、SharePointの権限不足 | 「ファイルのプロパティの取得」で絶対URLを取得する。ファイルにアクセスできる権限がユーザーにあるか確認する。 |
| 巨大ファイルが送信できない | Power Automateのファイルサイズ制限(約100MB)を超えている | ファイルのリンクのみを送信するか、ファイルを圧縮してから送信する。 |
6. 管理者に確認すべき設定項目
会社の環境によっては、Power AutomateやTeamsの動作が制限されている場合があります。フローがうまく動かないときは、以下の項目を管理者に問い合わせてください。
- Power Automateの利用ポリシー: テナント全体でPower Automateの使用が禁止されていないか、または特定のコネクタ(SharePoint、Teams)がブロックされていないか。
- データ損失防止(DLP)ポリシー: SharePointとTeamsの間のデータ転送が許可されているか。DLPポリシーで特定のコネクタの組み合わせが制限されているとフローが実行できません。
- Teamsのアプリ設定: Power AutomateアプリがTeamsで有効になっているか。有効になっていないとメッセージ投稿に失敗する場合があります。
- SharePointのアクセス許可: Power Automate(またはサービスプリンシパル)がリストやライブラリに対して読み取り権限を持っているか。また、添付ファイルを許可する設定が有効か。
7. よくある質問(FAQ)
Q1. 添付ファイルの代わりに画像をTeamsにインライン表示できますか?
画像ファイルの場合、Teamsのメッセージ内にインライン画像として表示するには、アダプティブカードまたはコネクタカードを使用する方法があります。ただし、Power Automateの標準アクションだけでは難しいため、Office 365コネクタやカスタムコネクタを検討する必要があります。
Q2. 添付ファイルが更新されたときに通知するには?
トリガーで「項目が作成または変更された場合」を使い、「新規のみ」を「いいえ」に設定します。ただし、添付ファイルの変更だけを検出するには、以前の添付ファイルの状態を保存しておくなどの追加ロジックが必要です。
Q3. フローの実行履歴はどこで確認できますか?
Power Automate ポータルで該当フローを開き、「実行履歴」タブから確認できます。各実行の詳細を開けば、どのステップでエラーが発生したかが赤いアイコンで表示されます。
まとめ
SharePointの添付ファイルをTeamsに流すPower Automateフローは、手作業を削減しチームの情報共有を迅速にします。基本的な流れはトリガー、ファイル取得、Teams投稿の3ステップですが、添付ファイルの有無や複数ファイルの処理、Teamsへの投稿方法(リンクかファイル添付か)によってアクションを適切に選択する必要があります。トラブルが発生した場合は、まずSharePointの設定とPower Automateの実行履歴を確認し、必要に応じて管理者に環境設定を問い合わせてください。本記事の手順を参考に、安定した自動化を実現してください。
ADVERTISEMENT
超解決 リモートワーク研究班
Microsoft 365の導入・保守を専門とするエンジニアグループ。通信障害やサインイン不具合など、ビジネスインフラのトラブル対応に精通しています。
Office・仕事術の人気記事ランキング
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
