Skip to content
DocuSign eSignature NPM Package
Branch: master
Clone or download
Pull request Compare This branch is 193 commits behind docusign:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

DocuSign Node Client

NPM version NPM downloads Build status Test coverage

NPM module that wraps the DocuSign API

Documentation about the DocuSign API

Documentation about this package


Feel free to create a Pull Request!


DocuSign Developer account (Free)

You can create your free dev account at the DocuSign DevCenter using this registration form. You will need the Integrator Key from your developer account in order to use the DocuSign Node Client Library.

Useful Reading

See Common Terms for an explanation of the basic components of the DocuSign platform.

Getting Started

Install the client locally: npm install docusign --save --save-exact (note you may have to use sudo based on your permissions)

The below examples show you how to:

  • Create a DocuSign Object with an Integrator Key and a Target DocuSign Environment
  • Create a DocuSign Client Object and Login using your DocuSign Account Credentials
  • Create a new Envelope using a Template and sending to the recipient you specify
  • Logout of the Client by Revoking the DocuSign user's OAuth Token

Alternatively, this SDK supports a promise interface via bluebird. An example is provided.

var docusign = require('docusign');
var async = require('async');

var integratorKey  = '***',                   // Integrator Key associated with your DocuSign Integration
  email            = 'YOUR_EMAIL',            // Email for your DocuSign Account
  password         = 'YOUR_PASSWORD',         // Password for your DocuSign Account
  docusignEnv      = 'demo',                  // DocuSign Environment generally demo for testing purposes
  fullName         = 'Joan Jett',             // Recipient's Full Name
  recipientEmail   = '', // Recipient's Email
  templateId       = '***',                   // ID of the Template you want to create the Envelope with
  templateRoleName = '***',                   // Role Name of the Template
  debug            = false;                   // Enable debug logging and debug responses from API

var templateRoles = [{
  email: email,
  name: fullName,
  roleName: templateRoleName
var additionalParams = {};

  // **********************************************************************************
  // Step 1 - Initialize DocuSign Object with Integrator Key and Desired Environment
  // **********************************************************************************
  function init (next) {
    docusign.init(integratorKey, docusignEnv, debug, function(err, response) {
      if (err) {
        return next(err);
      if (response.message === 'successfully initialized') {

  // **********************************************************************************
  // Step 2 - Create a DocuSign Client Object
  // **********************************************************************************
  function createClient (next) {
    docusign.createClient(email, password, function(err, client) {
      if (err) {
        return next(err);
      next(null, client);

  // **********************************************************************************
  // Step 3 - Request Signature via Template
  // **********************************************************************************
  function sendTemplate (client, next) {
    client.envelopes.sendTemplate('Sent from a Template', templateId, templateRoles, additionalParams, function (err, response) {
      if (err) {
        return next(err);
      console.log('The envelope information of the created envelope is: \n' + JSON.stringify(response));
      next(null, client);

  // **********************************************************************************
  // Step 4 - Revoke OAuth Token for Logout
  // **********************************************************************************
  function logOut (client, next) {
    client.logOut(function (err, response) {
      if (err) {
        return next(err);

], function end (error) {
  if (error) {
    console.log('Error: ', error);

How to run Unit Tests

In the console run npm test.


Pull requests and new issues are welcomed and encouraged! We follow the semistandard style, please make your contributions conform to this.


The DocuSign-Node-Client is licensed under the following LICENSE.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.