logo
Documents
Jul 22

How to automatically generate PDF from Google Sheets using Make

Internet Marketer

This article shows how to generate PDF documents from Google Sheets using Make and Plumsail Documents.

We'll cover two scenarios:

  • Generate one PDF from a single row
  • Generate multiple PDFs from a list of rows

In both cases, documents are created from a template, saved to Google Drive, and sent by email — all in a Make scenario.

Here's the example Google Sheets table we'll use in both scenarios:

Invoices list in Google Sheets  

The same method works with other structured data sources connected via Make — such as Airtable, Excel, or SmartSuite. Let's dive in and go step by step.

Further in the article:

  1. Create and set up a document process
  2. Create one PDF from a single row
  3. Batch create PDFs from multiple rows
  4. Where this works
  5. Start generate PDF from Google Sheets with Make and Plumsail Documents

If you prefer to watch the full process in action, here's a short video based on this article:

 

1. Create and set up a document process

To start, go to Plumsail Documents and create a new document generation process.
If you don't have an account, you can begin with a free 30-day trial — no credit card required.

This step defines the layout and structure of the PDF file you want to generate.

Choose a template

Next, choose how you want to start. You can upload your own Word template or use one from the built-in library.

Plumsail Documents start from template  

In this example, we'll use the Sales invoice template from the Invoices section.

On the first screen, enter a name for the process (for example, Invoice) and click Next.

Plumsail Documents create process  

What are tokens?

When you open a template, you'll see placeholders wrapped in double curly brackets — like {{number}}, {{date}}, or {{customerEmail}}.
These are called tokens. They allow you to insert values from your data source, such as a row in Google Sheets.

For example:

  • {{number}} inserts the invoice number
  • {{date}} adds the date
  • {{customerEmail}} pulls the customer's email address

You can edit tokens directly in Microsoft Word or in the online template editor.
To learn the syntax, see the Template syntax section in the Plumsail Documents documentation.

If your template includes a table with repeating items like services or products, use a special nested token for tables. It allows you to render a collection of records as a table with one row per item.

For example:

  • {{services.description}} — service name
  • {{services.amount}} — price per item

You can also use Value functions to perform calculations or format values.
For instance:

  • {{services}:sum(value.amount)} calculates the total amount
  • {{date}:format(d, en-US)} displays the date as June 4, 2025

Configure template with tokens  

Once your template is ready, click Save & Next to continue.

Set output settings

In this step, configure how the final document will be generated:

  • Switch Template mode to Production
  • Set the Output type to PDF
  • In the Output filename field, enter a name like Invoice, or use tokens to make filenames dynamic (e.g. Invoice-{{number}}.pdf)

Set output settings  

Click Save & Next.

Skip the delivery step

At this step, Plumsail Documents offers built-in delivery options such as Gmail, Outlook, Dropbox, Google Drive, and more.

In this article, we skip them on purpose to show how you can use the resulting file in a Make scenario.
This demonstrates how to handle the file manually and gives you more flexibility in case built-in deliveries don't fit your use case.

Delivery step  

Just click the the next step link at the top to continue.

Start the process with Make

At the final step, choose how you want to run the document generation process.

In our case, we'll run it from Make, so click the Make tile.

Start process step with Make selected

A panel will open on the right with ready-to-use scenario templates which you can use in your automation.

Make scenario templates window

But in this guide, we'll build the automation from scratch. Click the Open Make button at the top.

This will open make.com in a new browser tab. After logging in, you'll be taken to the scenario editor, where we'll build the automation step by step.

2. Create one PDF from a single row

Now that the document process is ready, let's build the automation in Make.
In this scenario, we'll generate a PDF document every time a new row is added to the spreadsheet.

To automate the process, we'll use the following modules in Make:

  • Google Sheets — Watch new rows
  • Plumsail Documents — Start document generation
  • HTTP — Get a file
  • Google Drive — Upload a file
  • Gmail — Send an email

Here's what the full scenario will look like:

Scenario overview  

Let's go through each step in detail.

Google Sheets: Watch new rows

Create a new scenario in Make and add the Google Sheets — Watch new rows module.

Set it up as follows:

  • Choose your Google account
  • Select the spreadsheet and sheet
  • Set the Limit to 1
  • Set Table contains headers to Yes
  • In the pop-up window Choose where to start, select All

Google Sheets configuration  

This module will start the scenario when a new row is added.

Plumsail Documents: Start document generation

Add the Plumsail Documents — Start document generation process module.

  • Select your document process from the list (e.g. Invoice)
  • Map each field from the Google Sheet to the matching token in your template

For example:

  • number{{number}}
  • date{{date}}
  • customerCompany, email, phone, services → to their respective tokens

Plumsail Documents mapping  

If the services field is a JSON array (for a table), you can pass it as is and Plumsail Documents will handle it automatically.

HTTP: Get a file

After Plumsail Documents generates the document, it returns a URL to the PDF.
To work with the actual file, add the HTTP — Get a file module.

  • Set the URL field to the output from the previous module
  • Leave the method as GET

HTTP get file  

This will download the PDF and make it available to other modules.

Google Drive: Upload a file

Add the Google Drive — Upload a file module to store the generated PDF.

  • Choose your Google Drive account
  • Select a folder where the file should be saved
  • Switch the File field to Map mode
  • In the Filename field, build a dynamic name using values from the spreadsheet
    For example: {{customerCompany}}-{{number}}.pdf
  • Set the Data field to the output of the HTTP module

Upload to Google Drive  

This will save a copy of each invoice to your Drive.

Gmail: Send an email

Finally, add the Gmail — Send an email module to deliver the document.

  • Connect your Gmail account
  • In the To field, map the recipient's email from the Google Sheets
  • Add a subject, for example: Invoice {{number}}
  • Write a short message in the content field
  • Switch Attachments to Map mode
  • Set the filename and use .pdf extension
  • For the Data field, use the output of the HTTP module

Gmail send email  

This step completes the flow: each time a new row is added to Google Sheets, a PDF will be generated, saved to Drive, and sent by email.

Start the scenario manually and check Google Drive and Gmail:

Drive result
Email preview  

Now let's create the second scenario.

3. Batch create PDFs from multiple rows

In this scenario, we'll generate several PDF documents at once from multiple rows in Google Sheets.

This is useful when you want to process a batch of records manually or on a schedule — for example, send all invoices from the last week.

We'll use the following modules:

  • Google Sheets — Search rows
  • Plumsail Documents — Start document generation
  • HTTP — Get a file
  • Google Drive — Upload a file
  • Gmail — Send an email

Scenario overview  

Google Sheets: Search rows

Start by adding the Google Sheets — Search rows module.

  • Choose your spreadsheet and sheet
  • Set Table contains headers to Yes
  • Optionally, add a filter to narrow down the results (for example, by status or date)

Google Sheets search rows  

This module will return a list of rows that match the conditions.

Plumsail Documents: Start document generation

Add the Plumsail Documents — Start document generation process module and connect it inside an iterator.

Make will automatically loop through each row from the previous step.

  • Select the same document process as before
  • Map the fields from each row to the template tokens, just like in the one-record scenario

Plumsail Documents bulk mapping  

Click OK when mapping is done.

HTTP: Get a file

Add the HTTP — Get a file module right after Plumsail Documents.

  • Map the file URL from the output of the generation module
  • Leave the method as GET

HTTP get file  

This step downloads each generated PDF.

Google Drive: Upload a file

Next, add the Google Drive — Upload a file module.

  • Choose your Google Drive account
  • Select a folder where the file should be saved
  • Switch the File field to Map mode
  • In the Filename field, build a dynamic name using values from the spreadsheet (e.g. {{customerCompany}}-{{number}}.pdf)
  • Set the Data field to the output of the HTTP module

Upload to Google Drive  

Each file will be saved to Google Drive with a unique name.

Gmail: Send an email

Finally, add the Gmail — Send an email module to send each PDF to its corresponding recipient.

  • Map the To field to the customer's email
  • Add a subject, like Invoice {{number}}
  • Write the message content
  • In the Attachments, switch to Map mode
  • Set a dynamic filename with .pdf extension
  • For Data, use the output from the HTTP module

Gmail send email  

That's it. When you run this scenario, Make will process each row, generate a document, save it, and send it by email.

Here's how the result looks in Google Drive and Gmail:

Google Drive result
Email preview  

4. Where this works

In this article, we used Google Sheets as the source of data, but the same method works with many other tools.

You can create PDF documents from:

  • Spreadsheets and databases like Google Sheets, Excel Online, Airtable, Smartsheet, SmartSuite, or Baserow
  • Online forms such as Plumsail Forms, Google Forms, Typeform, or Jotform
  • CRMs like HubSpot, Pipedrive, or Zoho CRM
  • Any other app that provides structured data and connects to Make

As long as your data is organized in fields and values, you can pass it to Plumsail Documents and use the same template with tokens.

This allows you to include document generation in almost any workflow.

Start generate PDF from Google Sheets with Make and Plumsail Documents

Register an account to start your 30-day free trial. You'll get full access to document generation features and PDF actions in Make.

If you haven't used Make before, there's a nice bonus: this Make Pro promo link gives you two months of Make Pro for free.

And if you'd like a quick walkthrough, you can book a free intro call with the Plumsail team. We'll help you set up your first automation and answer any questions along the way.