
- はじめに:Power Automateで誰もがぶつかる壁
- 難しさの正体は「アクションの使い方」だけではない
- Power Automateを構成する3つのレイヤー
- 「アクションをつなぐ」とは、データをつなぐこと
- アクションを接続するときに確認する5つの観点
- 設計のコツ:「後ろから考える」逆算アプローチ
- 学習の型:やりたいことからテストまでの流れ
- Composeは「データの中身を見る」ための道具
- 「動的なコンテンツを選ぶ」ことが目的ではない
- まとめ:フローは「線」ではなく「データ」で見る
はじめに:Power Automateで誰もがぶつかる壁
Power Automateを勉強していると、多くの人が次のような疑問にぶつかります。
- 次にどのアクションを置けばいいのか分からない
- このアクションと次のアクションをどうつなげればいいのか分からない
- 動的なコンテンツがたくさん出てくるけれど、どれを選べばいいのか分からない
- とりあえずアクションを並べて、テスト実行してエラーを直す……というやり方になってしまう
こうした行き詰まりを整理するために有効なのが、フローを「アルゴリズム・アクション・データ」という3つのレイヤーに分けて考える方法です。本記事では、この考え方を軸に、Power Automateを設計・学習するときの「型」を整理します。
難しさの正体は「アクションの使い方」だけではない
Power Automateには、SharePointからの項目取得・更新、Teamsへのメッセージ投稿、条件分岐、繰り返し処理、データ加工など非常に多くのアクションがあります。しかし、それぞれの使い方を個別に覚えても、
「結局、このアクションと次のアクションをどうつなげればいいの?」
という問題は残ります。ここで重要なのは、Power Automateを単なる「アクションの組み合わせ」ではなく、処理の流れ+データの流れとして捉えることです。
Power Automateを構成する3つのレイヤー
フローは次の3層構造で捉えると整理しやすくなります。
| レイヤー | 問い | 役割 |
|---|---|---|
| ① アルゴリズム | 処理をどう進めるか | 業務ロジックの設計 |
| ② アクション | その処理を何で実現するか | Power Automate上の実装 |
| ③ データ | 各アクションに何を渡すか | 入出力の設計 |
この3つを混ぜずに考えることが、フロー設計を理解するうえでの出発点になります。
第1層:アルゴリズム
まず「この業務を、どのような論理で処理するのか」を、Power Automateの画面に置き換える前に考えます。
例:「SharePointに登録された案件について、未処理ならTeamsに通知し、通知済みに更新する」
案件が登録・更新される
↓
通知状態を確認する
↓
未処理か?
┌────┴────┐
YES NO
↓ ↓
通知する 何もしない
↓
通知済みに更新
アルゴリズムには次の基本的な「型」があります。
- 逐次処理:処理を上から順に実行する(A → B → C)
- 条件分岐:条件によって処理内容そのものが変わる(「最終アクションが複数あるから分岐」ではなく「処理内容が変わるから分岐」と捉えるのがポイント)
- 反復処理:複数のデータに同じ処理を繰り返す(Apply to eachの本質)
- 並列処理:互いに依存しない処理を並行して実行する(例:Teams通知とメール送信を同時に行う)
学習初期は、まず逐次処理とデータの受け渡しの理解を優先するとよいでしょう。
第2層:アクション
アルゴリズムが決まったら、「この処理をPower Automateの何で実現するのか」を考えます。
【アルゴリズム】 【アクション】
未処理なら通知する → トリガー → 条件 → Teamsにメッセージを投稿
↓ ↓
通知済みにする → SharePoint項目を更新
アクションは、アルゴリズムをPower Automate上で実装するための「部品」と捉えると分かりやすくなります。
第3層:データ(最も難しいレイヤー)
「SharePoint項目を更新」のようなアクションを置くと、サイトのアドレス・リスト名・ID・各列の値などの入力を求められます。ここで「IDには何を入れればいいの?」という疑問が生じます。これがデータ設計の問題です。
「アクションをつなぐ」とは、データをつなぐこと
画面上ではアクションを縦に並べてつなぎますが、本質的にはアクションAが出力したデータを、アクションBが必要とする入力に渡しているだけです。
アクションA │ 出力データ ↓ アクションB │ 出力データ ↓ アクションC
「動的なコンテンツ」は、前段のアクションが出力したデータを後段のアクションへ渡すための候補にすぎません。表示されたからといって、そのまま入れてよいとは限らない点に注意が必要です。
アクションを接続するときに確認する5つの観点
同じような名前のデータをなんとなく選ぶのではなく、次の5点を確認すると整理しやすくなります。
- 意味:例えば「ID」と一口に言っても、SharePoint項目のID・ユーザーID・メッセージID・ファイルIDなど、同名でも意味が異なる場合がある
- データ型:文字列/数値/真偽値/日付/配列/オブジェクトなど、後段が期待する型と合っているか
- 件数:1件なのか複数件なのか。複数件を1件ずつ処理するなら反復処理が必要になる
- 構造:単純な値(文字列)なのか、複数のプロパティを持つオブジェクトなのか
- 識別子:どのデータを指しているかを特定する情報は何か(例:SharePointの項目更新でIDが必要なのは、更新対象を一意に特定するため)
設計のコツ:「後ろから考える」逆算アプローチ
最終アクションから逆算して考えると、必要なデータが明確になります。
最終アクション:SharePoint項目を更新
↓
何が必要? → ID/案件番号/通知状態…
↓
それぞれどこにある?
↓
トリガーにある? 別の取得アクションが必要? 検索が必要?
最終アクションが要求するデータが前段に存在しない場合は、中間アクションを追加します。中間アクションの役割は主に次の4つに整理できます。
- 取得:必要なデータを取得する(例:SharePointから項目を取得)
- 検索・絞り込み:条件に一致するデータを探す
- 変換:文字列・日付・配列などデータの形を変える
- 分解:複数件のデータを1件ずつ処理できる形にする
こう考えると、「何となくアクションを追加する」のではなく、「最終アクションが必要とするデータを作るためにこのアクションが必要」と論理的に説明できるようになります。
学習の型:やりたいことからテストまでの流れ
- やりたいことを決める
- 処理のアルゴリズムを考える(逐次/分岐/反復/並列)
- アルゴリズムをアクションに置き換える
- 最終的に実行したいアクションを確認する
- 最終アクションの入力欄を見る
- 各入力欄が要求するデータを確認する
- そのデータが前段にあるか探す
- あれば:動的なコンテンツで接続
- なければ:取得・検索・変換・分解のいずれかで作る
- 各アクションをデータで接続する
- Composeや実行履歴で確認する
- テスト実行する
Composeは「データの中身を見る」ための道具
設計段階では「この動的なコンテンツには何が入っているんだろう?」という疑問がよく出てきます。そこで役立つのがComposeです。前のアクションの出力をComposeに渡して実行すれば、実際の値を確認できます。さらに実行履歴を見れば、入力・処理・出力の流れを追うこともできます。Composeと実行履歴は、いわばデータの流れを観察するための道具です。
「動的なコンテンツを選ぶ」ことが目的ではない
意識が「この欄にはどの動的なコンテンツを入れればいい?」に向きがちですが、本当に考えるべきは「この入力欄が要求しているデータは何か」です。
要求されているデータ
↓
そのデータを持っているアクション
↓
動的なコンテンツ
動的なコンテンツから逆に考えるのではなく、要求されているデータから考えることがポイントです。
まとめ:フローは「線」ではなく「データ」で見る
Power Automateの画面上ではアクション同士が「線」でつながっているように見えますが、頭の中では「何のデータが、どこからどこへ移動しているのか」を追う方が本質的です。
| レイヤー | 問い | 具体例 |
|---|---|---|
| ① アルゴリズム | どう処理する? | 逐次・分岐・反復・並列 |
| ② アクション | 何を使って実現する? | 取得・検索・変換・条件・通知・更新 |
| ③ データ | 何を渡す? | 意味・型・件数・構造・識別子 |
Power Automateの「アクションをつなぐ」とは、画面上の箱を線でつなぐことではありません。前のアクションが出力したデータを、次のアクションが要求する入力として渡すことです。そして、そのデータの受け渡しを考えるときには「意味・型・件数・構造・識別子」の5つを見る。
この視点を持てるようになると、Power Automateのフローは「なんとなくアクションを並べるもの」から、「アルゴリズムとデータの流れを設計して組み立てるもの」として見えてくるはずです。










