DocuSignとMicrosoft Power Automateによる連携(1)概要とトリガーについて

Microsoft Power Automate(旧Microsoft Flow)は、マイクロソフト社が提供するタスク自動化サービスです。ノンコーディングで各種クラウドサービスなどの処理を自動化することができ、iPaaS(Integration Platform as a Service)と呼ばれるジャンルになります。同様なサービスとしてWorkatoやZapierなどがあります。
Microsoft Power Automateはコネクタと呼ばれる各サービスを連携するための部品が用意されており、DocuSign連携のコネクタもあります。コネクタには本番環境用とデモサンドボックス用の2種類が用意されています。

ただし、DocuSignのコネクタは「プレミアム」となりますので、ライセンス費用については以下リンクよりマイクロソフト社に直接ご確認ください。
https://us.flow.microsoft.com/ja-jp/pricing/
このDocuSign連携のコネクタを利用することにより、他のクラウドサービスと連携してDocuSignのエンベロープ送信を自動化したり、署名完了後、他のサービスとの連携を自動化してエンベロープや合意文書の管理工数を削減することが可能になります。
連携フロー作成を開始するには、Power Automateにサインインした後、作成メニューから [自動化したクラウドフロー] を選択し、[フローのトリガーを選択してください] の項目から「DocuSign」を検索するとDocuSignコネクタのトリガーが表示されます。デモ環境で利用する場合は、トリガーにあるDocuSign Demoの [When an envelope status changes (Connect)] を選択し、最後に [作成] をクリックします。

DocuSignのトリガー
Microsoft Power Automateでは「トリガー」という開始イベントにより処理がスタートします。DocuSign連携においては、エンベロープのステータス変更をトリガーにすることができます。フローの設定を保存するとDocuSignアカウントに自動的にConnect設定が作成され、フローが開始されます。DocuSign側で追加の設定を手動で行う必要はありません。

このイベントには3つの必須フィールドがあります。
Account:選択するDocuSignアカウントのリスト。
Connect name:イベントの一意のわかりやすい名前。単なる識別目的です。
Envelope event:フローをトリガーするエンベロープステータス(イベント)のリスト。エンベロープが選択された状態に遷移するたびに、フローが開始されます。可能な値は次のとおりです。
- Sent
- Delivered
- Completed
- Declined
- Void
DocuSignの管理画面で見ると、Connect nameで設定した名称でConnectの設定が作成されていることがわかります。

エンベロープカスタムフィールドとドキュメントフィールドへのアクセス
エンベロープから抽出できるデータには、送信者、受信者、送信時刻、エンベロープID、文書、エンベロープカスタムフィールド、およびエンベロープステータスなどが含まれます。これらのデータは以後のフローで利用することができます。
エンベロープカスタムフィールドとタブ値にアクセスするには、ワークフロー定義言語を使用して情報を抽出します。詳しくはこちらを参照してください。
エンベロープカスタムフィールドへのアクセスはtriggerBodyを使います。例えば、Regionという名前のエンベロープカスタムフィールドの値にアクセスするには、@ triggerBody()?['customFields'] ['Region'] を使用します。

DocuSignトリガーのタブ出力を選択すると、エンベロープのタブ(フィールド)にアクセスできます。タブにアクセスすると、Microsoft Power AutomateはそれらをApply to Eachラッパーに配置して、すべての受信者を繰り返し処理します。
ドキュメントフィールド(タブ)の値にアクセスするにはitemを使います。例えば、金額というフィールドの値にアクセスするには、@item()?['tabs']['金額']を使用します。
エンベロープカスタムフィールドとフィールドの値は条件付きステートメント、または将来のアクションへの入力として使用できます。
フロー言語では、すべての関数、比較、および演算子を使用できます。たとえば、条件付きステートメントで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
- Image for post

今回はMicrosoft Power Automateを使ったDocuSign連携の始め方とDocuSignのトリガーについて解説しました。次回は実際のサンプルについてお話ししたいと思います。
DocuSignとMicrosoft Power Automateによる連携について
- 概要とトリガー
- 実際の使用例
- DocuSignのアクションについて