How can I get statuses of multiple documents in an envelop. - docusignapi

I have created two documents(attachments) in an envelop. I configured my account with envelope events( signed, completed etc) to be updated to my URL(BSP) in SAP. My requirement is user may sign one document(attachemnt) and may not another(attachement).I am able to recieve the XML response from Docusign to my URL(BSP) whenever signs the document but I am not able to capture the document statuses( like signed or not signed). I checked RequestDocumentPDF() method but it retrieves only PDFBytes(attachement) seperately but not the statuses. I want to capture document statuses seperately. Any help is highly appreciated.
Thanks.

I don't believe there's a way to determine programmatically whether or not a Signer actually supplied a signature for an Optional SignHereTab. DocuSign tracks Recipient status and Envelope status, but not Document status or Tab status. In other words:
If Envelope status = Completed, you can safely assume that each Recipient in the envelope workflow supplied all information that the Sender marked as Required.
If Recipient status = Completed, you can safely assume that the Recipient supplied all information that the Sender marked as Required for him/her.
For some tab types that you specify as optional (like a textTab, for example), you could programmatically determine whether a Recipient provided a value by simply examining the TabValue property in the XML structure. Unfortunately for a SignHereTab, the TabValue property is always empty, so you can't use that to determine whether or not a signature was actually applied.
You might consider using another type of DocuSign tab (for example, a Drop Down List or Radio Button Group) to control visibility of the Signature Tab that you consider "optional". For example, let's assume that the second signature is only required if the Signer wants to agree to the additional waiver language in the contract. You could set up the DocuSign document like this:
Update the document to add the question "Do you agree to the additional waiver?" Then add a (required) DocuSign Dropdown List tab with the values "Yes" and "No" - i.e., the signer will be required to select an answer using the Dropdown list.
Add a (required) Signature tab -- but make it Conditionally visible -- i.e., set tab properties such that it's only visible if the Dropdown List value "Yes" is selected in response to the question "Do you agree to the additional waiver?".
Then programmatically, you could check the value of the Dropdown List -- if the value is "No" then this means the second signature was NOT supplied (because the Signature Tab wouldn't have been visible to the signer) -- if the value is "Yes" then this means the second signature WAS supplied, because the Signature tab would have been visible to the Signer, and would have been required prior to the Signer being able to complete/submit the Envelope.

Related

Skip optional TemplateRole in DocuSign envelope

I have a template with two signers. One of them is mandatory but the second one is optional. When I try to create an envelope without a filled second templateRole I receive INVALID_EMAIL_ADDRESS_FOR_RECIPIENT error. Is it possible to conditionally delete templateRole in the envelope with all 'SignHere' tabs?
The recommended way to go about this would be through Conditional Routing.
One of the ways you could go about making this work is to set the optional template role to be conditional based on a specific tab value. Say a text or checkbox. If you were to make these fields read-only and populate them on send, the first recipient would not be able to edit the value.
When our system sees the presence of this value, say a checkbox being checked, it can then follow the logic that you provide to drop the template role.
IE: When sending place a read-only checkbox set to be checked if you want the second recipient to take part.
When the first recipient finishes their portion, Conditional Routing engages. When it sees the checkbox is populated, it knows to send to the second role. If it doesn't see the value populated, that role is then ignored.
Does that make sense? An outline and setup guides for Conditional routing can be found on our support page at https://support.docusign.com/en/guides/ndse-user-guide-conditional-recipients -- the portion for setting this up for an envelope or template in the WebUI is about halfway down the page.
Regards,
Matt
Yes, you can simply not include a role object (template reference pattern) or signer object (composite templates) for the role that you're not interested in. Omitting a role/signer object will remove that recipient, and their tabs, from the envelope.
Here's an example using the API Request Builder
First run the example as is, then try it again but delete a role object.

Can we position signers by recipient id through the DocuSign API?

We've set up our template to include signature blocks and we're able to send the recipient's name and email address with the envelope. These recipients appear in the recipient list and when you sign in to DocuSign you're able to select one of the recipients from the list and position it appropriately.
We're looking at removing this manual step so that we can say, for example, the first signature we send across in the envelope corresponds to signature block one in our template and the second to the second as so on.
When we create the signature blocks in our template we can assign roles and the DocuSign documentation suggests that if we send a role across with the envelope we should be able to achieve the automatic positioning that we're after.
What we're wondering is whether we can also do this with the recipient id rather than the role?
There are multiple ways to position tabs (signature blocks) for recipients.
One approach is to specific x/y coordinates where the tab should be located inside the document (also specify page #)
Another approach is to use AnchorTags which is specific text that the tab (or tag) would be located in. This can be used with white-on-white text in the document, that could be invisible to the signer but allows the tag to be placed there. This can also be a real part of the document (like 'Date:') and you can specify an offset to improve your positioning.
Read more how to use AnchorTags in the API here - https://developers.docusign.com/esign-soap-api/reference/sending-group/using-anchor-tags

Docusign: display pre-filled tabs to all parties (Not just assigned)

I am currently pre-populating a bunch of tabs for 3 different parties (Buyer, Seller, and Agent). I would love to display these pre-populated fields to all parties (not just the ones assigned to the tab) as it may be concerning for the buyer to sign the contract if they can't even see what the agent has written.
I tried making each tab include a param of locked: true but that did not fix anything. I've also tried to manually make each field read-only but that also did nothing.
Thanks!
If you are prepopulating values using API, then you can make it visible to all Signers by enabling one setting at the account level. You need to Go To Admin -> SIGNING AND SENDING -> Sending Settings -> select "When an envelope is sent, write the initial value of the field for all recipients" checkbox under "Fields and Properties" section.

How to insert dynamic rows into Docusign document while creating envelope

This is continuation to the following post
insert a page into document while sending envelope using DOCUSIGN
I have rephrased my question due to poor explanation before.
Any help is greatly appreciated.
I am not successful in finding a documentation about the following scenario.
I am trying to find whether is it possible to "dynamically" insert table in a PDF while creating an envelope out of Template. Assume that you have created a template with one signature and you want to give an option to insert other rows for multiple sinature.
No information found so far. Thats why i am trying to see if there is a way which i am not aware of.
Any reference to online material is greatly appreciated!!!
One option to facilitate your use case might be to create multiple Templates in DocuSign -- one for each possible number of signers, and then have your application logic determine which Template to use during Envelope creation based upon some logic within your application. For example, let's assume the following scenario:
Your application is an online loan processing application that collects information from the borrower, and then uses DocuSign to present the loan documents for signature.
If there IS NOT a co-borrower, then you only need signature from one person (the borrower).
If there IS a co-borrower, then you need signatures from two people (the borrower AND the co-borrower).
In DocuSign, you create two (nearly identical) templates:
Loan Docs - 1 signer : This template defines a single recipient role (Borrower) and the document(s) in the template only contain space for the Borrower's signature.
Loan Docs - 2 signers : This template defines two recipient roles (Borrower and Co-borrower) and the document(s) in the template contain spaces for both the Borrower's signature and the Co-borrower's signature.
If your application determines there is no co-borrower, then it creates the Envelope using the first template (Loan Docs - 1 signer). If your application determines there IS a co-borrower, then it creates the Envelope using the second template (Loan Docs - 2 signers).
So, that's one way of handling it. Another way of handling things would be the following:
Create a single template that defines Recipient Roles (and corresponding tags in the document(s)) for the maximum number of Signers you'd ever have.
When you make the "Create Envelope" API call using that template, only supply recipient information for the number of signers that are required for that specific Envelope.
For example, let's say that your template defines 2 recipient roles (Borrower and Co-borrower), and contains signature tags for each recipient.
If your application determines that there are 2 signers, you supply information for both signers in the "Create Envelope" API call.
If your application determines that there is just 1 signer, you supply information for only the Borrower in the "Create Envelope" API call.
DocuSign will simply drop/ignore any tags belonging to recipient roles that you did not supply information for in the "Create Envelope" API call. So, in the latter case (info supplied for only one signer), the space(s) in the document(s) where the second signer's signature would have appeared still exists -- it'll just be empty/blank (because there is no second signer for the Envelope).

Conga-Docusign Integration not working

I've got a really simple conga button that should be auto-sending with 1 click a Docusign envelope from Salesforce. I get no errors, but no Docusign envelope never gets emailed.
Any idea what is wrong with this button code?
https://www.appextremes.com/apps/Conga/Composer.aspx?
sessionId={!API.Session_ID}
&serverUrl={!API.Partner_Server_URL_80}
&id={!Opportunity.Id}
&TemplateID=a1Z4000000067pT
&DocuSignR1ID=003f000000Ax1Dc
&DocuSignR1Role=Legal+Approver
&DocuSignR1Type=Approver
&DocuSignR1RoutingOrder=1
&DS7=17
If I take out the DS7 parameter, the auto-send is turned off, and everything works manually just fine. But leaving in the DS7 parameter, the email never gets sent.
What happens if you set the DS7 parameter value to 7 ? (From http://knowledge.congasphere.com/congakb/ext/kb494-ds7-parameter -- "Background Mode is enabled and the merged document is attached to a DocuSign Envelope")
Also, within the (DocuSign) Envelope Settings screen, is "LegalApprover" defined as one of the roles? From http://knowledge.congasphere.com/congakb/ext/kb21-conga-docusign-integration-parameters -- "[DocuSignR1Role requires] a valid DocuSign Role Name, as defined in Envelope Settings."
UPDATE - more info about Role name (in [DocuSign] Envelope Settings):
A little more info about my earlier comment re the value of DocuSignR1Role needing to match one of the DocuSign Role names you've defined for you DocuSign for Salesforce app. To view the DocuSign role names that are defined in Salesforce, go to DocuSign Admin >> and then navigate to Envelopes -- within that page, you'll see a section called Recipient Role Settings:
Within the Recipient Role Settings section, you'll see a list of Role Names:
This list is customizable (in the screenshot above, I've expanded the default 4-recipient-roles to 7 roles), but keep in mind that the role list will apply to all DocuSign envelopes you send via DocuSign for Salesforce in the current Salesforce org -- so you'll likely want to use generic values (ex: Signer 1, Signer 2, etc.) instead of envelope/template-specific values (ex: Insured, Applicant, etc.).
In your custom button code, you'll want to make sure that the value you set for the DocuSignR1Role parameter appears in this list. Choose the Role Name value in the list whose sequence in the list corresponds to the number that you're using in the Anchor Text property of that recipient's tags. For example:
If your envelope uses the number '1' in the Anchor Text properties for the recipient's tags, then you'd specify DocuSignR1Role=Signer 1 (i.e., the first value in the Recipient Roles list).
If your envelope uses the number '2' in the Anchor Text properties for the recipient's tags, then you'd specify DocuSignR1Role=Signer 2 (i.e., the second value in the Recipient Roles list).
If your envelope uses the number '3' in the Anchor Text properties for the recipient's tags, then you'd specify DocuSignR1Role=Signer 3 (i.e., the third value in the Recipient Roles list).
Etc., etc., etc.

Resources