技術情報ブログ
Power Platform
2021.08.13

Power Automate:クラウドフローからソリューション内のフローを呼び出す

Power Automate:クラウドフローからソリューション内のフローを呼び出す

はじめに

こんにちは。アーティサンの小鷹(こたか)と申します。

以前はSharePoint関係のお仕事を担当させて頂く事が多かったのですが、Power Platformの勢いが高まるに連れ、Power Automateの技術支援や構築といったお仕事もよく担当させていただいております。

今回は、ソリューション内に作成したフローを外部(クラウドフロー)から呼び出す方法をご紹介します。

筆者が業務の中で、非ITのユーザーにモバイルアプリのボタンで起動してもらうタイプのPower Automateフローを作成しようとして引っかかったので、その回避策を紹介することで同じ部分で悩んでいる方の助けになればと思い記事にしました。

フローの全体図はこのようになります。親子関係にある複数のフロー同士を、HTTPアクションで連動させるというものです。

Power Automate:連携フロー概要図

HTTPアクションHTTP応答の要求アクションを使用するので、HTTPアクション使ってみたいけどよくわからない…という方も本記事を見ていただけたらご理解いただけるかと思います。

 

前提条件(必要ライセンス)

本記事ではHTTPアクションを使用します。

HTTPアクションはプレミアムコネクタに分類されるため、Power Automate のプレミアムコネクタを使用できるライセンス(Power Apps有償プラン/Dynamics365のプランに含まれるPower Automateのライセンス)が必要です。

※Microsoft365 E3に付属するPower Automate for Office 365 ライセンスではプレミアムコネクタを使用できません。

詳しくは以下のページの下部にあるライセンス ガイドをご確認ください。
Power Automate 価格

 

「ソリューション内のフロー」と「クラウドフロー」について

本記事では、ソリューション 内で作成されたPower Automate クラウドフローを「ソリューション内のフロー」マイフロー 内で作成されたPower Automate クラウドフローを「クラウドフロー」と呼称しています。

ソリューション内のフロー
リューション 内で作成されたPower Automate クラウドフロー
クラウドフロー
ソリューション 内で作成されたPower Automate クラウドフロー

ソリューションとは

そもそも「ソリューション」とはなんなのか?と思いますよね。

Power Platformにおける”ソリューション”とは、Power Apps や Power Automate に ALM(アプリケーション ライフサイクル管理)を実装するためのメカニズムのことを指しています。

ソリューションという一つの単位の中で、Dataverse for Teamsに格納したビジネス データや Power Appsのアプリケーション、Power Automateのフローを集約して管理することができます。

また、ロール、セキュリティ要件、対象者が異なる可能性があるアプリを分離するコンテナとしても機能します。

一見、ソリューション内のフローとクラウドフローは作る場所が違うだけに見えますが、参照できるデータの範囲や使えるアクションが少し異なります。

参考として、Microsoft公式ページの関連ページを以下に掲載しておきます。
ソリューションの概念
Microsoft Power Platform に関する ALM の基本
Microsoft Power Platform でのアプリケーション ライフサイクル管理サービスの概要

 

HTTPアクションを使う理由

フローを作成したその案件では、「エンドユーザーが任意のタイミングでフローを手動実行する」というのがポイントでした。

冒頭でも触れましたが、エンドユーザーが任意のタイミングでフローを手動実行できるようにしたい時、トリガーにフローボタンを設定して、モバイルアプリのボタン画面から押してもらえば解決すると思いますよね。

しかし残念ながら、ソリューション内で作成したボタンは、モバイルアプリではボタンが表示されないのです。(2021/07/14時点)

既知の制限としてマイクロソフト公式にも記載があります。

現在、Power Automate モバイル アプリは、ソリューションで作成されたフローはサポートしていません。

(ソリューションの概要 – 既知の制限)

他にも子フローの実行アクションを使用する方法も考えられます。

しかし、クラウドフローでは[子フローの実行]アクションを使用できません。このアクションを使用できるのはソリューション内のフロー同士のみです。

子フローの実行という名前の新しい組み込みアクションが導入されました。 このアクションを開始するには、左側のナビゲーションでソリューションを選択した後、既存のソリューションを選択するか、ソリューションを作成します。

(子フローを呼び出す)

ソリューション内のフロー同士では結局ボタンはモバイルアプリに表示されないままです。

また、今回の案件では、フローを実行するユーザーがPower Automateに詳しくない非ITの方なので、「操作を極力少なくシンプルにしたい」という要件もありました。

パソコンのブラウザでPower Automateフローの一覧から直接起動してもらう方法や(使用したいデータが格納されたソリューションがある環境で)クラウドフローを作成する方法もありましたが、環境切り替え等の操作が増えます。

以上の理由から、HTTPアクションを使用する方法を採りました。

HTTPアクションを使用すると、ボタンを1つの環境に集約し、ボタン毎の環境切り替えが不要となります。

 

作成方法

クラウドフローと、ソリューション内のフローの2つのフローを作成します。

  • クラウドフロー モバイルアプリに表示させるFlowボタンを設定します。

  • ソリューション内のフロー ソリューション内にあるデータを操作するアクションを設定します。
    今回はサンプルということで、メールを送信するだけのシンプルなアクションとします。

 

ソリューション内のフロー

先に、ソリューション内のフローを作成します。

ソリューション内のフローを先に作成するのは、トリガーのHTTP POST の URL欄のURLが後から作成するクラウドフローの作成に必要な為です。

ソリューション内のフローの全体図は下のようになります。

ソリューション内のフロー全体図ー

 

作成手順

  • 作成したいソリューションで、画面左側のメニューからマイフローを選択し、新しいフロー自動を選択します。
    トリガーはHTTP要求の受信時を選択して下さい。

  • HTTP要求の受信時トリガーのHTTP POSTのURLがクラウドフローとの連携に必要になります。
    「保存後にURLが生成されます」とあるので今すぐフローを保存したい所ですが、フローはトリガーだけでなく1つ以上アクションを設定しないと保存できません。
    という訳で、+新しいステップボタンをクリックして後続のアクションを追加しましょう。

    ソリューション内のフロー、アクション追加1

    ソリューション内のフロー、アクション追加1

  • 今回はサンプルということで、メールを送信するだけのシンプルなアクションとします。
    Office 365 Outlookメールの送信(V2)を選択します。

  • [メールの送信(V2)]アクションに、自分宛にメールが来るよう記入します。件名や本文もどんなメールかわかる程度に適宜入力しましょう。
    (全体図のA枠を参照)

  • フローを保存しましょう。フローの画面右上側にある[保存]ボタンをクリックします。

  • トリガーをクリックして展開します。HTTP要求の受信時トリガーのHTTP POST の URL欄にURLが生成されているので、コピーしておきましょう。
    (全体図のB枠を参照)

ソリューション内のフローはこれで完成です。

 

参考:webブラウザからソリューションにアクセスする方法

Power Automateメニューを開き、環境を選択します。

webブラウザでソリューションにアクセスする - Power Automateメニュー

画面左側のメニューからソリューションを選択し、ソリューションの名前をクリックします。

(Teamsアプリ上でビルドからアクセスできるソリューションは「Common Data Services Default Solution」という名前です)

webブラウザでソリューションにアクセスする - ソリューション一覧

 

クラウドフロー

次にクラウドフローを作成します。

クラウドフローでは、モバイルアプリにボタンを表示させ、ソリューション内のフローを起動させるためのアクションを設定します。

ボタンを表示させたい環境を選択しているか確認の上、作成に進んでください。

クラウドフローの全体図は下のようになります。

クラウドフロー - 全体図

 

作成手順

  • フローを新規作成します。トリガーは手動でフローをトリガーしますを選択して下さい。

  • 後続のアクション、[HTTP]アクションを選択します。
    ([組み込み]タブを選択すると、HTTPアクションを見つけやすくなります)

  • 方法のドロップダウンを開き、POSTを選択します。
    [URI]には、先に作成したソリューション内のフローのトリガーで生成されたURLを貼り付けます。(全体図のC枠を参照)

  • フローを保存します。

これでクラウドフローの方も完成しました。

 

テスト

作成したフローが希望通りに動くかテストしてみましょう。

モバイルアプリでクラウドフローのボタンをタップして、フローを実行します。

テスト フロー実行

メールが届いたら成功です。

各フローの実行履歴からも結果の確認ができます。

フローの詳細画面下側にある[28 日間の実行履歴]に一覧表示されます。

テスト 実行履歴

開始時間のリンクをクリックすると詳しい実行結果を確認できます。

テスト 実行結果詳細

 

あとがき

今回はソリューション内のフローをモバイルアプリから呼び出す方法の一つとして、HTTPアクションを使用したフロー作成方法を紹介させていただきました。

Power AutomateやITに詳しくないユーザーでも、少ない操作でPower Automateフローを実行することができるようになります。

HTTPアクションは色々な応用が利き、今回紹介したようなフローの起動だけでなく、フロー内のパラメーターを渡すこともできます。

今後モバイルアプリでソリューション内のフローもサポートするようになれば、(ボタンを1つの環境に集約しなくてもよいのであれば)HTTPアクションを使わずソリューションのフロー1本だけで済むでしょう。

それまではこの回避方法で対応できるので、是非参考にして頂けたらと存じます。

本記事が皆様のPower Automate作成の一助になりましたら幸いです。

 

 Power Platform(Power Automate、Power Apps)とSharePointの技術支援や開発を担当の小鷹枝里子

小鷹 枝里子

小鷹枝里子さんのブログ一覧はこちら

2016年12月、メーカーの事務兼CADオペレーターから未経験のIT業界に飛び込もうとアーティサンに入社。

今は主に Power Platform(Power Automate、Power Apps)とSharePointの技術支援や開発を担当しております。

山形県出身、神奈川県在住。何となく海に近い所に住むのが好きです。インドア派なので滅多に海行かないんですけどね。

趣味はゲームで、最近はのんびりスマホゲームや某狩りゲームをやってます。

推しのうまい棒は納豆味。

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

SharePoint: 「スキーマを含むCSV」でリストを移行する(前編)

2025.06.04

Power Apps:テストやってますか? テストスタジオの使い方のご紹介(2) 実践編

2025.05.28

Power Apps:テストやってますか? テストスタジオの使い方のご紹介(1) 基本知識編

2025.05.21

社員が毎日使いたくなる!SharePoint社内ポータルの作り方と成功のポイント

2025.05.20

【新機能紹介】SharePoint:サイトのブランド化ってなに?

attributeO/Rマッパーマーカークラスタリングライブラリビュー動的リスト検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンターvalidationazure sql databasetailwindcssアクセス制限collectionMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成ローコードCase式マルチテナント承認コレクションセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張AngularHTTP Requestドロップダウンメニューリマインド複数の添付ファイル送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide showMicrosoft365AccessCSSBreakpointObserverSet承認フローメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較移行InfoPathxUnitメディアクエリForAllform差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータルMatTable.Net Core 3.1スマホUpdateContextエクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアAngular MaterialVSCodePCロードマップインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントデータ構造.Net Core Test Explorerレスポンシブ技術カスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体モデル駆動型アプリSortByColumns関数Dataverse for Teams入門ItcomponentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot StudiotPower AppsTypeScriptitem関数初心者情報技術ダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXPower PlatformHTMLGoogle Maps中級者メッセージIDコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体SharePointEF CoreMarker Clustererキャンバスアプリメールdialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例ExcelマイグレーションRANK()関数DatePickerfirst()関数Tips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用Power AutomateFramework CoreDynamics 365 SalesDropdownnest新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化C#Attribute directivesMicrosoft Translatorview入れ子変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズ
PageTop
ページトップに戻る