Welcome to the Maestro Sample App! The app is written using Node.js and React. Docusign Maestro lets you easily build and deploy customized workflows that automate and accelerate your agreement processes without writing any code. Maestro connects all the tools and activities in your workflow so that agreement processes are more efficient, more uniform, and have better visibility.
With Docusign Maestro, you can combine Docusign features such as ID Verification, Web Forms, and eSignature with third-party extensions to automate your workflows from end to end.
Before you can run this sample app on your local machine, you must first create a new integration key in your Docusign developer account.
- If you don't already have one, create a free developer account.
- Log in to your developer account and navigate to My Apps & Keys.
- Select Add App and Integration Key.
- Create a new integration that is configured to use JSON Web Token (JWT) Grant and Authorization Code Grant (ACG).
You will need the integration key itself and its RSA key pair. To use this application, you must add your application’s Redirect URI to your integration key. See our video, Creating an Integration Key for JWT Authentication for a demonstration of how to create an integration key (client ID) for a user application like this example.
- Save the integration key and private RSA key pair somewhere safe as you will need these later.
- Add redirect URIs for your app. There are several variables from the .env file that are used in the code and configured for redirect urls. Find variables below in the .env file and add the values of these variables in the Docusign account settings in the appropriate Redirect URIs section:
- FRONTEND_DEV_HOST (http://localhost:3000)
- JWT_REDIRECT_URI (https://developers.docusign.com/platform/auth/consent)
If you run this project in Docker using the docker-compose.local.yml file, the variable FRONTEND_DEV_HOST there changes to the value http://localhost:80. Keep in mind that in this case this value will also have to be added to the Redirect URIs section.
- A free Docusign developer account.
- Integration key and corresponding RSA key pair from the integration you created above.
- Node.js v20+
- VS Code
- Docker
- Download or clone this repository to your workstation in a new folder named sample-app-maestro-node.
- Navigate to that folder:
cd sample-app-maestro-node
- Navigate to the client folder:
cd client
- Install dependencies using the npm package manager:
npm install
- Navigate to the server folder:
cd ../server
- Install dependencies:
npm install
- Rename the .env.example file in the root directory to .env, and update the file with the integration key and other settings.
Note: Protect your integration key and client secret. You should make sure that the .env file will not be stored in your source code repository.
- Rename the example_private.key file to private.key, and paste your complete private RSA key into this file (including the header and footer of the key). This should be the private RSA you should have gotten when you created your Docusign account.
- Navigate to the application folder:
cd sample-app-maestro-node
- To start the server and client at the same time:
npm run concurrently:dev
- Or, to run the server and client separately:
- In one terminal, run
npm run client:dev
- In a separate terminal, run
npm run server:dev
- In one terminal, run
- Open a browser to http://localhost:3000
You can run the application in Docker locally in production mode:
- Navigate to the application folder:
cd sample-app-maestro-node
- Make sure that you configured .env file and saved your private.key in the root of the folder. Make sure that you have Docker installed.
- Run
docker-compose -f docker-compose.local.yaml up -d
- To stop containers, run
docker compose -f docker-compose.local.yaml down
- Open a browser to http://localhost:80