Skip to main content

Make Integration (Re:port Flow app)

You can generate report PDFs from a Make scenario using the official Re:port Flow app. The app has passed Make's app review, so you can find it by searching "Re:port Flow" in the scenario editor's module picker.

info

This page assumes the reviewed official app (1 trigger, 8 actions).

Prerequisites

  1. A Re:port Flow workspace (create one at re-port-flow.com)
  2. At least one design (template) to render to PDF. If you don't have one yet, copy one from the Template Gallery
  3. A Make account

Create a connection

Add a module in the Make scenario editor and search for Re:port Flow. When creating the connection, choose Add connection; on the authorization screen, log in to Re:port Flow, pick the workspace to use, and authorize.

The Re:port Flow app connects via OAuth 2.0 (Authorization Code + PKCE) only — there is no field to paste an application key directly. Authorization requests the following scopes:

ScopePurpose
openid / profileIdentify the connecting user
designs:readList designs and fetch parameter structure (Design ID selection, Get design parameters)
templates:readFetch template-related metadata
pdf:generateGenerate and download PDFs

For why third-party integrations like Make use OAuth, see OAuth 2.0 Authentication (Make.com-style external integrations are the recommended use case for OAuth 2.0 Authorization Code + PKCE).

Use an administrator account to connect the Watch file completed trigger

Adding the Watch file completed trigger to a scenario makes Make create a dedicated Webhook endpoint for that scenario via the endpoint-management API (POST /workspace/:workspaceId/webhook-endpoints, among others), and delete it when the trigger is removed — the trigger's Design ID / Version settings become that endpoint's design filter. Registering or removing it requires workspace administrator (ADMIN) permission, so the Re:port Flow account used for the connection must be an administrator (see Webhook notifications).

Connecting with a non-administrator account returns a 403 (this operation requires administrator permission) as soon as you enable the trigger. Actions that only generate PDFs (Generate ... PDF (sync/async), etc.) do not require administrator permission.

Available modules

TypeModule name (as shown in Make)Purpose
Trigger (Instant)Watch file completedStarts the scenario when a PDF finishes generating. Receives the download ID, file name, share URL, and the parameters used
ActionGenerate single PDF (sync)Generates a single PDF synchronously; returns the file URL and request ID immediately
ActionGenerate multiple PDFs (sync)Generates multiple PDFs synchronously; returns a ZIP URL immediately
ActionGenerate single PDF (async)Starts asynchronous generation of a single PDF; returns requestId immediately
ActionGenerate multiple PDFs (async)Starts asynchronous generation of multiple PDFs in one call — more efficient than looping
ActionDownload fileDownloads a PDF for a given requestId; leave File ID empty to download all files as a ZIP
ActionGet design parametersReturns the parameter structure required by a design template
ActionBuild content itemHelper that assembles one item (file name, share settings, parameters) for a multi-PDF generation call
ActionMake an API callGeneric module for making an arbitrary authenticated request to the Re:port Flow API

The Design ID picker in each generation module is populated from your connected workspace's designs, and Template parameters fields are built dynamically by Make based on the selected design and version. Don't hardcode parameters — fill in whatever fields are fetched for that design.

Basic scenario: generate a PDF synchronously

  1. Add any trigger (a Google Forms response, a new Google Sheets row, etc.)
  2. Add a Re:port Flow module and select Generate single PDF (sync)
  3. Configure:
    • Design ID: pick the target design from the list
    • Version: the version number
    • File name: the output file name (e.g. invoice.pdf)
    • Share type: Workspace (default) / Invited / Public
    • Passcode protection: enable if needed
    • Template parameters: map values from the trigger to the design's parameters
  4. Pass the module's output (the data binary, or files[].share.url) to a downstream module such as Google Drive or Gmail

Choosing sync vs. async

SyncAsync
Timeout120 secondsNone
ResponseReturns the PDF / ZIP immediatelyReturns requestId immediately (generation continues in the background)
Best forOn-the-spot downloads triggered by a user action; lightweight documentsDocuments that take longer to render; bulk generation such as monthly batches
Detecting completionNot needed — the response is the resultThe Watch file completed trigger, or poll Download file with the requestId

When processing many records, use Build content item to assemble each item (file name, parameters, etc.) before passing them to Generate multiple PDFs (sync/async) — this reduces the Operations consumed by looping per record.

Errors and rate limits

SymptomCauseFix
401 UnauthorizedThe connection expired or was never authorizedReconnect Re:port Flow from Make's Connections
400 Bad RequestdesignId doesn't exist, or Template parameters doesn't satisfy the design's required fieldsRe-check required fields and key names with Get design parameters
403 (administrator permission required)Watch file completed was connected with a non-administrator accountReconnect with an administrator account (see "Create a connection" above)
429 Too Many RequestsWorkspace-level rate limit exceeded (30 req/min for sync, 100 req/min for async/download)Wait the number of seconds in the response's Retry-After header before retrying

See Error Handling and Limitations for details.

Troubleshooting

No designs show up in the picker

Check that the connected workspace has designs. If it doesn't yet, copy one from the Template Gallery and it will appear in the picker.

Watch file completed never fires

Confirm you connected with an administrator account (see the warning above). If you've scoped the trigger to a specific design, also check that its Design ID / Version filter matches what you're generating.

The generated PDF isn't what you expected

Check whether any parameter values are empty or the wrong type by comparing them against the output of Get design parameters.

Next steps