Generate and sign invoices in Make using Airtable and Zoho Sign

This article describes how to automatically populate Word invoices from Airtable data, convert them to PDF, and send for signing to Zoho Sign. The automation is based on Make and Plumsail Documents processes and can be easily modified for creating other documents such as contracts, proposals, presentations, etc.

Airtable is a spreadsheet-like database for team collaborating and tracking projects, orders, contacts, and more. Plumsail Documents has Make integration for document generation. With its help, we’ll pull data from Airtable and pass it to the document generation and signing process.

Let’s concentrate on each step individually.

Overview of Airtable base

We have three tables in the Airtable base:

  • Customers,

  • Services,

  • Invoices.

The configuration of the first two tables is quite simple and can be found on the screenshots below. The linked columns Invoices are added automatically when you link these tables to the Invoices one.

Customers table

Services table

The Invoices table contains columns linked to the other ones. To retrieve data about the current customer, we added the accordant lookup columns from the Customers table. The column linked to the Services table requires just one lookup column with service names. For our automation, we also need two checkbox (Sign and Sent) and two timestamp (Created and Modified) columns.

Invoices table 1

Invoices table 2

Configure document generation process

Before creating a scenario (an automated connection of apps in Make), we need to set a process that will generate PDFs from a DOCX template.

Create new process

First, register or log in to your Plumsail account.

In the Processes section, click Add process button and select Start from template:

Add process

You’ll be redirected to the library of document templates. Select the template of a sales invoice:

Find template

Name the process and click Next to proceed.

Configure template

This step has two substeps. On the Editor one, you can adjust the document template to your needs. Everything in the curly brackets will be replaced with Airtable data dynamically. You can add more placeholders. They work quite simply and support even some complex logic with tables, charts, conditions, and more. Learn how Word templates work in Plumsail Documents.

Template editor

Beside the Plumsail placeholders, we need to use Zoho Sign tags. Click Edit online to modify the template and add the required tags. We added several ones for internal and external signing and colored them white. To stop processing the tags as Plumsail ones, add a :keep-token part to each one. Find more information about the Zoho Sign delivery.

Zoho Sign tags

Click Save & Next to go to the Settings substep.

Template settings

It contains the following parameters.

Template mode

It is Testing by default. It means you won’t be charged for this process runs, but result documents will have a Plumsail watermark. Change it to Production to remove the watermark.

Output filename

Use tokens to make it personalized. They work the same way as in the template. For instance, we use token {{number}}. If it is 1234-5, the output file name will be Invoice 1234-5 from Plumsail.

Output type

By default, it is the same as your template’s format. In this particular case, it’s DOCX. Change it to PDF to make the result document fit for signing.


Find more information about the template settings including protection of PDF document with a watermark, by setting a password, or disabling some actions.

Test template

Once you have customized all the settings, you can test the template to see the result.

When everything is done here, click Save & Next to set up deliveries.

Add Zoho Sign delivery

The next step is delivery. You can send the invoices for e-signing through different services but in this case we use Zoho Sign. You need to connect to the service with your account credential and then to fill the existing fields. To insert dynamic data that will be retrieved from Airtable, use tokens enclosed between double braces {{ }}. In this example, we send the invoice for signing first to our manager and then to the customer. You can configure as many deliveries as you need.

Zoho Sign

Start process

We will start our process from Make.

Create scenario in Make

Scenario is a workflow that connects apps together to perform tasks automatically. You can create it following the steps explained below. This is how our scenario looks in general:

Scenario overview

Watch records in Airtable

We need to start the scenario only for the invoices that were checked in the Sign column and were not in the Sent one. For that we added a Watch Records module watching modified records in the Invoices table and set up a filtration rule. It uses the default Airtable formula syntax:

AND({Sign} = TRUE(), {Sent} != TRUE())

Watch records module

Search invoice items in Airtable

In the Search Records module we retrieve items from the Services table. For the invoice, we need only two columns returned, Service name and Price.

To define what services were linked to the filtered invoices, we use a filtration rule again. Unlike the previous rule, this one includes also a default join() function from Make. It unites the service names from the lookup column of the Invoices table into one string. Then, the Search() function from Airtable checks whether the current service name occurs in that string or not.

SEARCH({Service name}, "{{join(8.`Service names`; ",")}}")

Search records module

Start process in Plumsail Documents

Search for Plumsail Documents and add a Start Document Generation Process module. Fill the single values using the output of the Watch Records one.

Single values

To render the table part of the template, we need to pass the found services. They should be aggregated into an array of objects that fits for processing in the current template. So add an Array aggregator module, use the output of the Search Records one as data source, and take the target structure from the Plumsail module.

Array aggregator

After that, get back to the Plumsail module, enable a Map option for the table and pass the output of the aggragator.

Map of table

Mark invoices as sent in Airtable

The last thing is to mark the retrieved invoices as sent. Add an Update a Record module, pass it ID from the scenario trigger, and set the Sent column to Yes.

Mark as sent

Final steps

The scenario is ready. Save the configuration and navigate to its main page. There, you can enable the scenario and set up how frequently it will run.

Scenario schedule


Every time the invoice is checked in Airtable, a filled document will be sent for signing through Zoho Sign.

Result document

As you see, it’s quite simple to generate flexible and customized documents from Airtable. You can use the approch described in the article to generate any kind of documents of various formats - Word, Excel, PowerPoint, PDF.

If you’re new to Plumsail Documents, register an account to get a 1-month free trial.