Power Automate DesktopとAWSでフロー完了後の通知をする
RPAではなくAWSに通知を担わせたい
最近のWindowsに入れた覚えのないのに入ってるMicrosoftのRPAことPower Automate Desktop(PAD)。
へーしゃでは作業の自動化で使うことが多いのですが、長いフローだと作業完了時に成功したか失敗したかがフローを動かしているPCを見ないとわからないという面倒くささがありました。
PADのアクションにはOutlookやメール関係のプロトコルを使ったアクションが用意されているので、それを使って結果をメールで送る、という手段もあるのですが、Outlookの設定がまだの場合はインストールしたり、そうじゃないメール送信の仕方は設定が大変でこれまた面倒さがあります。
そこで、AWS側で通知用のAPIを作って、そちらで結果受信とメール送信の責務を引き受けてもらうアイディアを考えたのでやってみました。
処理の流れ

いや、AWSの設定する方がめんどくさくないか?と自分でも思いましたが、RPAでいろんなフローを作ってきた経験から言って、RPA側でネットワーク関係のアクションを追加するとなんか怖い。そういった処理や面倒くささはAWSによって隠蔽されるならそちらの方がいいと思ってます。
Power Automate Desktopからの通知APIのたたき方
HTTP関係でWebサービスを呼び出しますというアクションがあるので、これを使ってAPIをたたきます。
ところが、きちんと設定をしているはずなのに400のステータスエラーが出て少し詰まったので、解決したときの設定方法を載せます。


ポイントとしては、赤い枠で囲んだエンコードの設定をオフにすることです。ここのトグルがONになっていたら何度APIをたたいてもメッセージ部分が送れませんでした。ただAPIをたたくだけなら良いのですが、今回のケースは成功・失敗時の結果とログを送る役割も持たせたかったので、このエラーに遭遇することとなりました。
この記事が同じエラーに遭遇した人にとって役に立つことを願います。
Discussion