はじめに
Power Automateのフロー(以降はフローと記載)を複数のリストで再利用するテクニックとして、以下の2種類を組み合わせたフローの作成方法と流用方法を紹介します。※1
・変数を使用したフロー
・SharePoint Online (以降はSharePoint と記載)アイテム更新フロー
※1 2022/2/1時点の製品仕様を基に記述します。
対象読者
SharePointとPower Automateについて、以下を理解している前提で記載しています。
・SharePoint
・カスタムリストの作成方法
・カスタムリストのリストと列内部名
・Power Automate
・フローの組み立て方
1.フローで変数を使うメリット
SharePointのアイテム更新フローで変数を使うと、同じようなフローを作成する際に工数及びミスを削減できます。ここでは、変数無しフローと変数有りフローの流用時の違いを記載します。
1.1 変数無しフローの流用
フローを作成する際、アクションのパラメータ設定が必要です。作成したフローを流用する場合は、作成済みのフローをコピーし、コピーしたフロー内のパラメータを修正する必要があります。
通常、SharePoint関連のアクションでは、カスタムリスト情報(リストURLやリスト名)を直接パラメータ設定する必要があります。そのため、フローを流用した際は以下の図のように直接パラメータ設定した箇所全てを修正する必要があります。
1.2 変数有りフローの流用
変数を使用したフローを流用した場合を想定します。以下の図のように各アクションは変数のパラメータを参照するため、設定した変数のパラメータを変更するのみとなります。そのため、大幅にパラメータ変更箇所を減らすと同時に、変更数の多さによるミスを減らすことが可能となります。
2.変数を使ったフローの作成
変数を使用したSharePointアイテム更新フロー作成手順を紹介します。ここでは、カスタムリストとフローを用意します。本フローはカスタムリストのアイテムが作成/更新された時、「テスト列」列の値を空欄から「テスト」の文字列に変更します。
2.1 カスタムリストの作成
以下のようなカスタムリストを作成します。
No. | 項目名 (表示名) |
内部名 ※2 | 種類 | 列の種類 | 備考 |
---|---|---|---|---|---|
1 | テストリスト | TestList | カスタムリスト | - | カスタムリストを作成したサイトのアドレスは以下と仮定します。 URL:https://○○/sites/▲▲ |
2 | タイトル | Title | 列 | 1行テキスト列 | 本列は既存列です。 |
3 | テスト列 | TestCol | 列 | 1行テキスト列 | - |
※2 半角英数字(記号を含まない)のみの名前にします。
2.2 変数で設定したフローを作成
以下のようなフローを作成します。
1)「アイテムが作成または変更されたとき」トリガー
トリガーを作成します。本トリガーはカスタムリストでアイテムの新規作成/更新が行われたかを検知します。
2)「変数を初期化する」アクション
「サイトのアドレス」、「カスタムリスト表示名」、「カスタムリスト内部名」を設定した変数を作成します。
3)「条件」アクション
アイテムの更新可否を決める条件分岐を作成します。以下の設定により、本フローのアイテムの更新が1度しか動作しません。そのため、無限ループを避けることができます。
4)「SharePoint に HTTP 要求を送信します」アクション
「条件」アクションの「はい」アクション内に、アイテムの更新を行うアクションを作成します。
No. | 大項目 | 小項目 | パラメータ ※3 |
---|---|---|---|
1.0 | サイトのアドレス | - | 「サイトのアドレス変数」 |
2.0 | 方法 | - | POST |
3.0 | URI | - | _api/web/lists/GetByTitle('「カスタムリスト表示名変数」')/Items('「アイテムが作成または変更されたときトリガーの対象アイテムID」') |
4.1 | ヘッダー | Accept | application/json; odata=verbose |
4.2 | ヘッダー | Content-Type | application/json; odata=verbose |
4.3 | ヘッダー | X-HTTP-Method | MERGE |
4.4 | ヘッダー | IF-MATCH | * |
5.0 | ボディ | - | {"__metadata":{"type":"SP.Data.「カスタムリスト内部名変数」ListItem"},"TestCol":"テスト"} |
※3 エンターキーなどの改行コードは入れないようにしてください。
変数の入力は、アクション内の枠をクリック後、表示されるダイアログから変数を選択することで可能です。
以上により、カスタムリストとフローは完成となります。
3.フローの流用
「2. 変数を使ったフローの作成」で作成したフロー流用手順を紹介します。
3.1. フローの流用先カスタムリストの用意
フローの流用先カスタムリスト(以降、流用先カスタムリスト)を用意します。
No. | 項目名 (表示名) |
内部名 ※4 | 種類 | 列の種類 | 備考 |
---|---|---|---|---|---|
1 | テストリスト2 ※5 |
TestList2 ※5 | カスタムリスト | - | 流用先カスタムリストを作成したサイトURLは以下と仮定します。 URL:https://●●/sites/■■ |
2 | タイトル ※5 |
Title | 列 | 1行テキスト列 | 本列は既存列です。 |
3 | テスト列2 ※5 |
TestCol | 列 | 1行テキスト列 | - |
※4 半角英数字(記号を含まない)のみの名前にします。
※5 値の変更が可能です。
3.2. フローの流用
作成したフローをコピーし、コピーしたフローのパラメータを変更します。
1)フローのコピー
フロー詳細 > 「名前を付けて保存」> 「このフローのコピーを作成する」ダイアログを開きます。
「このフローのコピーを作成する」ダイアログでフロー名を登録し、「保存」ボタンをクリックします。
2)フローのパラメータ変更
コピーしたフロー内の各パラメータを変更します。変更が必要なアクションは「アイテムが作成または変更されたとき」トリガーと、「変数を初期化する」アクションとなります。各アクションのステータスは、流用先カスタムリスト情報を基に変更します。
今回作成したフローの場合、流用時に変更するパラメータの数は変数を使用しないフローと同じ5箇所となります。ただし、「SharePoint に HTTP 要求を送信します」アクションが4つに増えた場合、変数を使用しないフローは14箇所もパラメータを変更する必要がありますが、変数を使用したフローは5箇所のみとなります。
まとめ
Power AutomateとSharePointの連携機能はよく知られていますが、フローを流用前提としたフロー作成方法の記事は少ない印象です。変数を使うことで効率的なフロー作成の手助けになれば幸いです。