DocuSignとMicrosoft Flowによる連携(1) 概要とトリガーについて
以下にアップデートした記事載せていますhttps://www.docusign.jp/blog/docusign-and-microsoft-power-automate-integration-1
Microsoft Flowはマイクロソフト社が提供するタスク自動化サービスです。ノンコーディングで各種クラウドサービスなどの処理を自動化することができます。最近ではiPaaS(Integration Platform as a Service)と呼ばれるジャンルです。同様なサービスにはIFTTTやWorkatoなどがあります。
Microsoft Flowはコネクタと呼ばれる各サービスを連携するための部品が用意されていて、DocuSign連携のコネクタも用意されています。(ただしDocuSign用のコネクタはPremium コネクタになりますのでライセンス費用についてはマイクロソフト社に別途ご確認ください。https://us.flow.microsoft.com/ja-jp/pricing/)
この二つの連携によりDocuSignの署名完了後、エンベロープや合意ドキュメントを他のサービスとの連携を自動化することにより管理工数を削減することが可能になります。
Flowにサインインした後、「新規」をクリックした後に「一から作成」をクリックしてDocuSignを検索するとDocuSignのコネクタが表示されます。トリガーにあるWhen an envelope status changes(Connect)のところをクリックすると一連のフローの作成が開始できます。
DocuSignのトリガー
Microsoft Flowではトリガーという開始イベントにより処理がスタートします。DocuSign連携においては、エンベロープステータス変更をトリガーにすることができます。Flowの設定を保存するとDocuSignアカウントに自動的にConect設定が作成され、Flowが開始されます。DocuSign側で追加の設定を手動で行う必要がありません。
このイベントには3つの必須フィールドがあります。
Account:選択するDocuSignプロダクションアカウントのリスト。 Microsoft Flowでデモアカウントを使用することはできません。Connection Name:イベントの一意のわかりやすい名前。単なる識別目的です。
Envelope Event:フローをトリガーするエンベロープステータス(イベント)のリスト。エンベロープが選択された状態に遷移するたびに、フローが開始されます。可能な値は次のとおりです。
- Sent
- Delivered
- Completed
- Declined
- Void
DocuSignの管理画面で見ると、Connect nameで設定された名前でConnectの設定が作成されていることがわかります。
エンベロープカスタムフィールドとタブへのアクセス
エンベロープから抽出できるデータには、送信者、受信者、送信時刻、エンベロープID、文書、エンベロープカスタムフィールド、およびエンベロープステータスなどが含まれます。これらのデータは以後のFlowで利用することができます。
エンベロープカスタムフィールドとタブ値にアクセスするには、ワークフロー定義言語を使用して情報を抽出します( https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-workflow-definition-languageを参照)。
エンベロープカスタムフィールドへのアクセスはtriggerBodyを使います。
例えば、Regionという名前のエンベロープカスタムフィールドの値にアクセスするには、@ triggerBody()?[‘customFields’] [‘Region’]を使用します。
DocuSignトリガーのタブ出力を選択すると、エンベロープのタブにアクセスできます。タブにアクセスすると、Microsoft FlowはそれらをApply to Eachラッパーに配置して、すべての受信者を繰り返し処理します。
ドキュメントフィールド(タブ)の値にアクセスするにはitemを使います。
例えば、金額というフィールドの値にアクセスするには、@item()?[‘tabs’][‘金額’]を使用します。
エンベロープカスタムフィールドとフィールドの値は、条件付きステートメントで、または将来のアクションへの入力として使用できます。
Flow言語では、すべての関数、比較、および演算子を使用できます。たとえば、条件付きステートメントでRegionカスタムフィールドを使用するには、条件付きステートメントを追加し、[詳細モードで編集]リンクをクリックして、@equals(triggerBody()?([‘customFields’][‘Region’], ‘East’)と入力します。
Flow Data OperationsサービスのComposeアクションを使用して、後の手順で使用するために値を保存することもできます。
“When an envelope status changes”トリガーで取得できる動的なコンテンツは以下のとおりです。この後各アクションでパラメーターとしてDocuSignのトリガー出力の動的なコンテンツを利用することができます。
- Decline Reason
- Envelope Created Date-Time
- Envelope ID
- Envelope Sent Date-Time
- Envelope Status
- Recipient Type
- Recipient Email
- Recipient Id
- Recipient Name
- Recipient Sent Date-Time
- Recipient Status
- Routing Order
- Sender’s Email Address
- Sender’s IP Address
- Sender’s Name
- Subject
- Time Zone
- Time Zone Offset
ここまではMicrosoft Flowを使ったDocuSign連携の始め方とDocuSignのトリガーについて解説しました。次回は実際のサンプルについてお話ししたいと思います。