Example extension app use cases
Explore some example extension app use cases and learn how extension apps can help streamline your agreement processes.
Implementing use cases
For any of these use cases, create the appropriate extension app by specifying the corresponding extension in the extension section of the app’s manifest file. An extension is a group of actions that support a type of external functionality. See Extensions and extension points for details. In an extension app’s manifest file, the connection object defines the necessary parameters to access APIs of an external platform. Additionally, actions and capabilities represent the specific functions performed within your extension app, such as verifying an email address. These actions define the endpoints of the external platform that are called during your Docusign workflows.
To start developing an extension app based on one of these examples, you’ll need an extension app manifest. We’ve provided a sample manifest for each use case. Feel free to upload this manifest to the Developer Console immediately to experience the ease of creating an extension app.
Note: Remember to replace the sample manifest elements with your own. View the App manifest reference for a complete list of the elements in the manifest and their descriptions.
Bank account verificationVerify the validity of a signer's bank account information
Bank account verification is an in-agreement extension that enables you to check that a bank account exists and is active. The verification is processed in real time through the signing experience in Docusign eSignature.
This extension significantly benefits financial institutions that handle the disbursement of funds to a client, or organizations that need direct debit authorization for client transactions. For example, consider a loan company, Fontara Loan, that is about to disburse a loan to a client. Fontara Loan needs to verify that a client’s bank account is valid before wiring the funds to the client. Bank account verification is crucial to ensure the loan disbursement is received by a valid bank account.
Note the properties of the connections object for this use case in the sample manifest file shown. They include authentication details like the clientId, clientSecret, and authorizationUrl, while the actions object contains the URI of the endpoint used to verify the bank account.
View the reference implementation for this extension on GitHub: Data Verification Reference Implementation.
Bank account owner verificationVerify the identity of bank account's owner or authorized signatory
Bank account owner verification is an in-agreement extension that enables you to verify that a bank account belongs to a specific individual. The verification is processed in real time through the signing experience in Docusign eSignature.
This extension significantly benefits financial institutions that handle the disbursement of funds to a client or organizations that need direct debit authorization for client transactions. For example, consider a loan company, Fontara Loan, that is about to disburse a loan to a client. Fontara Loan needs to verify that a client’s bank account belongs to the client before wiring the funds to the client. Bank account owner verification is crucial to avoid identity theft or fraud.
Note the properties of the connections object for this use case in the sample manifest file shown. They include authentication details such as the clientId, clientSecret, and authorizationUrl, while the actions object contains the URI of the endpoint used to verify the bank account owner.
View the reference implementation for this extension on GitHub: Data Verification Reference Implementation.
Business (FEIN) VerificationVerify that a business entity exists and is registered in government databases
Business FEIN verification is an in-agreement extension that enables you to check that a business’s federal Employer Identification number (FEIN) is active and matches the information on record with the IRS. The verification is processed in real time through the signing experience in Docusign eSignature.
This extension significantly benefits financial institutions that handle business debit accounts and credit lines, as well as other businesses looking to facilitate professional partnerships with other businesses. For example, consider a loan company, Fontara Loan, that is about to disburse a loan to a business, Fontara Sports. Fontara Loan needs to verify that Fontara Sport’s FEIN is valid and matches the information registered with the IRS. Business FEIN verification is crucial to ensure that Fontara Loan is dealing with a legitimate and identified business entity.
Note the properties of the connections object for this use case in the sample manifest file shown. They include authentication details such as the clientId, clientSecret, and authorizationUrl, while the actions object contains the URI of the endpoint used to verify the FEIN.
View the reference implementation for this extension on GitHub: Data Verification Reference Implementation.
Connected fieldsVerify data in an eSignature envelope
Connected fields extension apps enable you to perform custom data verification for values within an eSignature envelope. The external system’s response can also provide suggested values for fields, which Docusign autofills, enabling the signer to use them if desired. The verification and autofill is processed in real-time through the signing experience in Docusign eSignature.
This extension significantly benefits companies that require accurate and verified data in agreements, such as forms, contracts, or applications. For example, consider a loan company, Fontara Loan, that processes numerous applications daily and must ensure all submitted information is correct before proceeding. Implementing automated data verification within their eSignature workflow can prevent errors, ensure compliance, and enhance efficiency by verifying inputs in real-time before the documents are finalized.
Note the properties of the connections object for this use case in the sample manifest file. They include authentication details such as the clientId, clientSecret, and authorizationUrl, while the actions object contains the URIs of the endpoints used to verify the data and obtain the models of the system of record.
View the reference implementation for this extension on GitHub: Connected Fields Reference Implementation.
Data IORead or sync data with external systems of record
The data IO extension offers valuable functionality for data management and analytics. This extension can significantly benefit companies that handle and maintain large amounts of data for business intelligence and analytics purposes, CRM systems, or research and development purposes. Data IO enables automatic updates and efficient data retrieval of an organization’s record systems, removing the need for organizations to manually sync the data changes done during the Docusign signing process and enabling organizations to populate document fields with pre-existing customer data.
For this use case, Fontara CRM offers a CRM solution that customers use to manage their customer relationships. They want to make it easy for their customers who also use Docusign to get the data out of and back into their CRM system of record to streamline agreement processes, significantly enhancing the efficiency and effectiveness of their day-to-day operations.
The actions of the data IO extension are as follows:
GetTypeNames: This action integrates with the record system to read the types in the record system. The types are then used to get specific records from the system of record, and then read, create, and update records via this extension. The action parameter is empty because the action returns all of the types in which the create, update, and read actions are supported by the record system.GetTypeDefinitions: This action retrieves all the possible type properties in the record system’s objects. This example will return all the properties in the active, inactive, and leads objects. Your existing schemas should be converted into Concerto’s JSON data model format. See Data model for more information on mapping your definitions to Concerto types.CreateRecord: This action creates a record in the record system. This example will create a new record for a client, John Doe.PatchRecord: This action updates a record in the record system. This example will update a client’s email address.SearchRecords: This action searches for a record in the record system. This example will search for a lead with the name Jane Smith.
This use case and sample manifest demonstrate the input and output operations of a data IO extension app. You also have the option to execute the data input operation individually. See the Data IO extension contract reference for a complete list of each action’s parameters and examples of response stubs.
View the reference implementation for this extension on GitHub: Data IO Reference Implementation.
Email verificationVerify the validity of an email address
Email address verification is an in-agreement extension that enables you to check that an email address is valid. The verification is processed in real time through Docusign eSignature or Web Forms.
This extension significantly benefits any organization that relies on email delivery to communicate important information to their clients or employees. For example, consider a loan company, Fontara Loan, that is about to send copies of financial documents to a client. Fontara Loan needs to verify that a client’s email address is valid to ensure that the client receives their documents. Email address verification helps ensure that the email containing the documents does not bounce and arrives at its intended destination.
Note the properties of the connections object for this use case in the sample manifest file shown. They include authentication details such as the clientId, clientSecret, and authorizationUrl, while the actions object contains the URI of the endpoint used to verify the email address.
View the reference implementation for this extension on GitHub: Data Verification Reference Implementation.
File input cloud storageImport a file from cloud storage
The file input cloud storage extension imports agreements from a cloud storage platform into Docusign Agreement Manager, which uses AI to extract agreement data so that users can easily find, manage, and report on agreements.
This extension can help organizations efficiently manage large agreement libraries and reduce the amount of time users spend to locate and process documents. For example, a municipal government agency can leverage a file input from cloud storage extension app to move collective bargaining agreements, grant applications, meeting minutes, and other documents to the Navigator repository. After Navigator’s AI processing is complete, municipal workers can quickly find documents to fulfill information requests. They can also use Navigator to manage contract obligations, such as payments and renewals.
The connections object in the sample manifest defines authorization parameters that enable Docusign to obtain permission to access endpoints on the external system.
The actions object contains the URIs of endpoints used to retrieve drive, folder, and file information from the cloud storage system and import files into Navigator. For a file input cloud storage extension, the Get File, List Directory Contents, and Search actions are required. The List Drives capability is optional. See File input cloud storage extension overview for details.
View the reference implementation for this extension on GitHub: File Input Cloud Storage Reference Implementation
File input system of recordImport a file from a system of record
The file input system of record extension can be invoked from workflows to import documents from an external system of record.
This extension can help organizations streamline agreement workflows by reducing the time spent locating and processing documents before sending them for signature. For example, a financial services company manages loan agreements that require multiple supporting documents, such as a pre-approval loan estimate, customer identification, and compliance disclosures. These documents are often stored across multiple systems, including a CRM and an internal document management system.
Without automation, loan officers must manually locate and upload these files before sending agreements. This process is time-consuming, error-prone, and can result in missing or inaccurate documents.
By integrating the file input system of record extension into the loan application workflow, document retrieval becomes automated, eliminating manual uploads and ensuring all required documents are consistently included.
The connections object in the sample manifest defines authorization parameters that enable Docusign to obtain permission to access endpoints on the external system.
The actions object contains the URIs of endpoints used in file output processing. See Extensions and actions for details.
File output cloud storageWrite a file to cloud storage
File output to cloud storage extension apps enable you to write files to external cloud storage providers.
This extension significantly benefits companies that handle substantial amounts of electronic documents such as forms, spreadsheets, emails, or applications. For example, consider a loan company, Fontara Loan, that receives numerous applications daily and needs the files uploaded to a drive. Automating this process upon application submission can significantly enhance the efficiency and effectiveness of their day-to-day operations.
Note the properties of the connections object for this use case in the sample manifest file shown. They include authorization details such as the clientId, clientSecret, and authorizationUrl, while the actions object contains the URIs of the endpoints used to retrieve the available drives and folders on the cloud storage system and store the document.
Note: For a file output cloud storage extension, only the Write File action is required.The List Drives and List Directory Contents capabilities are optional. See File output cloud storage extension overview for details.
View the reference implementation for this extension on GitHub: File Output Cloud Storage Reference Implementation
File output system of recordWrite a file to a system of record
The file output system of record extension can be invoked from workflows to automatically write completed agreements to a system of record.
This extension is useful for organizations that require agreements to be retrievable by applications that access the system of record. For example, an asset management company can create a Maestro workflow that walks customers through the process of authorizing electronic funds transfer (EFT) for their accounts. The process typically requires completing and signing an authorization form. By incorporating the file output system of record extension into the workflow, the asset manager can implement a seamless EFT authorization process that automates storage of the signed form in the system of record.
Provided here are two versions of an example app manifest file. The first version can be used with workflows that use a workflow variable value to identify the record to write to. This manifest includes the extension’s Get Type Names capability. The second version can be used if the workflow includes a data IO extension Read from step that returns the ID of the record to write to. See Identify destination records for information about the two record identification methods.
The connections object in the sample manifests defines authorization parameters that enable Docusign to obtain permission to access endpoints on the external system.
The actions object contains the URIs of endpoints used in file output processing. See Extensions and actions for details.
View the reference implementation for this extension on GitHub: File Output System of Record Reference Implementation
File output tabular formatWrite values to a tabular format file
File output to tabular format extension apps enable you to export the values of workflow variables to tabular format files such as spreadsheets or .CSV files.
This extension significantly benefits organizations who need to store data from repeated workflows for compliance purposes. For example, an employer in the United Kingdom who needs to verify employees’ right to work in compliance with the UK’s Right to Work laws, may need to store proof of this verification for auditing purposes. Instead of manually verifying each employee’s identity documents, then manually entering that information into a spreadsheet, the employer can kick off a workflow to verify the employee’s ID, collect additional information, and automatically store that information in a spreadsheet that serves as a single source of truth.
Note the properties of the connections object for this use case in the sample manifest file shown. They include authorization details such as the clientId, clientSecret, and authorizationUrl, while the actions object contains the URIs of the endpoints used to retrieve the available drives and tabular format files on the cloud storage system and export the variables from the workflow.
Note: For a file output tabular format extension, only the Export to Destination action and List Headers action are required.The List Drives and List Directory Contents capabilities are optional. See File output tabular format extension overview for details.
View the reference implementation for this extension on GitHub: File output tabular format reference implementation
Multiple extension typesInclude multiple extensions in a single extension app
To provide more than one feature in a single extension app, you can include the extensions that support each feature. In this sample manifest, the data IO and data verification extensions enable you to verify user-entered data against a system of record and update it with the verified data.
This type of dual-purpose extension app is especially valuable for organizations that process large data volumes and need reliable verification. For example, a loan company like Fontara Loan can use an extension app to automatically populate client applications with data from their system of record (input), verify the user-submitted information against their records, and then update their system of record with the verified information (output). This reduces manual effort, minimizes errors, and ensures accurate, consistent records across their systems.
This is just one example of how a multi-extension app can be configured. You can use other combinations of extensions to meet specific business needs. See Supported extensions for a list of extensions.
Note the properties of the connections object in the sample manifest file. It includes authentication parameters such as clientId, clientSecret, and authorizationUrl. In this example, all extensions refer to the same connection, since a manifest can only contain a single connections object. The extensions object lists each extension explicitly, and each extension entry identifies the actions it uses. The actions are defined in the actions object, which specifies the endpoint URIs for verifying, reading, and writing data.
View the reference implementation on GitHub: Data IO and Data Verification Reference Implementation.
Phone verificationVerify that a phone number exists and is reachable
Phone number verification is an in-agreement extension that enables you to check that a phone number exists, is active, and belongs to a specific individual. The verification is processed in real time through Docusign eSignature or Web Forms.
This extension provides a security benefit to organizations as it helps reduce the creation of fake or duplicate accounts. For example, consider a loan company, Fontara Loan, that would like to add a two-factor security feature for logins, transactions, and transfers. Phone number verification adds a secondary layer of security to ensure account access and activities are legitimate. Phone number verification can significantly benefit financial institutions, e-commerce platforms, and other organizations that require user accounts.
Note the properties of the connections object for this use case in the sample manifest file shown. They include authentication details such as the clientId, clientSecret, and authorizationUrl, while the actions object contains the URI of the endpoint used to verify the phone number.
View the reference implementation for this extension on GitHub: Data Verification Reference Implementation.
Postal address verificationVerify that an address exists and formatted
Postal address verification is an in-agreement extension that enables you to check that a postal address is valid and formatted correctly. The verification is processed in real time through the signing experience in Docusign eSignature.
This extension significantly benefits organizations, as it helps decrease record inaccuracies and improve data quality. For example, consider an e-commerce company, Fontara Shirts, that regularly ships products to their customers. Postal address verification and formatting enable Fontara Shirts to ensure their product arrives at the correct address with no shipping delays. Postal address verification can significantly benefit financial institutions, e-commerce platforms, and other organizations that require mailing addresses.
Note the properties of the connections object for this use case in the sample manifest file shown. They include authentication details such as the clientId, clientSecret and authorizationUrl, while the actions object contains the two required actions for the extension: Verify.Version1.PostalAddress, which verifies the address, and Typeahead.Version1.PostalAddress, which returns a list of suggested addresses in the correct format. Both actions contain the URI of the endpoint used to verify the address.
View the reference implementation for this extension on GitHub: Data Verification Reference Implementation.
Next steps
- Learn more about how to Register an extension app.
- See how to Update an extension app registration.
- Find out how to Delete an extension app.
Social Security number verification is an in-agreement extension that enables you to check that a Social Security number is valid and verify an individual’s identity. The verification is processed in real time through the signing experience in Docusign eSignature.
This extension significantly benefits financial institutions that handle loans and lines of credit for individuals, as it allows the institution to verify the identity of the individual prior to doing business with them. For example, consider a loan company, Fontara Loan, that has received an application for a line of credit from John Doe. Fontara Loan needs to verify John Doe’s Social Security number belongs to him before granting him the line of credit. Social Security number verification is crucial to avoiding identity theft or fraud, as well as evaluating creditworthiness to make an informed lending decision.
Note the properties of the
connectionsobject for this use case in the sample manifest file shown. They include authentication details like theclientId,clientSecret, andauthorizationUrl, while theactionsobject contains the URI of the endpoint used to verify the Social Security number.View the reference implementation for this extension on GitHub: Data Verification Reference Implementation.