Docusign Powerform - docusignapi

I have powerform within Docusign demo org and I want to create a record in salesforce custom object once the power form is filled by client. I followed this document to map the fields in Docusign connect
https://support.docusign.com/s/articles/How-to-configure-a-PowerForm-to-writeback-to-specific-Salesforce-records?language=en_US&rsc_301
I have mapped Docusign custom field City field to salesforce custom field in settings. Please find mapping in attached image. There is no new record getting created when no match is found and also when it is updating existing record, it is just updating with docusign custom field label to salesforce instead of sending back exact value

Related

How to get a document's custom fields through DocuSign API?

I am trying to access the custom field values for documents that I download. I am able to list the completed envelopes and download the documents, but the custom fields are showing up as empty?
var docFields = envelopeApi.ListDocumentFields(AccountID, envelopeId, docId);
Console.WriteLine(docFields.DocumentFields.Count);
Count is always zero even though the custom fields have been filled in by the user?
The endpoint which you calling is to download the document custom fields which is added by the sender as the metadata of the document. It will not help you in downloading the form data entered by the signer on the document. To download form data via API, you can use GET /v2/accounts/{accountId}/envelopes/{envelopeId}/form_data, more details available at getFormData DS Docs. You can also use to download tab details for the recipients using GET /v2/accounts/{accountId}/envelopes/{envelopeId}/recipients/{recipientId}/tabs, more details available at Download Recipient tab data
Most recommended way is to setup DS Connect so that you do not have to poll DS API to get envelope status or form data etc, instead host a webservice on your side and configure the same in DocuSign so that DocuSign can push the required data to your webservice in an XML format.

Is there a way to get a enveloped document with all custom fields populated on it, using Docusign Rest API?

I am working in a implementation using Docusign to e-sing some documents , I am able to create the envelope successfully a, but when I use the API to get the document in order to show to the user the document before to be signed the document is empty without the custom fields (tabs) that I have set in the template, so my question is : is there any way to get a document with all custom fields populated even is the document had not been signed?
I have tried using the Docusign REST-APIS to get the document:
GET/v2/accounts/{accountId}/envelopes/{envelopeId}/documents/{documentId}
That works I am able to get the PDF file but I dont know why the custom fields are not present in the document
If you want to get PDF with the prepopulated tabs data and want to send for review to Sales Officer then you can achieve it by two ways:
If envelope is created with sent status, then you can add Sales
Officer as the first Recipient as Signer Type and add a Approve Tab
for that signer, that way if Sales Officer approves then DocuSign
will move to next recipient in the workflow and if Sales Officer
declines then workflow will stop. So with this approach, everything
is handled by DocuSign and you do not need to get PDF copy and then
get approval via Email by sending PDF as an attachment, also approval
or decline is captured in the audit trail and also in CoC.
If envelope is created with draft status, then you can download the
PDF with prepopulated tab data by using below API call,
https://{{EnvironmentVal}}/restapi/v2/accounts/{{AccountIdVal}}/envelopes/{{envelopeId}}/documents/{{documentId}}?show_changes=true
to make any of the above solution work, you need to need to enable a Sending Setting under Admin at an Account Level which will show the Tab Value on the document for everyone.
There's an account-wide setting for this.
Navigate to Go to Admin > Sending Settings > When an envelope is sent, write the initial value of the field for all recipients.
As far as I know this can't be toggled at the envelope level by the API.

how to auto fill the power-form fields in docusign

I am doing the docusign integration with my application.
I have a powerform in my demo account which is opened every time a user request to sign a contract. When the user opened the powerform there are about 12 fields he have to fill. except the email field which is autofill by the docusign.
Now i want the functionality that if a user opened that powerform he already have the options which he filled during the signup process.
Like first name last name phone no. Can i do this from api? i have searched the api but did not succeeded.
P.S : right now i am opening the form by the powerform url. It redirects the user to that powerform to open and fill it. Email is automatically being filled but not the name and other fields.
You cannot mix Powerform and API, API cannot fill document triggered from Powerform. It better to use API if you want to do proper integration with DocuSign. But if you want to do integration with Powerform then you can send the values of the DS label added in your document by doing below:
If you DS Servertemplate has multiple text tabs like, PhoneNumber, Salary etc then using HTTP GET, you can populate tab value like below:
{PowerformUrl}&PhoneNumber={PhoneNumberValue}&Salary={SalaryValue}&activateonly=1
where PhoneNumberValue and SalaryValue are the values which you want to prepopulate in the document. Also if you have an HTML form for the customer to collect these values then call DS Powerform URL with signer's email and name along with the doc label values like below:
{PowerformUrl}&PhoneNumber={PhoneNumberValue}&Salary={SalaryValue}&SignerRole_UserName={SignerName}&SignerRole_Email={SignerEmail}&activateonly=1
SignerRole will the role which you added in the DS Server Template, on which you have created a Powerform.
Doing this way Powerform will automatically be triggerd from your HTML Form/Application, and intermediatery page where signer needs to add all Signer's email and name will be skipped.
More details on implementation is available here

Track envelope status in salesforce using envelope external source Id via API

I am using Docusign package in my org. By using a custom buttom I am able to send a record for docusign approval. In this i set Source Id as record Id and track the status in a custom field on that record. But now I m using Docusign SOAP API and sending a record for docusign via Apex. But now I am unable to set envelope external source id in code and therefore status is not getting updated in that record.
Please reply if anyone has any idea how to set source id via apex and track status?
The best way to do this is to create an envelope custom field in your API call for the recordID and pass that through in your APEX code. The DocuSign for Salesforce manage package does this automatically and that's how the data gets written back to the correct records using Connect.
Create the envelope custom field in DocuSign and then add the CustomField Schema Type to your API call and populate it with the source ID. Then in Connect under the DocuSign Status Object map that Custom Field back to either the five out of the box objects or your custom object.

How to use Custom Fields on the envelope

I am new to DOCUSIGN and learning the features of it.
I could see there is a feature to create custom Fields for a template.
I am not able to find the documentation about how to use custom fields in the envelope.
Is it possible to use the custom fields as a placeholder inside email to fill some data dynamically. So that the creator of envelope just fills in the information in the custom field and it will be used in the email body/subject etc..
is this possible.
need some advise.
"Custom fields" in DocuSign exist at various levels -- i.e., Envelope Custom Fields, Document Custom Fields, Recipient Custom Fields, etc. -- and simply facilitate you being able to associate metadata you specify with a specific object. For example, you might create an Envelope Custom Field called "CustId" and populate that field with the Id of the corresponding customer for each Envelope you create/send. Then, because you associated "CustId" value with each Envelope, you could later utilize this data for reporting purposes (for example: to find all envelopes associated with a particular customer). Custom fields cannot facilitate the functionality you've inquired about.
It's not possible via DocuSign functionality to utilize 'placeholders' as you've described to dynamically inject Envelope-specific values into the Email Subject/Body. However, you could easily have your application collect the relevant information (perhaps from the sender via a webform, or via a database lookup if you're app already has the relevant info there), and then use that information to programmatically (in your code) assemble the complete Subject and Body for the email, before using an API call to create the Envelope (specifying Subject and Body as part of your API request).

Resources