Automate PDF Generation in Make.com | Re:port Flow

「Automate PDF Generation in Make.com | Re:port Flow」のカバー画像

Re:port Flow passed Make.com's Apps review and is listed in the Make App Directory as an official app. Connecting uses OAuth 2.0 (Authorization Code + PKCE) only, so you never type an API key by hand. This guide walks through building a scenario that generates PDFs with the official "Re:port Flow" app.

What you can do

  • Connect the official app to Make.com over OAuth 2.0 and automate PDF generation without code
  • Generate invoices, delivery notes and other PDFs from Google Sheets or form data
  • Save the PDF to Google Drive, or send it by email or Slack
  • Handle bulk output with async modules and the Watch file completed trigger

What is the official Re:port Flow Make app?

In September 2026, Re:port Flow passed the Make.com Apps review and became an official app in the Make App Directory. Connections use OAuth 2.0 (Authorization Code + PKCE) only. At authorization it requests the scopes openid, profile, designs:read, templates:read and pdf:generate.

Compared with the old approach of hand-writing the URL and API key into the headers of an "HTTP > Make a request" module, you open a module, pick the Design ID from a dropdown, and the parameter fields expand automatically for the template you chose.

Before you start

  • Create a Re:port Flow workspace (the free plan is enough to try this)
  • Create at least one design (template). If you don't have one, copy one from the template gallery
  • Have a Make account

Build the scenario in Make.com

Step 1: Add a trigger

Create a new scenario and add the module that starts it, for example:

  • Google Sheets: Watch Rows (when a row is added)
  • Webhooks: Custom webhook (a notification from an external system)
  • Schedule: run on the 1st of every month (monthly invoice batch)

Step 2: Add a Re:port Flow module and connect with OAuth 2.0

Add any Re:port Flow module (for example, Generate single PDF (sync)), click "Add connection" under Connection, and sign in to your Re:port Flow workspace to authorize. Once connected, every module can reuse the same connection.

Step 3: Set the Design ID and template parameters

  • Set the Design ID and Version. Template parameters expand automatically for that design
  • Map outputs from earlier modules to the expanded parameters
  • Set the File name (for example, invoice.pdf)
  • Optionally set Share type (Workspace / Invited / Public) and Passcode protection

Step 4: Pass the result to later modules

Pass the output of Generate single PDF (sync), either the data binary or values such as files[].share.url, to your next module:

  • Google Drive: Upload a File (use the invoice number in the file name)
  • Gmail / Email: attach the file to Send an Email
  • Slack: upload the file as a notification

Module list

The official app provides 1 trigger and 8 actions.

TypeModulePurpose
TriggerWatch file completedStarts the scenario when PDF generation finishes (requires a workspace admin connection)
ActionGenerate single PDF (sync)Generates one PDF and returns the file URL immediately
ActionGenerate single PDF (async)Starts async generation of one PDF and returns a requestId
ActionGenerate multiple PDFs (sync)Generates several PDFs and returns a ZIP URL immediately
ActionGenerate multiple PDFs (async)Starts async generation of several PDFs
ActionBuild content itemHelper that builds one item (file name, share settings, parameters) for multi-PDF generation
ActionDownload fileDownloads a generated PDF by requestId
ActionGet design parametersReturns the parameter structure a design requires
ActionMake an API callCalls the Re:port Flow API directly with your authenticated connection

Bulk generation and async processing

For large batches such as a monthly invoice run, use Generate single PDF (async) or Generate multiple PDFs (async) and detect completion with the Watch file completed trigger. To generate many PDFs at once, first fetch the parameter structure with Get design parameters, then build each line with Build content item and pass them to Generate multiple PDFs. This keeps loops inside the scenario to a minimum. Sync generation times out at 120 seconds. Async generation has no timeout.

Carry context forward with passthrough

If you need to know which record a PDF belongs to once it's generated, pass an arbitrary value (for example, a Notion page ID) when you generate it. The value is included in the Watch file completed output, so later modules can use it to update the record or attach the file.

When no module fits: Make an API call

To call an endpoint that has no dedicated module, use Make an API call. It reuses your OAuth 2.0 connection, so you don't hand-write URLs or headers.

FAQ

How is this different from Make's generic HTTP module?

The official app unifies authentication on OAuth 2.0 (Authorization Code + PKCE), so you never write the URL or API key into headers. Design IDs and parameters also appear as selectable options inside Make.

Do I need to reconfigure Make after editing a template?

No. Edit the template in the browser designer and the change applies the next time a module runs.

Does it support Japanese fonts and complex tables?

Yes. Japanese fonts, vertically merged table cells and page-break control are supported out of the box.

Is the output history kept?

Who generated what and when is recorded, and files can be downloaded again.

The Watch file completed trigger isn't firing.

You may have connected with a non-admin account. Reconnect using a Re:port Flow account with workspace administrator (ADMIN) permission. Actions that only generate PDFs don't need admin rights.

I'm getting 429 errors.

You've exceeded the per-workspace rate limit: 30 requests/min for sync generation and 100 requests/min for async generation and downloads. Wait for the number of seconds in the Retry-After response header, then retry.

Summary

With the official Re:port Flow Make app, OAuth 2.0 is all it takes to put PDF generation into a Make.com workflow. For detailed settings, see the Make integration guide in the developer docs. Start by building one template on the free plan and trying the scenario above.

Start for free