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:
- A Typsetter account with an API key. Sign up at typsetter.dev — the free tier includes 100 PDFs/month, which is enough to build and test your workflow. Go to Settings → API Keys and copy your secret key (it starts with
ts_live_sk_). - A Make.com account. The free plan includes 1,000 operations/month. Any paid plan works too.
- A Typsetter template. You need at least one template created in the Typsetter dashboard. You can use a built-in template (like
invoice-professional) or design your own in the visual editor.
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
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:
- Google Sheets — Watch New Rows: Generate a PDF every time a new row is added to a spreadsheet.
- Stripe — New Payment: Generate a receipt when a customer pays.
- Typeform / Google Forms — New Response: Generate a certificate or document from form data.
- Webhook — Custom Webhook: Receive data from any external system via HTTP POST.
- HubSpot / Salesforce — New Deal: Generate a contract when a deal reaches a specific stage.
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
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:
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.
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
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:
- Map directly: Click a field from a previous module to insert its reference (e.g.,
{{1.Email}}). - Transform values: Use Make.com functions like
formatDate,formatNumber, orupperto format data before it reaches the template. - Set defaults: Use the
ifemptyfunction to provide fallback values (e.g.,{{ifempty(1.Company; "Individual")}}). - Concatenate strings: Combine multiple fields with
{{1.First Name}} {{1.Last Name}}.
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.
Step 4: Handle the PDF response
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.
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:
- 401 Unauthorized: Your API key is invalid or expired. Double-check the
Authorizationheader. - 400 Bad Request: The JSON body is malformed, or a required template variable is missing. Check your variable mappings.
- 404 Not Found: The template slug does not exist. Verify the
templatevalue matches exactly. - 429 Too Many Requests: You have exceeded your plan’s rate limit. Upgrade your plan or add a delay between scenario runs.
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:
- Send yourself a Slack or email notification when a PDF fails to generate.
- Log the error details to a Google Sheet for debugging.
- Retry the module after a delay using the Retry directive.
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:
- Max number of consecutive errors: Set to 3. The scenario will pause after 3 consecutive failures, preventing runaway loops.
- Sequential processing: Enable this if order matters (e.g., invoice numbering). It ensures only one execution runs at a time.
- Data loss prevention: Enable “Allow storing incomplete executions.” This saves failed runs so you can re-run them manually after fixing the issue.
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.