Why Make.com + Typsetter?

Make.com connects over 1,500 apps through visual workflows called scenarios. When a new row appears in Google Sheets, a payment lands in Stripe, or a form is submitted in Typeform, Make.com can trigger an action — like generating a PDF through Typsetter’s REST API.

The combination is powerful because it eliminates two bottlenecks at once: Make.com removes the need for custom backend code to orchestrate your workflow, and Typsetter removes the need for a PDF rendering server (no Puppeteer, no wkhtmltopdf, no headless Chrome). You get a production-ready document pipeline in minutes, not days.

Prerequisites

Before starting, make sure you have the following:

Tip

Test your template in the Typsetter playground first. Make sure all your variables render correctly before wiring up the automation — it saves debugging time later.

Step 1: Create a new scenario in Make.com

Step 1

Create a scenario and choose your trigger

Log in to Make.com and click Create a new scenario. A scenario is a visual workflow made of connected modules. The first module is always a trigger — the event that starts your PDF generation.

Common triggers for PDF workflows:

Select your trigger module and configure it. For this tutorial, we will use Google Sheets — Watch New Rows as the example, but the Typsetter HTTP configuration is identical regardless of which trigger you choose.

Step 2: Add the HTTP module and configure the API call

Step 2

Add an HTTP “Make a request” module

Click the + button after your trigger module and search for HTTP. Select Make a request (not “Make a Basic Auth request”). Configure the following fields:

HTTP module configuration
// URL https://api.typsetter.dev/v1/render // Method POST // Headers Authorization: Bearer ts_live_sk_YOUR_API_KEY Content-Type: application/json // Body type: Raw // Content type: JSON (application/json) // Request content: { "template": "invoice-professional", "format": "pdf", "data": { "client_name": "{{1.Client Name}}", "invoice_number": "{{1.Invoice Number}}", "total": "{{1.Total}}", "currency": "USD" } }

The {{1.Client Name}} syntax is Make.com’s way of referencing data from a previous module (module 1, the Google Sheets trigger). When you click inside the Request content field, Make.com’s mapping panel opens and you can click on the fields from your trigger to insert them.

Important

Set Parse response to No in the HTTP module settings. The Typsetter API returns raw PDF binary data, not JSON. If you set Parse response to Yes, Make.com will try to parse the PDF as JSON and the module will fail.

Step 3: Map template variables from trigger data

Step 3

Connect your trigger data to template variables

The data object in the JSON body must match the variable names defined in your Typsetter template. Open your template in the Typsetter dashboard to see which variables it expects.

In Make.com’s mapping panel, you can:

For templates with line items (invoices, quotes), you can pass an array in the data object. Structure the JSON as an array of objects and Typsetter will iterate over them in the template.

Example: mapping with line items
{ "template": "invoice-professional", "format": "pdf", "data": { "client_name": "{{1.Client Name}}", "invoice_number": "INV-{{formatDate(now; "YYYY")}}-{{1.Row Number}}", "date": "{{formatDate(now; "MMMM D, YYYY")}}", "items": [ { "description": "{{1.Item 1}}", "amount": "{{1.Price 1}}" }, { "description": "{{1.Item 2}}", "amount": "{{1.Price 2}}" } ], "total": "{{1.Total}}" } }

Step 4: Handle the PDF response

Step 4

Save, email, or upload the generated PDF

The HTTP module now outputs the raw PDF as binary data. Add a downstream module to do something with it. Here are the most common options:

Option A: Save to Google Drive

Add a Google Drive — Upload a File module. In the File field, map the Data output from the HTTP module. Set the filename to something meaningful, like Invoice-{{1.Invoice Number}}.pdf. Choose a destination folder in your Drive.

Option B: Send via email

Add a Gmail — Send an Email module (or any email module). In the Attachments section, map the HTTP module’s Data output as the file content and set the filename to {{1.Invoice Number}}.pdf. Write your email subject and body as needed.

Option C: Upload to cloud storage

Make.com supports Dropbox, OneDrive, Amazon S3, and dozens of other storage services. The pattern is always the same: add the storage module, map the binary data from the HTTP response, set a filename, choose a destination.

Pro tip

You can chain multiple output modules. For example: save the PDF to Google Drive AND email it to the client AND log the generation in a Google Sheet — all in the same scenario. Make.com runs modules in sequence, so each one gets the same PDF data.

Example workflows

Here are three production-ready workflows you can build in under 15 minutes:

Google Form → Invoice PDF → Email

A client fills out a form with their details and order. Make.com triggers, calls Typsetter to generate the invoice, and sends it as a PDF attachment via Gmail. Zero manual work.

Stripe Payment → Receipt PDF

A Stripe payment webhook triggers the scenario. Make.com extracts the customer name, amount, and line items, generates a branded receipt through Typsetter, and saves it to Google Drive.

CRM New Deal → Contract PDF

When a deal reaches “Won” stage in HubSpot or Salesforce, Make.com generates a pre-filled contract PDF with the client’s details and uploads it to the deal record.

Error handling in Make.com

Production workflows need error handling. Make.com provides several mechanisms to ensure your PDF generation pipeline is reliable:

HTTP error filters

The HTTP module can return errors if the API call fails. Common issues include:

Adding error routes

Right-click the HTTP module and select Add error handler. Make.com lets you add a parallel route that executes only when the module fails. Use this to:

Common mistake

If your scenario runs but the PDF is empty or corrupted, make sure Parse response is set to No on the HTTP module. This is the most common issue — Make.com tries to interpret the binary PDF data as text, which corrupts it.

Scenario settings for reliability

Go to Scenario settings (the gear icon) and configure:

Make.com vs Zapier vs n8n for PDF automation

All three platforms can connect to Typsetter via HTTP. Here is how they compare for PDF generation workflows specifically:

Criteria Make.com Zapier n8n
HTTP module flexibility Full control (headers, body, auth) Webhooks by Zapier (limited) Full HTTP Request node
Binary file handling Native binary support Requires workarounds Native binary support
Data transformation Built-in functions Formatter step required JavaScript expressions
Error handling Error routes + retry Basic (Paths) Error workflows
Pricing (for PDF workflows) 1 operation = 1 module run 1 task = 1 step (expensive) Free (self-hosted)
Setup complexity Visual, no-code Visual, no-code Requires hosting
Typsetter integration HTTP module (easy) Webhooks by Zapier HTTP Request node

Make.com is the best balance of power and usability for most teams. Its native binary handling means PDFs pass cleanly between modules without encoding hacks. The pricing model (operations, not tasks) is more economical for multi-step workflows. And the visual scenario builder makes it easy to iterate on complex pipelines.

Zapier works, but handling binary PDF responses requires extra steps. Zapier’s “Webhooks by Zapier” action can make the HTTP call, but passing the resulting PDF to a downstream module (like Gmail or Google Drive) is less intuitive than in Make.com. If you are already deeply invested in Zapier, it is viable — see our Zapier PDF automation guide.

n8n is the best option if you want full control and are comfortable self-hosting. It is open-source, free to run on your own server, and the HTTP Request node handles binary data natively. The tradeoff is that you manage the n8n instance yourself — updates, uptime, and infrastructure.

Tips for production workflows

Use Make.com data stores for invoice numbering

If you need sequential invoice numbers, use a Make.com Data Store to track the last number. At the start of your scenario, read the current value, increment it, and write it back. This avoids duplicate numbers even under concurrent execution.

Schedule batch generation

Use Make.com’s Scheduler trigger to run your scenario on a schedule (e.g., every Monday at 9 AM). Combine this with a Google Sheets “Search Rows” module to find all rows that need PDFs generated, then use an Iterator to process them one by one.

Template versioning

When you update a template in Typsetter, the change takes effect immediately for all new renders. If you are running a production workflow, test template changes in the Typsetter playground before saving to ensure your Make.com variable mappings still work.

Start automating PDFs with Make.com today

Sign up for Typsetter (100 free PDFs/month), grab your API key, and build your first Make.com scenario in under 10 minutes.