Here’s a step by step automation workflow created using Make to streamline document handling with Google Sheets, Docupilot, and Xodo Sign. This setup ensures that documents are automatically generated whenever a new row is added to Google Sheets, sent for e-signing via Docupilot to Xodo Sign, and continuously tracked until the signing process is completed. The workflow requires three scenarios.
Scenario 1: Automating Document Creation from Google Sheets
The “Integration: Google Sheets → Docupilot” scenario automates the generation of documents whenever a new row is added to a Google Sheets spreadsheet. Here’s how it works:
Steps:
Step 1: Watch New Rows
As the first step in Make , select the “Watch New Rows” module from Google Sheets to monitor the spreadsheet for newly added rows at regular intervals.
Click “Add” to connect your Google Sheets account and configure the required settings by selecting the Drive name , specifying the Spreadsheet ID , and choosing the Sheet Name . If your sheet contains headers, select “Yes” under the Table Contains Headers option to ensure proper data mapping. This setup ensures that any new row added to the sheet is automatically detected and processed.
Step 2: Create a Document
Select the “Create a Document” module from Docupilot to trigger document generation. Map the relevant fields from your Docupilot template , such as name, title, company, and address , to the corresponding columns in Google Sheets to ensure accurate data transfer and document creation.
Scenario 2: Storing Row ID & Document ID via Webhooks
This scenario is designed to efficiently capture and store essential data for seamless document tracking.
Steps:
Step 1: Creating Custom Webhook
This Custom Webhook module captures incoming data from a custom webhook. Click on “Add” and give a name for your Webhook and “Save”.
Click on “Copy address to clipboard” or copy the link highlighted.
Step 2: Configure Docupilot Success Callback URL:
In Docupilot, go to Xodo (Eversign) Delivery > Advanced Settings and configure a Success Callback URL . Enter your Make Webhook URL here. Additionally, click on “Advanced Configuration” select “Data” and configure a Docupilot token to send the Row ID along with the Webhook.
Step 3: Data store Module
Create “Add/replace a record” module to store the Document ID and Row ID received from the webhook in a Data store for easy reference.
To create a Data store in Make, follow these simple steps:
3.1: Access Data Store:
Navigate to the “Data store” section in Make. This is where you can manage and create new data stores. Select the “Add/replace a record” action to input data into your newly created data store.
3.2: Create a New Data Store:
Click the Add button to create a new Data store.
3.3: Naming your Data Store :
Provide a name for your data store, such as “Doc and Row ID’s”
3.4: Defining Data structure :
After naming, click the “Add” button under Data Structure , and you will be prompted to name and define your data structure under Specification.
3.5: Defining Fields :
Click on “Add Item” under Specification to add a field for “Document ID” . Set the type to “Text” , Required to “Yes” , and Multi-line to “No” . Repeat the process by clicking “Add Item” again to add another field for “Row ID” , setting the type to “Text” , Required to “Yes” , and Multi-line to “No”. Similarly add another Field for “Status” and set type to “Text” , Required to “No” , and Multi-line to “No” Click “Save” to finalize the setup.
3.6: Save the Data Store :
Once you’ve defined the fields, save your Data store. It will now be available for use in your scenarios.
3.7: Mapping the Values :
To map the values, select the Document ID and Row ID fields from the Webhook module. You can leave the Status as blank, as it is not a required field, and key field blank, as its values will be auto-generated in the Data store. Once all the values are mapped, click Save .
Step 4: Testing Scenarios 1 & 2
4.1: Before we proceed for testing, please navigate to Scenario 1 and in Create a Document module click on “Refresh” button to see the newly added Row_ID token from the Webhook and map it with “Row number” from Google Sheets. Click on “Save” and activate the scenario.
4.2: Navigate to Scenario 2 , select the “Custom Webhook” module, and click “Redetermine Data Structure” . This will enable the webhook to listen for incoming data. To initiate this, add a new entry in Google Sheets —since Scenario 1 is already active, it will trigger the automation to generate a document, calling the webhook and allowing Scenario 2 to capture and redefine the data structure accordingly.
Scenario 3: Automating Signing Status Updates in Google Sheets
This scenario automates the tracking of document signing status in Google Sheets based on real-time data retrieved from Xodo Sign.
Steps:
Step 1: Search records Module
To search for records in the Data store , select the Data store created in Scenario 2 and set the condition to retrieve records where the Status is not equal to “signed” . This ensures that only documents pending signature are fetched from the Data store.
Step 2: Iterator Module
The Iterator module is used to pass the retrieved Document IDs from the Search Record module into the next step for further processing.
Step 3: Get a Document Module
To connect your Xodo Sign account, click “Add” and fetch document details from Xodo Sign using the Document ID retrieved from Iterator module.
Step 4: Array Aggregator Module
The Array Aggregator module is used to combine document details retrieved from previous modules. To configure this, select the Source module as Iterator , set the Target structure type to Custom , and choose Document ID and Signers from the Aggregated fields .
Step 5: Filtering Signed Documents
Click on the settings icon present under the link between “Xodo Sign Get a Document” module and “Array Aggregator” module to set up a filter to process only records where the status is marked as “signed”.
Step 6: Update a Row Module
Add the “Update a Row” module to update the Google Sheet with the signing status.
Click “Add” to connect your Google Sheets account and set the Search method to Search by Path. Define the Drive folder, specify the Spreadsheet ID and Sheet Name, and map the Row Number with the retrieved Row ID from the Datastore. If your sheet contains headers, set “Table Contains Headers” to “Yes”. Under Values, map the Status field with the Status retrieved from the Array Aggregator module.
This guide walks you through automating document generation and real-time document status tracking using Make, Google Sheets, Docupilot, and Xodo Sign. By implementing this workflow, you can eliminate manual work, reduce errors, and streamline document handling efficiently.
If you have any questions or need further clarifications, feel free to drop a comment below. We’d love to hear how this automation works for you!