Power AutomateとSharePointを連携させると、「リストに項目が追加されたら通知する」「ファイルがアップロードされたら承認に回す」といった自動化ができます。

ところが実際に組んでみると、こんな状況によく出会います。

設定は合っているはずなのに、フローが動かない。

実はSharePoint連携には公式に明記された制限がいくつもあり、それを知らないと原因にたどり着けません。この記事では主要なトリガーとアクションを整理したうえで、動かない原因を解説します。

主なトリガー|何をきっかけに動かすか

公式によれば、トリガーは「SharePointリストまたはライブラリ内の変更を監視する」ものです。よく使うものを挙げます。

トリガー起動するタイミング
アイテムを作成した場合リストに項目が追加されたとき
アイテムを作成か変更した場合追加または更新されたとき
アイテムまたはファイルが変更されたときリスト・ライブラリの変更時
アイテムを削除した場合項目が削除されたとき
ファイルの作成時(プロパティのみ)ライブラリにファイルが作られたとき
選択したアイテムに対して利用者が項目を選んで手動実行

「選択したアイテムに対して」は便利ですが、公式に注意書きがあります。

SharePoint リストから手動で実行できるのは、既定の環境内のフローのみです

主なアクション|何をするか

やりたいことアクション
リストに追加アイテムの作成
リストを更新項目を更新する
条件に合う項目を取得アイテムを取得
1件だけ取得項目を取得する(IDで指定)
ファイルをアップロードファイルの作成
ファイルをコピー/移動ファイルをコピー/ファイルを移動
フォルダーを作る新しいフォルダーを作成
添付ファイルを扱う添付ファイルを取得/追加/削除

「アイテムを取得」は複数件、「項目を取得する」は1件という違いがあります。複数件を取得した場合、その後は繰り返し処理で1件ずつ扱うことになります。

【原因1】リストの種類が対応していない

もっとも見落とされやすい制限です。公式にはっきり書かれています。

リストの Power Automate フローは、汎用リスト (100) と汎用ドキュメント ライブラリ (101) でのみサポートされます。現在、お知らせ、連絡先、タスクなどのリストなど、カスタム リストとライブラリ テンプレートはサポートされていません

つまり「お知らせ」「連絡先」「タスク」といったテンプレートから作ったリストでは動きません。設定を何度見直しても解決しないのは、そもそも対象外だからです。

対処は汎用リスト(空白のリスト)で作り直すことです。テンプレートの便利さより、自動化できるかどうかを優先する必要があります。

【原因2】ルックアップ列が12個を超えている

こちらも公式が明記している制限です。

リスト/ライブラリにルックアップ列がある場合、アイテムの取得とファイルの取得アクションでは、最大 12 個の参照列を持つアイテムの返しがサポートされます。リストまたはライブラリがこのしきい値を超えると、Power Automate のフローは失敗します

ルックアップ列(他のリストを参照する列)が13個以上あるとフローが失敗します。注意したいのは、作成者・更新者などの標準列も参照列として数えられる場合がある点です。

列が多いリストでフローが失敗するときは、この上限を疑ってください。取得する列を絞る設定があれば、それで回避できることがあります。

【原因3】ファイルの移動・同期では起動しない

「ファイルを入れたのにフローが動かない」という場合、入れ方が原因かもしれません。

ファイルを移動しても、ファイルの作成時や変更時など、カスタム メタデータは変更されません。したがって、このアクションでは、移動されたライブラリに関連付けられているファイル更新プログラムのフローはトリガーされません

同じことが同期でも起こります。公式は、OneDriveやエクスプローラー経由で同期した場合も「そのライブラリのフローをトリガーしません」としています。

ファイルの入れ方フローが動くか
ブラウザからアップロード動く
他のライブラリから移動動かない
同期フォルダー経由動かない

テストのときはブラウザから入れたのに、運用では同期フォルダーを使っていた——という食い違いが起こりがちです。

【原因4】非推奨のトリガーを使っている

一覧の中には非推奨と表示されたものが混ざっています。公式は「期待どおりに機能しない可能性があります」と警告しています。

非推奨代わりに使うもの
フォルダーにファイルが作成されたときファイルの作成時(プロパティのみ)
フォルダー内でファイルが作成または変更された場合ファイルが作成または変更されたとき(プロパティのみ)
ファイルのコピーファイルをコピー

名前が似ているため間違えやすい部分です。選択肢に「[非推奨]」と書かれていないかを確認してください。

なお非推奨のトリガーには、サブフォルダーでは起動しないという制約もありました。「1つ以上のサブフォルダーに対して異なるフローを作成します」と案内されています。

すぐに動かないのは仕様

「変更したのに反応がない」と感じても、少し待つ必要があります。

Power Automate は、フローのトリガーで構成されたリストまたはライブラリの変更を定期的にチェックします。ほとんどの場合、(中略)フローの実行はその変更から数分以内に発生する可能性があります

さらに、こうも書かれています。

フローが後続のフロー実行で複数の変更を収集する可能性があります

短時間に何度も更新すると、まとめて1回で処理されることがあるわけです。1変更=1実行とは限らない点は覚えておいてください。

よくある質問

Q. 削除を検知するフローが動きません

削除トリガーには権限の条件があります。公式は「削除済みアイテムのプロパティを取得するには、サイトコレクション管理者アカウントを使用して接続する必要がある」としています。

Q. 特定の条件の項目だけ取得できますか?

「アイテムを取得」には絞り込みの設定があります。全件取得してから条件で振り分けるより、取得時に絞ったほうが速く安定します。

Q. オンプレミス版でも使えますか?

SharePoint 2013/2016/2019で使えるトリガー・アクションは限られています。公式に対応表があるため、利用前の確認をおすすめします。

まとめ

  • トリガーは作成・変更・削除が基本。手動実行もできる
  • お知らせ・連絡先・タスクなどのテンプレートは対象外。汎用リストで作る
  • ルックアップ列が12個を超えるとフローが失敗する
  • ファイルの移動・同期ではトリガーされない
  • [非推奨]と付いたトリガーは避ける
  • 反応まで数分かかる。複数変更がまとめられることもある
  • 削除トリガーにはサイトコレクション管理者の接続が必要

SharePoint連携でつまずいたら、まず「リストの種類」を確認してください。テンプレートから作ったリストが原因というケースは非常に多く、ここを見落とすと延々と設定を疑うことになります。

Power Automateの基本はPower Automateとは?できること・始め方で解説しています。

参考にした主な資料

ABOUT ME
IT解決チャンネル編集部
ExcelやWord、Windows、Googleスプレッドシートなど、ビジネスで使うITツールの使い方を初心者にもわかりやすく解説しています。関数の使い方から実務で役立つ応用テクニックまで、画像付きでていねいに紹介。パソコン操作で困ったときの頼れる情報源を目指しています。