Reputation: 3
I've configured Microsoft PowerAutomate which collects information, pushes it through to DocuSign via POST using custom tab fields within a template. This step works perfectly fine.
My next step is to collect the data that has been populated against the "completed" envelope and then push that information into a SharePoint List.
The problem I'm having is when I try and pull the data from the completed Envelope, I can't see the custom data i've had populated.
I've tried using "Get Envelope Custom Filds but only receive the below information:
{
"textCustomFields": [
{
"fieldId": "215605",
"name": "AppName",
"show": "false",
"required": "false",
"value": "DocuSignIt"
},
{
"fieldId": "215605",
"name": "PlatformName",
"show": "false",
"required": "false",
"value": "docusignweb"
}
],
"listCustomFields": []
}
Can anyone point me in the right direction to collect the data from these custom tabs?
Many thanks
Upvotes: 0
Views: 455
Reputation: 908
If this is the only time you're calling GET on that envelope, see Drew's answer below...
However, If you're looking to call GET repeatedly, it is likely that you will run into API polling limits by employing your current strategy. "You may not exceed one GET request per unique envelope endpoint per 15 minutes."
Instead, I would suggest using the Connect event notifications service. It uses webhooks to notify your app when specific events occur, such as "Envelope sent", "Envelope delivered", etc.
In your workflow, all you would need to do is set up a listener that receives HTTPS requests from DocuSign. If you configure your connect instance properly, you will receive a notification containing the information you seek automatically. No individual GET requests needed!
Here is sample XML sent from DocuSign Connect that would be of interest to you. Notice the <CustomFields>
element and its children
<?xml version="1.0" encoding="utf-8"?>
<DocuSignEnvelopeInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.docusign.net/API/3.0">
<EnvelopeStatus>
<RecipientStatuses>
<RecipientStatus>
<Type>Signer</Type>
<Email>[email protected]</Email>
<UserName>User Name</UserName>
<RoutingOrder>1</RoutingOrder>
<Sent>2010-06-26T09:19:18.883</Sent>
<Delivered>2010-06-26T09:19:40.723</Delivered>
<DeclineReason xsi:nil="true" />
<Status>Delivered</Status>
<RecipientIPAddress>::1</RecipientIPAddress>
<CustomFields />
<TabStatuses>
<TabStatus>
<TabType>Custom</TabType>
<Status>Active</Status>
<XPosition>364</XPosition>
<YPosition>52</YPosition>
<TabLabel>Radio</TabLabel>
<TabName>Two</TabName>
<TabValue />
<DocumentID>1</DocumentID>
<PageNumber>2</PageNumber>
<OriginalValue />
<ValidationPattern />
<RoleName>TestRole</RoleName>
</TabStatus>
</TabStatuses>
<AccountStatus>Active</AccountStatus>
<RecipientId>fb89d2ee-2876-4290-b530-ff1833d5d0d2</RecipientId>
</RecipientStatus>
</RecipientStatuses>
<TimeGenerated>2010-06-26T09:19:45.771206-07:00</TimeGenerated>
<EnvelopeID>0aa561b8-b4d9-47e0-a615-2367971f876b</EnvelopeID>
<Subject>CreateEnvelopeFromTemplates Test</Subject>
<UserName>User Name</UserName>
<Email> [email protected] </Email>
<Status>Delivered</Status>
<Created>2010-06-26T09:16:21.27</Created>
<Sent>2010-06-26T09:19:19.01</Sent>
<Delivered>2010-06-26T09:19:40.747</Delivered>
<ACStatus>Original</ACStatus>
<ACStatusDate>2010-06-26T09:16:21.27</ACStatusDate>
<ACHolder>ACHolder Name</ACHolder>
<ACHolderEmail> [email protected] </ACHolderEmail>
<ACHolderLocation>ACHolder Location</ACHolderLocation>
<SigningLocation>Online</SigningLocation>
<SenderIPAddress>::1 </SenderIPAddress>
<EnvelopePDFHash />
<CustomFields>
<CustomField>
<Name>Envelope Field 1</Name>
<Show>False</Show>
<Required>False</Required>
<Value />
</CustomField>
<CustomField>
<Name>Envelope Field 2</Name>
<Show>False</Show>
<Required>False</Required>
<Value />
</CustomField>
</CustomFields>
<AutoNavigation>true</AutoNavigation>
<EnvelopeIdStamping>true</EnvelopeIdStamping>
<AuthoritativeCopy>false</AuthoritativeCopy>
<DocumentStatuses>
<DocumentStatus>
<ID>1</ID>
<Name>Document_Name</Name>
<TemplateName>radio parents</TemplateName>
<Sequence>1</Sequence>
</DocumentStatus>
</DocumentStatuses>
</EnvelopeStatus>
<DocumentPDFs>
<DocumentPDF>
<Name>DocumentPDF_Name</Name>
<PDFBytes>PDFBytes_Information</PDFBytes>
</DocumentPDF>
</DocumentPDFs>
</DocuSignEnvelopeInformation>
To get Connect setup, check out this guide on the Developer Center.
Upvotes: 1
Reputation: 5029
To get Tabs (or Form Data) from an envelope, I'd recommend the Envelopes::Get method with the include
parameter set to recipients,tabs
.
So, GET /accounts/[account_id]/envelopes/[envelope_id]?include=recipients,tabs
. As long as you're only making this call once the envelope is complete, polling restrictions won't be a concern.
If you would be making this call repeatedly to check for status, Matthew's solution of implementing Connect would be better overall.
Upvotes: 0