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",
  "returnMethod": "inline"
}

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,
  "returnMethod": "inline",
  "contentType": "application/json",
  "content": { "pages": [ ... ] }
}

With returnMethod: "inline", use content directly (and contentType). For returnMethod: "file" (default), the presigned resultUrl is the download link.

5

Download and use the result

If you used the default file delivery, add another HTTP → Get a file module pointed at 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.