Microsoft FlowでPOSTされたFormデータを取得する

Microsoft Flow

Microsoft Flowで、JSONデータは簡単に処理できる(HTTP要求トリガーを使う)のですが、フォームデータとしてPOSTしたのを取り出す方法が分からず調べて取り出すことができるようになったので、忘れないようメモがてら記事にしてみました。

そもそもは、TwilioProgrammable FAX機能を利用して、受信したFAXをMicrosoft Flowを経由して、SharePointのリストに追加するようにするのが目的なのですが、Programmable FAXがREST APIのみ対応となっており、送られてくる(POSTされる)がデータがJSONではなく、フォームデータだったために調べました。

Microsoft Flowでフォームデータの値を取得するには、数式でtriggerFormDataValue関数を使うと簡単に取得できます。

  1. Microsoft FlowのHTTP要求トリガーには特に何も記述せず、HTTP POSTのURLが決定されるようにだけしておきます。
    HTTP要求の受信時には特になにも設定しない
  2. TwilioProgrammable FAXのTwiMLで、 <Response><Receive>タグのaction属性に、Microsoft FlowのHTTP要求トリガーのHTTP POSTのURLを指定しておきます。そうすることでTwilioでFAXを受信した際自動的に、Microsoft FlowのHTTP要求トリガーが呼び出されるようになります。
  3. 送られてきたフォームデータを、変数に保存するために変数の初期化アクションで、変数名をFaxSid、種類は文字列を選択しておきます。変数名は自由に設定可能。値にはtriggerFormDataValue('FaxSid')を設定します。これで変数FaxSidにフォームデータのFaxSidの値がセットされます。
    triggerFormDdataValue関数を数式で入力

TwilioProgrammable FAXからは、フォームデータとしてFaxSidFromなどの受信したFAXの情報が送られてきます。

Microsoft Flowの日本語の情報は少なめなので、Web上のドキュメント・ヘルプを見ながら試行錯誤していくのが結局は早道のようです。ちなみにMicrosoft Flowは、Azure Logic Appsのドキュメント・ヘルプで代用できます。それとFireFoxの場合、Microsoft Flowのヘルプドキュメントを見ようとするとRedirectを繰り返して見ることができません。誰かFireFoxで見る方法教えていただけないですか?