PDF extraction

How to auto-host Google Drive PDFs with okraPDF and Zapier

Build a Zap that watches a Drive folder, uploads each PDF to okraPDF, and writes back a stable hosted PDF URL.

May 5, 2026 3 min read okraPDF

This recipe turns a Google Drive folder into a PDF hosting pipeline. Drop a PDF into the folder, Zapier sends it to okraPDF, and the next Zap step gets a stable hosted URL, direct PDF URL, embed URL, and download URL.

Use it for client portals, intake folders, investor updates, product sheets, bank statements, and any workflow where “new file in Drive” should become “clean URL my other apps can use.”

Zap template

okraPDF is an action in this Zap. Google Drive starts the Zap, then okraPDF receives the file and returns URLs.

StepZapier roleAppEvent
1TriggerGoogle DriveNew File in Folder
2ActionokraPDFUpload PDF (File)
3ActionGoogle Sheets, Slack, Airtable, or GmailSave or send the hosted URL

Use this template when the PDF starts somewhere outside okraPDF.

What you will build

The Zap:

  1. Watches a Google Drive folder for new PDFs.
  2. Uploads the file to okraPDF.
  3. Writes the okraPDF URL back to Google Sheets, Slack, Airtable, or another destination.

The okraPDF action returns fields like:

{
  "job_id": "job_...",
  "file_id": "doc-...",
  "hosted_url": "https://acme.okrapdf.com/client-reports/q2-summary",
  "pdf_url": "https://acme.okrapdf.com/client-reports/q2-summary/pdf",
  "embed_url": "https://acme.okrapdf.com/client-reports/q2-summary/embed",
  "poll_url": "https://api.okrapdf.com/v1/jobs/job_..."
}

Step 1: Create the Google Drive trigger

In Zapier, create a new Zap.

For the trigger:

  • App: Google Drive
  • Event: New File in Folder
  • Folder: the folder where new PDFs land
  • Include file object: yes

Test the trigger with a real PDF. The next okraPDF step needs the file field from Google Drive, not only the Drive preview URL.

Step 2: Upload the PDF to okraPDF

Add an okraPDF action.

  • App: okraPDF
  • Event: Upload PDF (File)
  • PDF File: map the file field from Google Drive
  • Filename: map the Drive file name
  • Processing Preset: Host only
  • Folder: optional, such as drive-intake
  • Tags: optional, such as google-drive,client-upload

The private beta app connects with okraPDF OAuth. If the okraPDF app is not visible in your Zapier account yet, use the fallback path: call okraPDF with Webhooks by Zapier or request the private beta invite.

Step 3: Use the hosted URL downstream

Add the destination your workflow needs.

Good first destinations:

  • Google Sheets: add a row with file name, hosted_url, and pdf_url.
  • Slack: post a message when a new hosted PDF is ready.
  • Airtable: update the original record with the okraPDF URL.
  • Gmail: email the hosted URL to a client or reviewer.

Use hosted_url for a share page, pdf_url for direct PDF access, and embed_url for iframe-style embeds.

Step 4: Test the whole Zap

Drop a fresh PDF into the watched Drive folder. In Zapier run the Zap once, then check:

  • The okraPDF step returns a job_id.
  • The response includes a non-empty hosted_url.
  • The destination row or message contains the hosted URL.
  • Opening the URL shows the PDF.

If you chose an extraction preset instead of Host only, use poll_url or create a second Zap where okraPDF is the trigger. That second Zap should start with PDF Ready (document.processed) before relying on extracted data in later steps.

Common fixes

If Zapier says the file is missing, remap the Drive file object instead of the preview link.

If okraPDF rejects the file, confirm the Drive trigger is sending a PDF file and the filename ends in .pdf.

If the hosted URL is blank, check that the okraPDF upload action completed successfully and did not stop at the presign step.

If downstream apps run too early, add the okraPDF PDF Ready trigger and continue the workflow from document.processed.

When to use this instead of Drive sharing

Drive sharing is fine when one person needs one file. Use okraPDF in the Zap when the URL becomes part of a workflow: CRM records, public client portals, Slack notifications, Airtable rows, CMS entries, or anything that needs a direct PDF URL instead of a Drive viewer page.