How can I pull a list of all the envelopes sent/received by all the users (like in report tab) through Docusign REST API? - docusignapi

I am an admin account user and to get insights from data I need to pull the details of all the envelopes from all accounts. The similar thing is what a report provides in Docusign dashboard but I need the list of recipients as well. Can anyone please help me. Thanks.

Listing envelopes sent by your users: Envelopes::listStatusChanges
I think that call may cover envelopes sent by anyone in your account (if the accessToken represents a user with admin privileges). But I'm not sure.
If it doesn't then you can loop through the account's users.
Tracking who has received an envelope through their DocuSign account is done with the Folders::listItems API call. You may need to list both the Inbox and Deleted folders. You also need to check that the person signed the specific envelope vs receiving it for some other reason (cc, certified copy, etc).
Finally, an alternative if you have higher volumes is to purchase the DocuSign Report Feed product (see note below). It will send you DB table dumps about your account activity on a regular basis so you can do your own reporting on DocuSign activity. It is the best way to have full access to report data. Ask your DocuSign contact for more info.
Note: I'm not sure of the exact name for the reporting product.

This can be done if you install DocuSign for Salesforce managed package and use Connect feature in DocuSign. Configure your webhooks to create DocuSign Status and DocuSign Recipient Status records for each send. Any DocuSign objects or custom object can be used in the Connect configuration, after selecting objects, select which events you want the results to be pushed back to Salesforce.
Use a parent object to store envelope details and child object for the recipient data. Use Envelope Id to relate the child records to the parent. Eventually, you will be able to build various reports on Salesforce.
More info here: https://support.docusign.com/guides/dfs-admin-guide-ds-connect-for-salesforce

Related

Triggers available in Docusign on document completion

I have a web application integrated with DocuSign API, to pass in recipient details to a DocuSign template and initiate signing process. The template has tags for each recipient to enter relevant information and sign.
Once the document is completed/signed by all recipients, the information available in the document needs to be passed on to another web application bound to a DB. What are the options available in DocuSign to trigger document data(e.g. recipient1 signed date) transferred to a DB/other systems on document completion? Any advice on this is appreciated.
You probably need to provide more specific information but generally, you can use DocuSign Connect and configure your API source to integrate the data. After that, you will be able to use webhooks (or Connect) to send tabs data and signing statuses to your 'other systems'.
Once you get your Connect figured out, you can then have GET request using this
{{baseUrl}}/envelopes/{{envelopeId}}/recipients?include_tabs=true
and then have a wrapper class to export desired tabs (ex. Date Signed or other Text Tabs)
OR you can configure a webhook to sync your data between DocuSign and other systems:
Code Example: Using a Webhook to Track Envelope Status

How to determine the docusign recipient action taken on document

I am using Remote Signing with the DocuSign api, but I want to know how to determine what action the recipient took (i.e. they signed, declined to sign, viewed, etc). How do I do this?
You want the status of the envelopes you sent?
Best technique is to create a webhook and have DocuSign call your server when the envelope's status changes.
You can create DocuSign notification message subscriptions at either the account level or at the individual envelope level.
See this blog entry for more info. Ask additional questions on StackOverflow if you have any difficulties.

Using docusign EnvelopeViews: createSender as preview

createSender creates a URL, which I would like to use to let the sender preview the document before it's send out. Hence the documents are created using templates and and the API.
The link which is created would lead me out of my UI. Does the user need to sign in? Future plan is to have many user's, which have no DocuSign account.
For embedded sending Your app will have to authenticate the user. If you are doing a Service Integration then your Api account will be used as the sender.
Once the sending url is generated using the createSenderView api, there is no authentication required to access the URL.
You also have an option to build a User Application using the docusign Api where your App can support sending from multiple accounts.
The createSenderView requires that the person is a DocuSign user (with their own account and password).
Only DocuSign users can send. We charge for sending, not for signing or receiving.
What exactly do you want to preview? (And why?)
the documents themselves? Use the EnvelopeDocuments resource. You can also preview the thumbnails of the documents.
the documents with the "fields" ("tabs") that indicate where people will sign? I'm not sure that is do-able.
or the recipients and their routing order? Use EnvelopeRecipients: list method.
Added
Another solution is to use a dummy certified delivery "recipient". Add this recipient as the first recipient. This will block the envelope from proceeding on the recipient routing.
Then get the envelope's documents to show as a preview.
Then, if ok, alter the envelope's recipients to remove the certified delivery recipient. The envelope will then continue on with the first "real" recipient.

DocuSign temporary editor?

Is it possible to create a temporary user which has the ability to annotate/tag only one document. This user should not have access to anything else in docusign except for that one document.
Alternatively, is it possible to create an editor recipient for a document through an api call, without that user being required to have a docusign account?
Per the docs:
[Editors have] the same management and access rights for the envelope as the sender and can make changes to the envelope as if they were using the Advanced Correct feature. This recipient can add name and email information, add or change the routing order and set authentication options for the remaining recipients. Additionally, this recipient can edit signature/initial tabs and data fields for the remaining recipients. The recipient must have a DocuSign account to be an editor.
So both Editor recipients and Senders need to have a DocuSign account.
You can programmatically create new users and then delete them, but then you have issues of gaining access to the envelopes that they sent.
In addition, there are business issues: DocuSign users are not sharable.
Ideas
Depending on your business requirements and situation, you can have a larger number of users, for less cost per user. That way everyone involved in the envelope transactions can be a user and have access/editing privileges as needed. Talk to your sales person.
Enable your users to set up the envelope via your software app, not DocuSign. Then your app sends out the envelope. If your app will be sending on behalf of multiple users, you can use the Send On Behalf Of technique.

DocuSign REST API, easily move envelope from user A to user B? (ie, change the envelope owner)

A followup to a question answered here regarding changing the email address of a user via the REST API:
DocuSign REST API, change account's email address? (ie, the users login name)
If, instead, we created a second docusign user login with a new email address and wanted to move all envelopes from the old user to the new user, what is the most efficient way to do this? Both users would be under the same parent docusign account.
Currently, I do not see an endpoint to move an envelope between users.
Does this entail downloading all envelopes, and then sending on behalf of them all (from parent to child account) to put the documents into the newly created user's account?
Interestingly, I see that the error ENVELOPE_TRANSFEREE_ALREADY_OWNS_ENVELOPE is documented in the REST API guide (https://08d1d92f490618f41c65-8fb00e97ac499a7066a18ce9c66b019b.ssl.cf2.rackcdn.com/REST_API_Guide_v2.pdf), but yet the guide contains no obvious documentation of a related REST API operation (i.e., one that would enable you to transfer ownership of an envelope).
With the SOAP API, you can use the TransferEnvelope operation (page 178: https://10226ec94e53f4ca538f-0035e62ac0d194a46695a3b225d72cc8.ssl.cf2.rackcdn.com/soap-api-guide.pdf) to transfer an envelope from one user to another.
Based on the fact that "TransferEnvelope" is missing from this list of all SOAP API operations that are supported in the REST API, I'd suspect that Transferring Envelopes isn't (yet) supported via the REST API:
https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#Appendix/DocuSign API to REST API.htm

Resources