皆さんこんにちは、マイクロソフトの川端です。
Power Automate for Desktop (通称PAD) を使い始める方向けのトレーニングコンテンツを提供します。
Power Automate for Desktopの強力な機能として、デスクトップフロー(RPA)のクラウドフロー(オーケストレータ、システム間のAPI連携の機能を担う)との連携があります。
今回の学習の題材では、PADのクラウドフロー(クラウド環境)からのデータをデスクトップ環境へ引き渡し、PAD側で簡単な処理を行い、一連の流れを体験していただくことを狙いとしています。
構成の初歩としてはクラウドフローの用意されたテンプレートのアクションからデスクトップフローへ入出力変数の設定をしてデータの入出力を行う基礎を具体的に習得していただけます。
PADでは、機能の最小単位として、クラウドフロー内の構成要素(コンポーネント)としてデスクトップフローのアクションを設定し、機能モジュール化することが可能になっています。
また、デスクトップフロー内でのモジュールの相互呼び出しから、必要なデスクトップフロー構成(コンポーネント)を入れ替え、処理を共通化、実行させることが下図のような構成で可能になっています(すべて同一のPower Platform環境内で構成)。
(注)本コンテンツでは、クラウドフローからデスクトップフローへの呼び出しを行うので、PADの有償ライセンスが必要になります。
PADの有償無償の違いについてはこちらのRPA Communityチャンネルなどでご紹介しています。
https://www.youtube.com/watch?v=s5-nkEFEdSM&t=173s
#1. 事前準備
- 最新版のPower Automate for Desktopのダウンロード:https://flow.microsoft.com/ja-jp/desktop/
- インストール、初期セットアップ手順: ロボ研@K2_kzyさんがまとめて頂いている内容が分かりやすいです。
#2. クラウドフローからPower Automate for Desktopを呼び出す
###クラウドフローのテンプレートからフローの作成を開始しよう
https://flow.microsoft.com/ja-jp/
へアクセスし、「テンプレート」からteams関連のコネクタを検索します
「AI Builderでメールのセンチメントを分析し、結果をTeamsに送信する」を選択しましょう。
必要なコネクタを許可し、続行を押します。
###デスクトップフローを構成しよう
PADのコンソール画面から、フロー名を設定していきます
「新しい入力変数の追加」で変数名:sentiment、外部名:sentimentとして変数名を定義します
アクションから「メッセージ」を検索し、「メッセージを表示」のアクションを追加します
「メッセージを表示」の編集画面で
- メッセージボックスのタイトル:フィードバックを届きました
- 表示するメッセージ:%sentiment%
- {x}から定義済みの変数を選ぶと便利です
- メッセージボックスを常に手前に表示する:トグルをオン
以上を設定します
###クラウドフローで作成したデスクトップフローに接続しよう
テンプレートの最後のアクションに新しいステップとしてPower Automate for Desktopを追加しましょう。
モジュールを設定します。
###実際に動作させてみよう
メールの本文に「楽しみだ」と入力し、自分自身にOutlookからメールを送ってみましょう。
テンプレートで定義済のフローの動作が開始されます。
クラウドフローからの処理がデスクトップ側に渡り、「フィードバックが届きました」というメッセージで、
元々データとして渡していた「楽しみだ」という文字列の感情分析の結果がデスクトップ側に通知され、Sentiment(PAD上は%sentiment%という変数)という変数の値に「Positive」という値が入った状態でデスクトップフローで処理が適切になされていることが分かります。
#(参考)デスクトップフローの間でデータを入出力しインターフェースする
今回はクラウドフローからの呼び出しを基本として構成しましたが、デスクトップフロー間でのデータの入出力も同様に構成可能となっています。
全く同じデスクトップフローを構成して、今回の出力変数の戻り値をデスクトップフローの中で同様に扱うことも可能です
#3.まとめ
中級編として、Power Automate for Desktopの入出力変数の定義とクラウドフローからのデータの受け渡しの一連の流れを体験していただきました。クラウドフロー内での構成、デスクトップフロー間で必要な処理の共通部品化を行うことで、ターゲットアプリケーション、プロセスの変化に頑強なシステムを構成していきましょう。