Power Automate for desktopの実行URLに入力変数を追加できるようになったので試してみました。
ギークフジワラ(@geekfujiwara)さんの下記ツイートでPower Automate for desktop(PAD)のバージョン 2.39 でフローの実行URLに入力変数を追加できるようになったことを知ったので、さっそく試してみました。
※今回ご紹介する機能を実行するには有償ライセンスが必要となります。追加費用無しのMicrosoft アカウントでPADを使用している場合は利用できませんので、その点はご注意ください。
基本的な使い方
まずは基本的な使い方です。
(1)入力変数を使用するので、「変数を追加」から入力変数を追加します。今回は変数名を「NewInput」としています。
(2)「メッセージを表示」アクションを使ってメッセージボックスで入力変数(%NewInput%)を表示します。
(3)フローを保存し、コンソールから作成したフローのデスクトップショートカットを作成します。
(4)フローを実行するためのショートカットがデスクトップに作成されます。このショートカットを実行すると、通常ですと下図のように変数の値を入力するためのダイアログが表示されます。
(5)作成されたショートカットのプロパティから実行URLを確認すると下記のようになっています。
ms-powerautomate:/console/flow/run?environmentid=[environmentId]&workflowid=[workflowId]&source=Shortcut
(6)このURLを下記のような形に変更し(下記例ではsourceパラメーターは削除しています)、「inputArguments」パラメーターとして入力変数を追加します。入力変数の指定方法についてはMicrosoft Learnの資料をご参照ください。
ms-powerautomate:/console/flow/run?environmentid=[environmentId]&workflowid=[workflowId]&inputArguments={\"NewInput\": \"Hello\"}
(7)実行URLで入力変数を指定したショートカットを実行すると、ダイアログで値を指定することなくフローが実行されます。
inputArgumentsパラメーターには何文字まで指定できるのか?
ここで気になるのはinputArgumentsパラメーターには何文字まで指定できるのかということ。さっそく調べてみることにしました。
調べる方法は簡単です。
先日書いた記事で紹介しているPower Fxでは文字数をカウントできるLen関数が用意されているので、この関数を使えば「メッセージを表示」アクションですぐに入力変数の文字数を確認できます(※Power Fxの関数を使用するため、フロー作成時に「Power Fxが有効」オプションをオンにする必要があります)。
=Len(NewInput)
あとは下記のように入力変数の値の文字数を増やしていき、何文字で表示できなくなるかを調べていけば上限が分かります。
ms-powerautomate:/console/flow/run?environmentid=[environmentId]&workflowid=[workflowId]&inputArguments={\"NewInput\": \"aaa…aaa\"}
※今回は上記のようにアルファベットで調べていきますので、日本語のようなマルチバイト文字が含まれていると、文字数の上限が異なる可能性があります。
デスクトップショートカットの場合
デスクトップショートカットの場合、フロー実行時にエラーにならなかった変数の文字数は「1914」で、inputArgumentsパラメーター全体の文字数は「1934」でした。
URL全体では「2083」文字だったため、このあたりは下記の仕様が関わっているのだと思います。
コマンドラインオプションの場合
PADでは下記のように「PAD.Console.Host.exe」に引数として実行URLを渡すことでフローを実行できます。今度はこちらの文字数上限を調べていきます。
"C:\Program Files (x86)\Power Automate Desktop\PAD.Console.Host.exe" "ms-powerautomate:/console/flow/run?environmentid=[environmentId]&workflowid=[workflowId]"
結果は「7946」文字、inputArgumentsパラメーター全体の文字数は「7971」でした。
実行したコマンド全体の長さは「8190」で、こちらは下記ページに書かれているコマンドプロンプトの制限通りです。
おわりに
ダブルクリックだけで簡単にフローが実行できる便利なショートカット機能が、入力変数の値を指定できるようになり、さらに便利になりました。
上で書いたような文字数の制限があることには気を付けつつ、どんどん活用していきたいですね!✨