DocuSign — Advanced Configuration
This is the advanced-configuration companion to Send Direct to DocuSign. It covers the recipient, signing, and notification options you can layer onto a DocuSign envelope once the basic send flow is working.
Overview
When you send a Quik! form package to DocuSign, users normally configure recipients in the E-Sign Pop-Up before clicking Send. This guide explains how to control those settings programmatically — recipient types and authentication, signing order, additional (carbon-copy) recipients, Send On Behalf Of (SOBO), reminder and expiration notifications, and optional signature fields — plus how joint agreements work and how to stay within DocuSign's per-envelope field limit.
All examples below assume you have already configured a working DocuSign integration as described in the Send Direct to DocuSign guide.
Recipient Settings
Configure recipient settings ahead of time so the form can be sent to DocuSign without further user input, or to "prefill" the E-Sign Pop-Up with desired values rather than skipping it. Recipient settings can be applied either way.
Recipient Types
Recipients are classified into two types:
| Type | Description |
|---|---|
Signer |
A recipient that has at least one signature field on the form package. |
ExtraRecipient |
A recipient that does not have a signature field on the form package. Extra recipients are always sent a carbon copy (Send Copy at DocuSign). |
These are set under the Recipients object of ESignType:
| Property Name | Type | Default | Description |
|---|---|---|---|
Signers |
List of Signer |
null |
Recipients that have at least one signature field on the form package. |
ExtraRecipients |
List of ExtraRecipient |
null |
Extra recipients added to the form package; always carbon copies (Send Copy at DocuSign). |
Signer Properties
| Property Name | Type | Default | Description |
|---|---|---|---|
Role |
string | "" |
Required. The role associated with the form, e.g. "1own" for Owner 1. |
AccessCode |
AccessCode |
null |
Sets the recipient's Access Code (see Access Code Properties). |
IdentityCheck |
ESignRequireIDCheckName |
null |
Sets the recipient's authentication type. |
Instance |
int | 0 |
Sets the instance of the role (when using Form Group Instances). |
Order |
int | Default signing order based on role | Sets the recipient's signing order. See Signing Order. |
PhoneNumber |
int | 0 |
Sets the recipient's phone number. |
SendType |
DocusignSendType |
null |
Sets the recipient's Send Type. |
ExcludedDocuments |
list | null |
Form ID(s) the recipient should not receive. See Configuring Document Visibility for dependencies. |
ExcludedLibraries |
list | null |
Dealer ID(s) whose forms the recipient should not receive. See Configuring Document Visibility for dependencies. |
Note:
NameandAddFieldToFormorLoadXMLusing the structure<instance><role>.H.Emailand<instance><role>.FullName.
ExtraRecipient Properties
| Property Name | Type | Default | Description |
|---|---|---|---|
Name |
string | "" |
Sets the extra recipient's name. |
Email |
string | "" |
Sets the extra recipient's email. |
AccessCode |
AccessCode |
null |
Sets the extra recipient's Access Code. |
IdentityCheck |
ESignRequireIDCheckName |
null |
Sets the extra recipient's authentication type. |
Instance |
int | 0 |
Sets the extra recipient's instance. |
Order |
int | 0 |
Sets the extra recipient's order. |
PhoneNumber |
int | 0 |
Sets the extra recipient's phone number. |
RecipientNumber |
int | 1 |
The number of the recipient, always starting from 1. |
ExcludedDocuments |
list | null |
Form ID(s) the recipient should not receive. See Configuring Document Visibility for dependencies. |
ExcludedLibraries |
list | null |
Dealer ID(s) whose forms the recipient should not receive. See Configuring Document Visibility for dependencies. |
Access Code Properties
| Property Name | Type | Default | Description |
|---|---|---|---|
Code |
string | "" |
Sets the access code value, e.g. "AC123". |
Required |
bool | false |
Makes the access code input in the E-Sign Pop-Up required for this recipient. |
ReadOnly |
bool | false |
Makes the access code input in the E-Sign Pop-Up read-only for this recipient. |
Note: To display the Access Code column, the
SignShowAccessCodeproperty must be set totruein the E-Sign configuration.
Examples
Set an access code on Owner 1 and make it read-only:
{
"ESignType": {
"Type": "Docusign",
"AuthUserID": "String",
"SignCallBackURL": "SomeCallBackURL",
"SignEnvironmentID": 2,
"SignShowAccessCode": true,
"Recipients": {
"Signers": [
{
"Instance": 0,
"Order": 1,
"Role": "1own",
"AccessCode": {
"Code": "CodeExample",
"ReadOnly": true
}
}
]
}
}
}
Prefill signers with mixed authentication and send types:
{
"ESignType": {
"Type": "Docusign",
"SignCallbackURL": "http://somecallbackurl.com",
"SignEnvironmentID": 2,
"Recipients": {
"Signers": [
{
"Order": 1,
"Role": "1rep",
"Instance": 0,
"IdentityCheck": "Salesforce",
"SendType": "EmailToSign"
},
{
"Order": 2,
"Role": "1bnk",
"PhoneNumber": 99999999,
"IdentityCheck": "SMS",
"SendType": "InPersonSigner"
}
]
}
},
"HostFormOnQuik": true,
"QuikFormID": "1"
}
Add an extra (carbon-copy) recipient and exclude them from specific documents. In this example the 1own signer receives forms 1 and 12, while the extra recipient receives only form 1 as a non-signing carbon-copy viewer:
{
"HostFormOnQuik": true,
"QuikFormID": "1,12",
"ESignType": {
"Type": "DocuSign",
"AuthUserID": "your_auth_userID",
"SignCallBackURL": "https://websvcs.quikforms.com/Docusign/CallbackEndPoint/CallBack.aspx",
"SignEnvironmentID": 2,
"SignMultipleDocs": true,
"EnforceSignerVisibility": true,
"Recipients": {
"Signers": [
{ "Role": "1own", "SendType": "EmailToSign" }
],
"ExtraRecipients": [
{
"RecipientNumber": 1,
"Order": 100,
"Name": "John Smith",
"Email": "CarbonCopy@email.com",
"ExcludedDocuments": [12]
}
]
}
}
}
To restrict which authentication and send types appear in the E-Sign Pop-Up, pass AuthTypes and/or SendTypes lists (for example NoIDCheck, IDCheck, SMS, Phone). The SocialAll auth type displays all social-related auth types (Google, Facebook, etc.); you can also enable social methods individually.
Default Recipient (configured by Quik!)
A default recipient can be "hard-coded" into your Quik! account so it is applied to every form package and routed last in the signing order. The common use case is sending a notification copy to an internal inbox that is monitored for completed e-sign transactions. This is set up manually by the Quik! team — contact Quik! with one or more recipient names and email addresses to request it.
Signing Order
The signing order controls when each recipient receives the envelope. In the E-Sign Pop-Up, the Order column accepts a number per recipient. Set it programmatically via the Order property on each Signer (and ExtraRecipient), as shown above.
Behavior:
- The Signing Order Index begins at 1, not 0.
- Order is relative — any numbers can be used; the larger the number, the later that recipient receives the form. (For example, an extra recipient set to
Order: 100is routed after lower-numbered signers.) - Assigning the same number to multiple recipients sends the form to them at the same time.
- To lock the order so users cannot change it on screen, set the
SignOrderLockproperty totrue. This makes the Order column read-only.
How DocuSign handles the same email across multiple roles:
- Same email in multiple roles with different order values → separate emails are sent for each role.
- Same email in multiple roles with the same order value → one email requests signatures for all assigned roles.
Additional Signers
In the DocuSign E-Sign Pop-Up, the Add Recipient button lets users include additional recipients, but their send type is automatically set to Send Copy (carbon copy). Quik! does not support adding signers "on the fly," because a recipient can only sign if a signature field for their role was built into the original form.
Use additional recipients when someone needs a copy of the completed package without signing — for example, an assistant who archives the form. The recipient does not need a defined role on the form to receive a copy.
Send On Behalf Of (SOBO)
SOBO lets you send forms to DocuSign on behalf of another person. Enable it with SOBOFlag, and identify the sending user with SenderUserID.
| Property | Type | Description |
|---|---|---|
SOBOFlag |
bool | Set to true to enable Send On Behalf Of. |
AuthUserID |
string | The CustomerUserID used for authentication. |
SenderUserID |
string | The CustomerUserID that will act as the Sender when SOBO is enabled. |
{
"ESignType": {
"Type": "Docusign",
"HTMLButtonSignName": "Docusign!",
"SignSubject": "Sign Subject test",
"SignEnvironmentID": 2,
"SignCallBackURL": "http://www.test.com",
"SOBOFlag": true,
"AuthUserID": "Auth User",
"SenderUserID": "0303456"
}
}
ESignTypeDocusign docusign = new ESignTypeDocusign
{
HTMLButtonSignName = "Docusign!",
SignSubject = "Sign Subject test",
SignEnvironmentID = 2,
SignCallBackURL = "http://www.test.com",
SOBOFlag = true,
AuthUserID = "Auth User",
SenderUserID = "0303456"
};
QuikFormsEngine.QuikFormsEngine objQFE = new QuikFormsEngine.QuikFormsEngine();
objQFE.SetESignType(docusign);
Reminder Notifications
Configure custom reminder and expiration notifications for signers via the Notification settings on the DocuSign object, and email overrides via EmailSettings. All time-based values below are expressed in days.
Email overrides (EmailSettings)
EmailSettings is an optional complex element that overrides envelope email settings for that one envelope only.
| Property | Type | Default | Description |
|---|---|---|---|
BccEmailAddresses |
list of string | null |
Up to 5 BCC email addresses for the envelope, each a maximum of 100 characters. DocuSign validates the email format but not whether the address is active. Using this overrides the account's BCC for Email Archive setting for this envelope. |
ReplyEmailAddressOverride |
string | "" |
The Reply-To email used for the envelope (maximum 100 characters). |
ReplyEmailNameOverride |
string | "" |
The name associated with the Reply-To email address (maximum 100 characters). |
Notification settings (Notification)
Notification is an optional complex element made up of UseAccountDefaults, Expirations, and Reminders.
| Property | Type | Default | Description |
|---|---|---|---|
UseAccountDefaults |
bool | false |
When true, the DocuSign account default notification settings are used for the envelope. |
Expirations.ExpireEnabled |
bool | false |
When true, the envelope expires (is no longer available for signing) after ExpireAfter days. If false, the account default is used; if the account has no expiration setting, DocuSign's default of 120 days applies. |
Expirations.ExpireAfter |
int | 0 |
The number of days the envelope is active. |
Expirations.ExpireWarn |
int | 0 |
The number of days before expiration that a warning email is sent to the recipient. Set to 0 to send no warning email. |
Reminders.ReminderEnabled |
bool | false |
When true, a reminder message is sent to the recipient. |
Reminders.ReminderDelay |
int | 0 |
The number of days after the recipient receives the envelope before the first reminder email is sent. |
Reminders.ReminderFrequency |
int | 0 |
The interval, in days, between reminder emails. |
docusign.EmailSettings = new DocusignEmailSettings
{
BccEmailAddresses = new List<string> { "bcctest@email.com" },
ReplyEmailAddressOverride = "master@email.com"
};
docusign.Notification = new DocusignNotificationSettings
{
Expirations = new DocusignNotificationExpiration
{
ExpireEnabled = true,
ExpireAfter = 3
},
Reminders = new DocusignNotificationReminder
{
ReminderEnabled = true,
ReminderDelay = 3,
ReminderFrequency = 1
},
UseAccountDefaults = true
};
Optional Signature Fields
By default, all signature and initial fields are required in DocuSign. You can mark specific signature and initial fields as optional using the DocusignTabs array, setting Optional: true on each field by its field name.
{
"ESignType": {
"Type": "Docusign",
"DocusignTabs": [
{
"FieldName": "1own.38002.1.Sign",
"Optional": true
},
{
"FieldName": "1own.5.1.Sign",
"Optional": true
}
]
}
}
var docusign = new ESignTypeDocusign();
docusign.DocusignTabs = new List<DocusignTab> {
new DocusignTab { FieldName = "1own.38002.1.Sign", Optional = true },
new DocusignTab { FieldName = "1own.5.1.Sign", Optional = true }
};
objQFE.SetESignType(docusign);
This applies to both complete signature fields and initial fields.
Note: The SOAP and Quik! Forms Engine
.dllmethods for configuring optional fields are legacy, deprecated, and no longer in use. Use the RESTDocusignTabsapproach shown above.
Joint Agreements
Quik! supports DocuSign's Joint Agreements feature, which streamlines sending and managing forms that require signatures from multiple parties.
Joint Agreements is an account-level capability — there are no per-request Quik! properties to set on the Quik! Forms Engine call. It must be activated on your account by the Quik! team. To request activation, contact support@quikforms.com. Once enabled, your existing DocuSign send flow handles Joint Agreements automatically.
Note for Fidelity users: As of March 31, 2024, Fidelity requires all submissions to use DocuSign's Joint Agreements feature. Ensure your account is configured accordingly.
For step-by-step signing instructions, see the Quik! support article: DocuSign – How to E-Sign Forms Using Joint Agreements Feature. For DocuSign-side setup (such as creating Joint Agreement Networks), refer to DocuSign's own documentation and support. For all other DocuSign send-flow and recipient properties, see the E-Signature group in the API reference.
DocuSign Envelope Field Limits
DocuSign enforces a hard limit of 3,000 fields (called "tabs") per envelope. Fields include all editable elements — text fields, checkboxes, radio buttons, and signature areas. Exceeding the limit causes errors and prevents the envelope from being processed. There is no workaround; managing your field count is the only solution.
Signs you are exceeding the limit
If you receive an error when sending an envelope that contains many roles or many forms, you may have exceeded the 3,000-field limit. Typical symptoms are validation errors or failure to process the envelope after sending.
Strategies to stay under the limit
- Reduce editable fields. Not all fields need to be editable in DocuSign. Mark informational or non-essential fields as read-only or pre-filled so they do not count toward the limit.
- Split into multiple envelopes. If you cannot reduce editable fields, break the transaction into smaller envelopes, sending related forms in smaller groups.
Typical limits by volume
Based on Quik!'s analysis, a single envelope can typically include about:
| Measure | Approximate limit |
|---|---|
| Forms per envelope | ~25 forms |
| Fillable pages | ~100 fillable pages (about 180 total pages including non-fillable) |
These are estimates and vary with the complexity and field count of each form. Complex forms with many checkboxes or dynamic fields consume the limit faster, and each additional signer role increases the field count significantly. Test with a smaller set of forms first if you are unsure.
See DocuSign's official documentation: Anchor Tab Request Limits.
