Zapier Integration
Automatically convert PDFs in your Zapier workflows using PDFPipe. This guide uses the Webhooks by Zapier action to call the PDFPipe API directly - no custom app needed.
Create a new Zap and choose a trigger
Start a new Zap and pick a trigger that provides a PDF URL. Common examples:
- Google Drive - "New File in Folder" (share the file as "anyone with the link" and use its direct download link)
- Dropbox - "New File in Folder" (use a public shared link)
- Gmail - "New Email" where the email body contains a public PDF link
- Webhook (Catch Hook) - receive a PDF URL from an external system
URL_UNAUTHORIZED, URL_FORBIDDEN, or REDIRECT_TO_LOGIN. Public links, links with an access token in the URL, and links that redirect before serving the file all work.Add a Webhooks by Zapier action
Add an action step and select Webhooks by Zapier → Custom Request. Configure:
- Method: POST
- URL:
https://api.pdfpipe.dev/v1/convert - Headers:
Authorization|Bearer pk_your_key_hereContent-Type|application/json
Set the request body
In the Data field, switch to Raw mode and enter:
{
"url": "{{pdf_url_from_trigger}}",
"format": "json",
"returnMethod": "inline"
}Replace {{pdf_url_from_trigger}} with the dynamic value from your trigger step. Change "format" to any supported format (text, markdown, csv, etc.).
Test and parse the response
Click Test step. For small PDFs you'll get a synchronous response:
{
"requestId": "req_a1b2c3...",
"status": "complete",
"format": "json",
"pagesProcessed": 2,
"creditsUsed": 1,
"contentType": "application/json",
"content": "{\"pages\":[{\"pageNumber\":1,\"text\":\"...\"}],\"metadata\":{...},\"totalPages\":2,\"extractedAt\":\"...\"}"
}With returnMethod: "inline", content is a string you can map in later steps. Using format: "text" or "markdown" is simplest in Zapier; for "json" add a Formatter by Zapier or Code by Zapier step to parse content and read pages[].text. Otherwise use resultUrl and status.
Download the result (optional)
If you omit inline delivery and use the default file response, add Webhooks by Zapier → GET on resultUrl to fetch the converted body.
Route to a destination
Add a final action to send the result wherever you need it:
- Google Sheets - insert the page text as a row
- Slack - post a summary message
- Airtable - create a record with the text and the PDF's title
- Email - forward the converted text
Handling large files
For PDFs over 10 MB, the API returns a 202 response with a pollUrl instead of an immediate result. In Zapier, you can handle this with a Looping by Zapier action or by setting "async": false and staying within the 10 MB sync limit. See the Async Polling guide for details.