SharePointの「承認ワークフロー」が自動で動かない原因と解決策:資料公開の手間をなくしてスムーズに!
「SharePoint(シェアポイント)に新しい資料をアップロードしたり、修正したりしたのに、承認ワークフローが自動で始まらないんだ…」「コンテンツを公開する前に、ちゃんと承認プロセスを通したいんだけど、なぜか手動でしか承認依頼ができないな…どうすれば自動で動くようになるの?」
こんな風に感じたことはありませんか? SharePointの「発行承認ワークフロー」や「コンテンツ承認」機能は、重要な資料やページを公開する前に、上司や担当者の承認を得るための非常に大切な仕組みです。これにより、誤った情報が公開されるのを防ぎ、情報の品質と信頼性を保つことができます。しかし、この承認ワークフローが自動的に始まらないと、手動での依頼が必要になり、せっかくの自動化のメリットが失われてしまいます。
SharePointの発行承認ワークフローが自動的に開始されない原因はいくつか考えられますが、その多くは特定でき、適切な設定変更で解決できます。これは、ワークフロー自体の設定、ドキュメントライブラリの細かな設定、あるいはユーザーの権限によるものかもしれません。
「発行承認ワークフロー」ってどんなもの?なぜ自動で動かしたいの?
SharePointにおける「発行承認ワークフロー」とは、ドキュメントライブラリやリストに保存されたコンテンツ(ファイルやリスト項目、サイトのページなど)が、一般のユーザーに公開される前に、あらかじめ決められた承認者(例えば、部署の責任者やコンテンツの管理者)による確認と承認を求める一連のプロセスを指します。これは、特に情報公開のガバナンス(情報管理のルール)を強化するために使われます。
なぜ「自動で」承認ワークフローを動かしたいのか?
承認ワークフローを自動的に開始させることには、たくさんの良い点があります。
- 情報公開の漏れ防止: 承認が必要なコンテンツは、必ず承認プロセスを通るようになるため、承認されていない情報が誤って公開されてしまうのを防ぎます。
- 手間と時間の削減: コンテンツが作成・更新されたら、自動で承認者に依頼が飛び、手動でメールを送ったり、承認の催促をしたりする手間がなくなります。これにより、公開までのリードタイムを短縮できます。
- プロセスの標準化: 誰がコンテンツをアップロードしても、常に同じ承認プロセスが適用されるため、業務の標準化が図れます。
- 状況の見える化: 承認が今どこまで進んでいるのか、誰の承認待ちになっているのかが、フローの状況から確認しやすくなります。
ワークフローの種類と現在の主流
SharePointの承認ワークフローには、主に二つの種類があります。
- 従来の「発行承認ワークフロー」:これは、SharePointのクラシック環境に元々組み込まれているワークフロー、またはSharePoint Designer(シェアポイント・デザイナー)というツールで作られたワークフローを指します。
- Power Automateによる「コンテンツ承認」:現在のモダンSharePoint Online環境では、Power Automate(パワー・オートメイト)というツールを使って、より柔軟で高機能な「コンテンツ承認」のフローを作成することが主流になっています。例えば、「SharePointでファイルが作成または変更されたら、Power Automateで承認依頼を送り、結果を反映する」という形で実装されます。
この記事では、主にPower Automateを使った現代のコンテンツ承認を中心に、従来のワークフローについても触れながら解説していきます。
承認ワークフローが「自動で開始されない」主な原因
SharePointの発行承認ワークフローやコンテンツ承認フローが自動で始まらない場合、様々な理由が考えられます。エラーメッセージが出ないことも多いため、一つずつ確認していくことが大切です。
1. ドキュメントライブラリの設定に問題がある
ワークフローが紐づいているドキュメントライブラリやリストの設定が、自動開始の条件を満たしていない場合があります。
- 原因:
- 「コンテンツの承認を必須にする」設定が有効になっていない:これが最も基本的な原因です。ドキュメントライブラリで、コンテンツを公開する前に承認が必要だ、という設定がそもそも有効になっていないと、ワークフローは自動で起動しません。
- 「メジャーバージョンとマイナーバージョン」が有効で、かつ「ドラフトアイテムのセキュリティ」が設定されている:ドキュメントライブラリでバージョン管理が有効になっており、特に「下書きアイテムのセキュリティ」(誰が下書きアイテムを表示できるか)が設定されていると、コンテンツが「下書き」(マイナーバージョン)としてアップロードされた場合、それが承認ワークフローのトリガーにならないことがあります。あるいは、承認されるまで主要なバージョン(メジャーバージョン)として公開されないため、承認フローが開始されません。
- 「チェックアウトを必須にする」が有効だが、ファイルがチェックインされていない:ファイル編集前にチェックアウトが必須になっている場合、ファイルを編集後にチェックインしないと、その変更が「下書き」のままになり、ワークフローが起動しないことがあります。
- 具体的な対処法:
- 「コンテンツの承認を必須にする」を有効化する:承認ワークフローを適用したいドキュメントライブラリの「ライブラリの設定」を開き、「バージョン設定」をクリックします。「送信されたアイテムの承認を必須にする」の項目を「はい」に設定して「OK」をクリックします。
- バージョン管理の設定を見直す:同じく「バージョン設定」で、「下書きアイテムのセキュリティ」を確認します。もし「承認済みバージョンのユーザーのみ」や「アイテムを承認するユーザー」に設定されている場合、コンテンツが「下書き」のままだと承認ワークフローが起動しないことがあります。この設定を「下書きアイテムを読み取りできるユーザー」として「すべてのユーザー」または「アイテムを読み取りできるすべてのユーザー」に設定すると、ワークフローがトリガーされやすくなる場合があります。
- ファイルを必ず「チェックイン」する:「チェックアウトを必須にする」設定が有効な場合、ファイルを編集後に必ず「チェックイン」操作を行い、コメントを付与して変更を保存してください。
2. Power Automateフロー(または従来のワークフロー)の設定に問題がある
ワークフロー自体の設定が、自動開始の条件やトリガーを満たしていない場合があります。
- 原因:
- トリガーが「自動開始」に設定されていない:Power Automateのフローの場合、トリガーの設定で、フローが自動で起動するように設定されていない。従来のSharePointワークフローの場合も、フローを自動で開始する設定が無効になっている。
- トリガーの条件が厳しすぎる/間違っている:Power Automateのトリガー(例: 「SharePointのファイルが作成または変更されたとき」)に、特定のキーワードやユーザー、列の値など、詳細な条件(フィルター)を設定しているが、その条件が満たされていない。または、条件が間違っているために、フローが起動すべき状況でも起動しない。
- フローが停止している/エラーになっている:Power Automateのフロー自体が「オフ」の状態になっている、または以前の実行でエラーが発生し、停止している。
- フローが公開されていない(従来のワークフロー):SharePoint Designerで作成したワークフローが、正しく「発行」されていない、またはアクティブ化されていない。
- 具体的な対処法:
- Power Automateフローのトリガー設定を確認する:フローを編集モードで開きます。フローのトリガー(例: 「ファイルが作成または変更されたとき」)をクリックし、「設定」を開きます。「このフローが実行されるタイミング」で「項目が作成されたとき、または項目が変更されたとき」など、自動で動くトリガーが選択されていることを確認します。
- Power Automateフローのトリガー条件を確認する:トリガーに設定されている「詳細オプションを表示」や「設定」内の「トリガー条件」を確認します。ここに、特定の列の値が変更された場合のみ起動する、特定のユーザーによって変更された場合のみ起動するといった条件が設定されていることがあります。この条件が、あなたが期待する自動開始のシナリオと合致しているか、または厳しすぎないかを確認・修正します。
- Power Automateフローが「オン」になっているか確認する:Power Automateポータルで、フローのステータスが「オン」になっているか確認します。もし「オフ」になっていれば、「オンにする」をクリックして有効化します。
- Power Automateフローの実行履歴を確認する:フローの詳細画面の「28日間の実行履歴」を確認します。もしフローが起動しているがすぐに「スキップ」されている場合、トリガー条件が満たされていない可能性が高いです。エラーになっている実行があれば、その詳細を確認し、問題解決を行います。
- 従来のワークフローの場合:SharePoint Designerでワークフローを確認し、正しく発行され、リストに紐づけられ、自動開始が設定されているかを確認します。
3. ユーザーのアクセス権限に問題がある
コンテンツをアップロード・変更するユーザーや、ワークフローを起動するアカウントの権限が不足している場合があります。
- 原因:
- ユーザーの権限不足:コンテンツを作成または変更するユーザー(フローのトリガーとなる操作を実行する人)が、そのコンテンツの「変更」や「アイテムの追加」権限しか持っておらず、ワークフローを開始するための十分な権限を持っていない場合。
- フローが使用する接続アカウントの権限不足:Power Automateのフローが、SharePointに接続するために使用するアカウント(コネクションの認証情報)が、ワークフローを起動したり、承認状況を更新したりするための十分な権限を持っていない。
- 具体的な対処法:
- コンテンツを操作するユーザーの権限を確認する:そのコンテンツをアップロード・変更するユーザーが、該当のドキュメントライブラリやリストに対して「編集」権限以上を持っていることを確認します。
- Power Automateフローの接続アカウントの権限を確認する:フローが使用しているSharePointへの接続アカウント(通常はフローの所有者のアカウント)が、対象のSharePointサイトやドキュメントライブラリに対して、「編集」権限(コンテンツの作成・変更のため)、および承認状況の更新やワークフロー開始に必要な権限(「リストの権限の管理」や「サイトへの参加」など)を持っていることを確認します。もし不足していれば、SharePoint管理者に権限の付与を依頼し、フローの接続を再認証します。
4. SharePoint環境やパフォーマンスの問題
ごく稀に、SharePoint環境自体の一時的な不具合や、パフォーマンスの問題が原因で、ワークフローが自動開始されないことがあります。
- 原因:
- SharePointのクロール遅延:ファイルがアップロードされた後、検索インデックスの更新(クロール)が遅延している場合、Power Automateのトリガーが変更を検知するまでに時間がかかることがあります。
- SharePointスロットリング(API制限):短時間に大量のコンテンツがアップロード・変更されたり、多くのフローが起動しようとしたりする場合、SharePointが一時的に要求を制限(スロットリング)し、トリガーの起動が遅れたり、スキップされたりすることがあります。
- Microsoft 365サービスの一時的な不具合:マイクロソフトのSharePoint Onlineサービスに、一時的な障害やメンテナンスが発生している場合。
- 具体的な対処法:
- 時間をおいて再試行する:多くの場合、一時的な遅延であれば、数分から数時間待ってから再度コンテンツの作成・変更を試すと、自動でワークフローが起動することがあります。
- Power Automateのトリガーに「再試行ポリシー」を設定する:トリガー自体には再試行ポリシーを設定できませんが、トリガーの直後のアクションに再試行ポリシーを設定したり、エラーハンドリングを設定したりすることで、トリガーの遅延や、その後の処理の失敗に対応できます。
- Microsoft 365 サービス正常性ダッシュボードを確認する:会社のMicrosoft 365管理者に依頼し、Power AutomateやSharePoint Onlineのサービスに障害が発生していないか確認してもらいます。
- 大量アップロード時の対策:もし大量のファイルを一度にアップロードする場合、自動起動の信頼性が低下することがあります。その場合は、ファイルのアップロード後に、別の手動トリガーのフローやスケジュールされたフローで、未承認のコンテンツをまとめて処理するなどの代替策を検討します。
承認ワークフローを確実に自動開始させるための「大切なポイント」
SharePointの発行承認ワークフローを安定して自動開始させるためには、原因の特定と、以下のベストプラクティスを実践することが非常に重要です。
1. ドキュメントライブラリの「バージョン設定」を適切に理解・設定する
- 「送信されたアイテムの承認を必須にする」:これは、自動承認ワークフローが起動するための基本中の基本です。必ず「はい」に設定しましょう。
- 「下書きアイテムのセキュリティ」:ドキュメントライブラリの「バージョン設定」で、「下書きアイテムのセキュリティ」(誰が下書きアイテムを表示できるか)の設定を確認してください。ここが「アイテムを承認するユーザーのみ」など、非常に制限されている場合、Power Automateが下書きの変更を検知しにくいことがあります。可能であれば、「アイテムを読み取りできるすべてのユーザー」など、より緩やかな設定を一時的に試してみることで、問題が解決する場合があります。
- メジャーバージョン/マイナーバージョン:メジャーバージョンとマイナーバージョン(例: 0.1, 0.2, 1.0, 1.1など)が有効な場合、通常、ワークフローはコンテンツがメジャーバージョンとして発行されたときに起動するように設定されるか、メジャーバージョンとして承認されることを前提とします。
2. Power Automateフローのトリガーと条件を厳密に設定・確認する
- トリガーの選択:「ファイルが作成または変更されたとき (プロパティのみ) (SharePoint)」は、ファイルのメタデータ(列)変更を検知するのに適しています。「ファイルが変更されたとき (SharePoint)」は、ファイルの内容変更を検知するのに適しています。両方の変更をトリガーにしたい場合は、両方のトリガーを使うか、より汎用的なトリガーを検討する必要があります。
- トリガー条件の活用:トリガーの「設定」にある「トリガー条件」をうまく活用することで、特定のユーザーによる変更のみを対象にしたり、特定の列の値が変更された場合のみに絞り込んだりできます。ただし、条件が厳しすぎると、期待通りにフローが起動しない原因となるため、設定後には十分なテストが必要です。
- 「差出人」のフィルタリング:もしフローが自動的にコンテンツのステータスを更新する場合、その更新が再びトリガーを起動し、無限ループに陥る可能性があります。トリガー条件で「変更者(または作成者)がフローのアカウント以外である場合のみ」起動するようにフィルタリングすることで、この無限ループを防げます。
3. Power Automateフローの「接続」が常に有効かを確認する
フローの接続アカウントのパスワードが変更されたり、認証が切れたりすると、フローがSharePointにアクセスできず、トリガーが起動しない、または途中で失敗します。
- 対策: Power Automateポータルの「データ」→「接続」で、SharePointへの接続が常に「有効」であることを確認し、必要に応じて再認証を行ってください。
4. エラーハンドリングと通知を設定する
ワークフローが自動開始されない、または途中で失敗した場合に備えて、必ず「エラーハンドリング」を設定し、問題が発生したことを管理者へ通知する仕組みを構築しておきましょう。
- 設定方法: フローの「設定」で、「タイムアウト」を設定し、承認者が応答しない場合に通知を送る。また、フローの各アクションに「再試行ポリシー」を設定し、一時的なエラーを自動で吸収できるようにします。
5. テスト環境での十分な検証
本番環境で運用する前に、必ずテスト環境でフローを十分にテストしてください。特に、
- ファイルの新規作成と更新: どちらの操作でも期待通りに起動するか。
- 異なるユーザーでの操作: 権限の異なるユーザー(例: 編集者、閲覧者)がコンテンツを操作した場合に起動するか。
- 特定の条件: トリガー条件を設定している場合、その条件を満たす場合と満たさない場合の両方でテストする。

