Guides

Make (Integromat) Integration

Convert PDFs to structured data inside Make scenarios using the built-in HTTP module. No custom app or OAuth setup required.

Prerequisites: A PDFPipe account with an API key and a Make account (free or paid).
1

Create a new scenario

Open Make and create a new scenario. Add a trigger module that provides a PDF URL:

  • Google Drive — "Watch Files"
  • Dropbox — "Watch Files"
  • Email (IMAP) — "Watch Emails" with attachment links
  • Webhooks — "Custom Webhook" to receive URLs from external systems
2

Add an HTTP module

Click the + after your trigger and add HTTP → Make a request. Configure the module:

  • URL: https://api.pdfpipe.dev/v1/convert
  • Method: POST
  • Headers:
    Authorization: Bearer pk_live_your_key_here
    Content-Type: application/json
  • Body type: Raw
  • Content type: JSON (application/json)
3

Set the request body

In the Request content field, enter:

Request body (JSON)
{
  "url": "{{1.fileUrl}}",
  "format": "json"
}

Replace {{1.fileUrl}} with the mapped value from your trigger module. Adjust the format to text, markdown, csv, or any other supported format.

4

Parse the response

Check Parse response in the HTTP module settings. Make will automatically parse the JSON response, giving you access to individual fields:

200 — Response
{
  "requestId": "req_01J9X7K2M...",
  "status": "complete",
  "format": "json",
  "pagesProcessed": 4,
  "creditsUsed": 1,
  "resultUrl": "https://pdfpipe-results.s3..."
}

The resultUrl contains a presigned link to download the converted output.

5

Download and use the result

Add another HTTP → Get a file module pointed at the resultUrl to download the converted data. Then route it to your destination:

  • Google Sheets — add rows from extracted data
  • Airtable — create records
  • Slack / Email — send a notification with extracted text
  • Data Store — save for later processing
6

Handle async responses (large files)

For PDFs over 10 MB, the API returns 202 with a pollUrl. Use a Repeater module combined with a Sleep module and a Router with a filter:

  1. Set the Repeater to run up to 30 iterations
  2. Add a Sleep module with a 5-second delay
  3. Add an HTTP GET module to poll https://api.pdfpipe.dev/v1/status/:requestId
  4. Add a Router — one path continues when status = complete, the other loops

See the Async Polling guide for the full pattern.

Tips

  • Store your API key in a Make Connection or use the Keys vault for security.
  • Use the JSON → Parse JSON module if you need to process nested JSON output from PDFPipe.
  • Enable Error Handler on the HTTP module to gracefully handle failures.