技術情報ブログ
Power Platform
2022.01.12

Power Automate設計時のノウハウ紹介(3)【トリガーで得た動的コンテンツをそのまま使用するのはNG!】

Power Automate設計時のノウハウ紹介(3)【トリガーで得た動的コンテンツをそのまま使用するのはNG!】

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

Power Automateは、コーディングの知識がなくともお手軽に業務の自動化を行うことができる非常に有用なツールです。

しかし、誰でも簡単に始めることができるといえど、そこにはお作法が存在します。

お作法を守らずに作成すると、「他の人がメンテナンスできない」や「修正時のコストが大きい」といった問題が発生します。

そこで、Power Automateに関する案件を数多く対応してきた弊社が、現在までに蓄積した「Power Automate設計時のノウハウ」について紹介します。

本記事を読んでいただくことで、Power Automateを扱う際の「やるべきこと・やってはいけないこと」を知り、よりメンテナンス性の高いフローを作るコツを掴めるかと思います。

内容としては、既にPower Automateでフローを作成したことがある方に向けた記事です。 また、これからPower Automateを作成したい方も、事前に一読していただくことをお勧めします。

Power Automate初心者の方は、以下の記事も参考にしてください。
Power AutomateでExcelデータをSharePointにインポートするために考えること(第1回)

 

第3回目の今回は「トリガーの後には、データを取得するアクションを追加する」という内容についてお伝えしていきます。

 

アンチ・パターン(トリガーで得た動的コンテンツをそのまま後続アクションで使用)

最初にNG例について紹介します。

下記のPower Automateは「SharePointリストに項目が作成されたら、その情報をメールにて通知する」フローです。

トリガー(「アイテムが作成または変更されたとき」)で得た動的コンテンツ(toAddress Email・mailTitle・mailBody)を、後続アクション(「メールの送信(V2)」)でそのまま使用しています。

アンチ・パターン(トリガーで得た動的コンテンツをそのまま後続アクションで使用)
アンチパターン フロー

一見、問題のないフローに見えますが、トリガーで得た動的コンテンツを後続アクションで使用している場合、
トリガーを削除すると後続アクションの動的コンテンツも全て削除されてしまいます。

以下は、先程のフローからトリガーを削除した際の画像です。

「アイテムが作成または変更されたとき」アクションの削除に伴い、「メールの送信(V2)」アクションで使用されていたtoAddress EmailmailTitlemailBodyも削除されていることがわかると思います。

アンチ・パターン(トリガーで得た動的コンテンツをそのまま後続アクションで使用)
動的コンテンツの削除

フローを作成していくと、トリガーを変更することは多々あります。

このままでは、トリガーを変更するたびに後続アクションの動的コンテンツを再設定する必要があります。
これでは修正コストがかかるだけでなく、設定ミスにも繋がるため、おすすめできません。

では、どのようにすれば修正コストを抑え、設定ミスの危険を減らせるでしょうか。

以下では、その対応策についてお伝えてします。

 

ベスト・プラクティス(トリガーの後に、データを取得するアクションを追加)

修正コストを小さくするためには、トリガーの後に別途「データを取得するアクション」を追加します。 そして、後続アクションは、データを取得するアクションの値を参照するように修正します。

※データを取得するアクションとは「項目の取得」アクションや「ファイルのプロパティの取得」アクションなどを指します。

修正したフローを以下に示します。

こちらのフローは、トリガーの後に「項目の取得」アクションを追加し、トリガーで得たID値から、対象のレコード情報を取得しています。
「メールの送信」アクションでは、「項目の取得」アクションで取得した動的コンテンツを設定しています。

「項目の取得」アクションで動的コンテンツ設定
ベスト・プラクティス フロー

このように修正することで、トリガーを変更した場合、「項目の修正」アクションのID値のみを更新するだけで修正が完了し、「メールの送信」アクションへの影響はありません。

よって、トリガーの変更に関わる修正コストを下げることができます。

トリガーの変更に関わる修正コストを下げる
ベスト・プラクティス フロー修正

 

さいごに

Power Automateを作成していく際は、事前に詳細な設計をしてから構築していくのではなく、トライ&エラーを繰り返していきながら、よりよいフローへ修正するという流れが多いです。

その際修正コストが大きいと、修正にかかる時間が長くなることや、設定ミスも多く発生してしまいます。
このような問題を避けるためにも、修正コストが小さいフローを作成することは重要です。

今回ご紹介した内容も、とても有用な内容ですので、是非覚えていただきたいです!

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

小刀稱知哉

大分県出身(温泉大好き♥♥)、現在は東京都在住

1990年4月9日生まれ

30才にしてメーカーの技術営業からIT業界にジョブチェンジ!!!

趣味は読書

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!

シェアする
記事カテゴリ
最新記事
2024.04.17

Power Apps・Power Automateの勉強方法(1)

2024.04.03

非エンジニア【(元)自治体職員】が半年間ローコード開発をしてみたら

2024.03.27

Power Automateのベストプラクティス・アンチパターン(5)【Apply to each×コンカレンシー×変数の設定はNG】

2024.03.20

Power Apps×Teams:Teams上からPower Appsを実行する方法

2024.03.13

Power Apps:SharePointリストと連携したカレンダーアプリを自作してみよう

モデル駆動型アプリPower AppsPower PlatformSharePointExcelPower AutomateC#attributevalidationローコードAngularAccessInfoPathMatTableAngular Materialデータ構造SortByColumns関数TypeScriptHTMLEF CoreマイグレーションFramework CoreAttribute directivesO/Rマッパーazure sql databaseCase式HTTP RequestCSSxUnit.Net Core 3.1VSCode.Net Core Test ExplorerDataverse for Teamsitem関数Google MapsMarker ClustererRANK()関数Dynamics 365 SalesMicrosoft TranslatorマーカークラスタリングライブラリtailwindcssマルチテナントドロップダウンメニューBreakpointObserverメディアクエリスマホPCレスポンシブ入門初心者中級者キャンバスアプリDatePickerDropdownviewビューアクセス制限承認リマインドSetForAllUpdateContextロードマップ技術It情報技術メッセージIDメールfirst()関数nest入れ子動的リストcollectionコレクション複数の添付ファイル承認フローformエクスポートインポートカスタマイズcomponentダイアログコンポーネントdialogTips新機能変数検索Microsoft 365グループセキュリティグループ送信元メールの送信差出人インスタントクラウドフロー自動化したクラウドフロー委任VBAエラーエクセルerror復元restorePower BI個人列ユーザー列SharePoint Onlineリスト非表示アプリ[市民開発者構築自動化したクラウド フローフローの種類インスタント クラウド フロースケジュール済みクラウド フローレスポンシブ レイアウトresponsive layoutデータ行の制限引き継ぎ退職所有者を変更異動LoopMicrosoftdesignJSONデザインtemplateテンプレート運用選択肢列参照列ChatGPTOpenAIオープンAIチャットGPTgalleryギャラリースクロールコンテナショートカットキーshortcut keyconcat関数文字制限フロー実行開発環境環境本番環境ライセンス環境構築手順pipelineCI/CDパイプラインDevOpsMicrosoft 365簡易在庫管理時間外通知ファイルフィルター クエリドキュメント ライブラリfilter querysortソートmultiple item複数項目シェアポイント便利機能カレンダーCalendarTeamsローコード開発非エンジニア体験談勉強内製化
PageTop
ページトップに戻る