【Power Automate入門】備品購入申請システム#5 ~申請フローの骨格を作ろう:トリガー・変数・項目の取得~
Power Automateの「備品購入申請システム開発」シリーズの第5回目ですぞ!
第5回目の今回から、いよいよ実装に入ります。
まずは、申請・承認フローの「骨格」を作っていきましょう!
第4回目では、フローを作り始める前の準備として、「環境」「ソリューション」「接続参照」「環境変数」の4つを理解し、実際に作りながら、開発の土台を整えました。
第5回目の今回は、第3回で作った設計書をPower Automateの「アクション」に置き換えながら、手動トリガー → 変数 → SharePoint「項目の取得」という、フローの骨格を作っていきます!
- 設計書をもとに、Power Automateを実装するポイント
- 1機能ずつ実装→テストで確認する、実装のポイント
- 手動トリガー・変数・「項目の取得」の使い方
Power Automateについて詳しく学びたい方は、ぜひパワ実のPower Automate入門書もご覧ください!
YouTube動画で見たい方は、こちらからどうぞ!
今回実施するところ
このシリーズでは、Power AutomateとPower Appsを使って、申請・承認フローを一から作っていきます。
第5回となる今回から、③のシステム開発、つまり実装に入ります!

いきなり全部を作るのではなく、まずは、トリガーからデータの取得までの「骨格」を作り、動くことを確認します。
そのうえで、次回以降、ループや条件分岐、承認といった処理を追加していきます。
ソリューションの中にPower Automateのフローを作っていきますぞ!
実装の進め方
第3回の設計を振り返る
第3回では、フローの処理の流れをExcelに箇条書きで書き出しました。

- トリガー:Power Appsからフローを呼び出す
- 変数の初期化:申請IDと保存先フォルダパスを変数に格納
- 申請データの取得:申請IDをもとに、SharePointから申請データを取得
- 添付ファイルの処理:添付ファイルを1件ずつ処理 ★ループ
今回実装するのは、前半の1~3の、トリガー、保存先フォルダパスの変数、申請データの取得です。
ループ処理を使った添付ファイルの保存、後半の承認や通知機能は次回以降に実装します。
テーブルは、「申請一覧」と「申請添付ファイル」の2つを設計しました。
この設計書を手元に置いて、進めていきましょう!
設計書とフローのアクションの対応
実装とは、この設計書の内容を、Power Automateの「アクション」に置き換えていく作業です。
| 設計書の手順 | フローのアクション | 作る回 |
|---|---|---|
| トリガー:Power Appsから フローを呼び出す | 手動トリガー(入力:申請ID) →あとでPower Appsに差し替え | 今回 |
| 変数の初期化:保存先フォルダパス | 変数の初期化(フォルダパスを作成) | 今回 |
| 申請IDをもとに申請データを取得 | SharePoint「項目の取得」 | 今回 |
| 添付ファイルを1件ずつ格納 ★ループ | Apply to each+ファイルの作成 +項目の作成 | 第6回 |
| 金額30万円で分岐 ★分岐 | 条件 | 第6回 |
| 課長・部長の承認 → 分岐 ★分岐 | 承認の開始と待機 + 条件 | 第7回 |
| リスト更新・メール通知 | 項目の更新 + メールの送信 | 第7回 |
この表は、左の列に設計書の手順、中央の列にそれに対応するPower Automateのアクションを記載しています。
今回作る範囲
今回作る範囲を、フローの全体像で確認します。

今回は、手動トリガーで申請IDを受け取り、申請IDと、添付ファイルの保存先フォルダパスを変数に入れ、SharePointから申請データを取得するところまで実装します。
小さく作って動かす
実装を進めるうえで大事なポイントを、3つあげます。
- 1機能の実装→テストを繰り返し、実装を進める
1機能ごとに実装とテストを行い、動作確認後に次の機能へ進む。 - 実行履歴の入力/出力を確認する
正しい入出力となっているか確認することで、デバッグスキルも身に付く - エラー発生時は、直前に実装したアクションを確認
1機能ずつ進めていれば、エラーの原因は直前に追加した機能である可能性が高い
一気に作ってから動かすと、エラー対処が大変ですからな…
今回の記事も、この進め方で実装していきます。
準備:SharePointリスト・環境変数・フロー作成
SharePointリストとドキュメントライブラリを作成する
最初に、準備を進めていきます。
まずは、SharePointにリストとライブラリを作りましょう。
第3回のテーブル設計に沿って、リスト2つと、ドキュメントライブラリ1つを作ります。
| 名 前 | 種 類 | 役 割 |
|---|---|---|
| 申請一覧 | リスト | 申請データ情報 (申請者・品目名・金額・ステータス・承認者など) |
| 申請添付 ファイル | リスト | 添付ファイルの情報 (申請ID・ファイル名・ファイルURL) |
| 申請書類 | ドキュメント ライブラリ | 添付ファイルの実体 (/申請書類/{申請ID}/ に保存) |
1.まず、「申請一覧」リストを作ります。
列は第3回の設計書どおり、申請者・申請部署・品目名・数量・金額・申請理由・ステータス・課長/部門長の承認者・承認日・コメントです。
申請一覧は、Power Appsから登録する申請情報で、SharePointリストの既存列も使います。


2.2つ目は「申請添付ファイル」リストです。
申請ID、ファイル名、ファイルURLの3列で、第6回で使います。


こちらも内部名(英語名)のまま作成ですぞ
3.3つ目は「申請書類」ドキュメントライブラリです。
ここは添付ファイルの実体を保存する場所で、現時点では空のままで問題ありません。

テストデータと環境変数の値
次に、テストデータと環境変数です。
「申請一覧」リストに、30万円未満の申請を1件だけ入れておきます。
- 申請者:パワ実(自分)
- 申請部署:総務部
- 品目名:ノートPC用モニター
- 数量:1
- 金額:45,000
- 申請理由:在宅勤務用
- ステータス:申請中

ID列は「1」になっており、このIDを後でテスト実行するときに使います。
今回は1件で十分で、30万円以上のデータは、次回以降に追加します。
続いて、第4回で作った環境変数「SharePointサイトURL」と「申請一覧リスト名」の値を、今作ったサイトとリストに設定します。
1.Power Automateの画面に移って、ソリューション「PA入門_申請承認フロー」を開き、「オブジェクト」から「環境変数」を選択します。

2.環境変数「SharePointサイトURL」を開いて、現在の値を、今作成したサイトに切り替えます。

3.「申請一覧リスト名」も同様に、今作成した「申請一覧」リストに設定します。
これで準備は完了です!
ソリューション内にフローを作成する
準備の最後に、ソリューション内にフローを作成します。
フローは、前回お話ししたとおり、必ずソリューションの中に作ります。
接続参照と環境変数を使い、リリース時にソリューションごと本番環境へ移せるからです。
- フロー名:備品購入申請・承認フロー
- トリガー:手動でフローをトリガーします
- 確認:SharePointアクション追加時に、接続参照が選ばれていること
1.ソリューション「PA入門_申請承認フロー」を開きます。

2.ソリューションを開いた状態で、左側「オブジェクト」をクリック→左上の「新規」から「自動化」→「クラウド フロー」→「すぐに」を選択します。

3.フロー名は「備品購入申請・承認フロー」、トリガーは「手動でフローをトリガーします」を選択して、「作成」をクリックします。

フローの編集画面が開きました。トリガーが1つだけある状態です。
ここに、1つずつアクションを足していきます。

フローの骨格を作る
①手動トリガー:入力「申請ID」を追加する
ここから、フローの骨格を作っていきます。
まずはトリガーです。
第3回の設計では、フローはPower Appsのボタンから呼び出される、Power Appsトリガーでした。
ですが、申請アプリは第10回で作るので、今はまだありません。
そこで今回は、「手動でフローをトリガーする」手動トリガーで代替します。
1.ソリューションの「オブジェクト」→「クラウド フロー」から、作成したフローを開いて「編集」をクリックします。

- 入力の種類:数値
- 入力名:申請ID
- 説明:申請一覧リストのID
- 必須:はい
2.トリガーをクリックして左側の設定を開き、「入力の追加」から「数」を選択します。

3.入力名は「申請ID」にします。
説明に「申請一覧リストのID」と入れておくと、後で見たときに分かりやすいです。

入力は、この「申請ID」1つだけです。
添付ファイルの情報は、第6回でSharePoint側から取得します。
②変数の初期化:申請IDとフォルダパス
トリガーの次は、「変数の初期化」です。
今回は、変数を2つ作ります。

| 項目 | ① 申請ID | ② 保存先フォルダパス |
|---|---|---|
| 種類 | 整数 | 文字列 |
| 値 | トリガーの「申請ID」(動的なコンテンツ) | /申請書類/ + 変数「申請ID」 |
| 結果の例 | 1 | /申請書類/1 |
1つ目は「申請ID」で、トリガーで受け取った申請IDを入れます。
トリガーの出力をそのまま使うこともできますが、
いったん変数に入れて、以降のアクションはこの変数を見るようにします。
こうしておくと、あとでトリガーを「すぐに」から「Power Apps」に置き換えたときに、直すのは変数の値1か所だけで済み、他のアクションに影響しません。
2つ目は「保存先フォルダパス」です。
値は「/申請書類/申請ID」と入るように設定します。
例えば、「/申請書類/1」のようになります。

この変数を使って、次回以降、添付ファイルをドキュメントライブラリ「申請書類」の中に、申請IDごとのフォルダを作って保存できるようにします。
1.トリガーの下の「+」からアクションを追加します。
検索で「変数」と入れて、「変数を初期化する」を選びます。

2.1つ目の変数は、名前「申請ID」、種類「整数」にします。
値のところをクリックして、右側の雷アイコン「動的なコンテンツ」から、トリガーの「申請ID」を選びます。

3.もう1つ「変数を初期化する」を追加し、名前「保存先フォルダパス」、種類「文字列」にします。
値は、最初に直接「/申請書類/」と入力し、その後ろに動的なコンテンツで変数の「申請ID」を追加します。

4.アクション名を「変数を初期化する – 保存先フォルダパス」に変えて、いったん保存しておきます。
このフォルダパスは、第6回で添付ファイルをドキュメントライブラリに保存するときに使うので、今回は、値が正しく設定できればOKです。
③項目の取得:SharePointサイト・リストを環境変数で指定
次に、SharePointの「項目の取得」です。
変数の申請IDと一致する申請データを、1件取得します。
- サイトのアドレス:環境変数「SharePointサイトURL」
- リスト名:環境変数「申請一覧リスト名」
- ID:変数「申請ID」
ここで大事なのは、サイトのアドレスとリスト名を、一覧から直接選ばないことです。
1.「+」からアクションを追加して、SharePointコネクタの「項目の取得」を追加します。

2.サイトのアドレスは、一覧から選ばずに「カスタム値の入力」を選びます。
「動的なコンテンツ」をクリックし、「パラメーター」の欄にある環境変数「SharePointサイトURL」を選択します。

3.リスト名も同様に、「カスタム値の入力」から、動的なコンテンツ「パラメーター」の中の環境変数「申請一覧リスト名」を選択します。
これにより、本番環境に移すときにフローを直さずに、環境変数の値を変えるだけで切り替えることができるようになります。
4.IDには、動的なコンテンツから変数の「申請ID」を選びます。

5.アクション名を「項目の取得 – 申請データの取得」に変えて、ここまで保存しておきましょう。

「項目の取得」は何のために入れるのか
トリガーで受け取るのは「申請ID」のみです。
申請内容を確認するために、SharePointから申請データを取得します。

「項目の取得」で申請IDに該当するデータを取得すると、品目名や金額、申請者などを使えるようになります。
| 動的なコンテンツ | 使う場面 |
|---|---|
| 金額 | 承認ルートの分岐 |
| 品目名・申請者 DisplayName | 承認依頼の本文 |
| 申請者 Email | 結果通知メールの宛先 |
| ステータス Value | 項目の更新 |
ここで取得したデータは、次回以降、金額による承認フローの分岐や、通知時の情報として使います。
テスト実行と実行履歴
テストの手順
では、ここまで作った骨格のフローを動かしてみましょう!
- フローを保存する
- 右上の「テスト」から「手動」を選び、「テスト」をクリック
- 申請IDに、テストデータのID「1」を入力
- 「フローの実行」をクリック
- 実行履歴を開いて確認


手動トリガーなら、アプリがなくても値を入力してフローを実行できます。
すべてのアクションに緑のチェックが付いていれば、実行は成功です。

実行履歴で入力と出力を読む
実行履歴で、各アクションを開いて、入力と出力を見ていきます。
1.手動トリガーは、出力に、入力した申請ID「1」が入っています。

2.「変数の初期化 – 申請ID」の入力を見てみると、申請IDのvalueに1がそのまま入っています。

3.「変数の初期化 – 保存先フォルダパス」を見てみると、「/申請書類/1」という値が入っていることが分かります。

4.「項目の取得」の入力を見てみると、SharePointリストのサイトとテーブルのIDが入っています。
これは、環境変数で設定した値が入力されています。

5.出力の下のほうを確認すると、テストデータとしてSharePointリストに入力した値が見えています。
品目名が「ノートPC用モニター」、金額が45,000、ステータスが「申請中」になっています。

前のアクションの出力が、次のアクションの入力になっていますな!
第2回で学んだ「入力→出力」のつながりが、実物で確認できますぞ。
このように、実行が成功しただけではなく、入力と出力を確認して読む習慣をつけておくと、今後のテスト・デバッグがとても楽になります。
これで、フローの骨格が完成しました!
今回の判断ポイント
今回は、手動トリガー、申請IDとフォルダパスの変数、項目の取得という、フローの骨格を作りました。

- Power Appsトリガー→手動トリガーで代替
アプリができたら差し替える。入力を同じ「申請ID」にしておけば、後続は変えなくてよい - SharePointサイト・リストは環境変数を使う
本番環境へ移すとき、フローを直さずに値だけ切り替えられる - 申請IDと、フォルダパスは変数に格納
トリガー差し替え時の影響をなくし、フォルダパスは次回のループで使う
判断ポイントがわかると、自分の業務でも活用しやすいですな!
操作手順だけでなく、「なぜそうしたか」という判断のポイントも確認していただければと思います。
さいごに
この記事は、Power Automate入門の「申請・承認フロー開発シリーズ」の5回目で、実装の第1歩として、申請・承認フローの骨格を作りました。
おさらいすると、以下のようになります。
- 実装は、設計書を見ながら、実際のPower Automateのアクションに置き換え、機能ごとに実装→テストを繰り返しながら進める
- 手動トリガー → 変数 → 項目の取得という、フローの骨格ができた
- 環境変数と変数を使い分けて、あとから差し替えやすい形にしておく
1つ追加したら実行し、実行履歴を確認する習慣をつけましょう。
それがデバッグ力につながります。
次回は、フローにループ・条件分岐・関数を使って、添付ファイルの保存と金額に応じた承認ルートを実装しますぞ!












