Integrations ← All use cases

Google Drive & Dropbox delivery

Generate PDFs and push them straight to your cloud storage — no manual download, no re-upload, no naming-convention drift. Authorize once; every job delivers automatically.

Google Drive
+
Dropbox

The problem

Generated PDFs don't magically appear where your team expects them

Most PDF generation workflows end the same way: a developer polls for a signed download URL, saves the file locally, then uploads it to the right Drive folder or Dropbox path — usually with a slightly wrong name. When that step is manual, files pile up in the wrong places, folder structures drift, and clients receive documents from personal Google accounts instead of the company folder.

PDFox delivers to cloud storage as part of the generate job itself. Connect Google Drive or Dropbox once and choose a target folder; from then on every PDF your organisation generates is uploaded there the moment it is ready, named with the filename you set on the job.

How it works

Connect once, deliver on every job

1

Authorize in Settings

Go to Settings → Integrations and click Connect next to Google Drive or Dropbox. Complete the standard OAuth flow — PDFox stores an access token scoped to the folders you approve. No service accounts or API credentials to manage.

2

Choose a target folder

On the same page, paste the Google Drive folder URL or ID, or the Dropbox folder path (the default is /PDFox). Your /v1/generate calls don't change; set meta.filename if you want a specific file name.

3

File lands automatically

When a job completes, PDFox uploads the PDF to every connected integration. The outcome for each destination is recorded in the job's event log as integration_delivery_complete or integration_delivery_failed.

Generate as usual · Node.js

// Nothing delivery-specific in the call: the connected integrations do the rest
const res = await fetch('https://api.pdf-fox.com/v1/generate', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.PDFOX_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    templateId: '8d0f2b4a-6c8e-4a1c-b3e5-9f1a3c5e7b9d',
    data: {
      report: { month: 'May 2026', period: '2026-05-01/2026-05-31' },
      client: { name: 'Meridian Software Ltd', ref: 'MSL-0042' },
    },
    meta: { filename: 'report-2026-05-meridian' },  // becomes report-2026-05-meridian.pdf
  }),
});

const { jobId } = await res.json();
// When the PDF is ready, PDFox uploads it to every connected integration's folder

Check delivery results

// Check the delivery outcome in the job's event log
const res = await fetch(
  `https://api.pdf-fox.com/v1/generate/jobs/${jobId}/events`,
  { headers: { 'Authorization': `Bearer ${process.env.PDFOX_API_KEY}` } },
);
const { events } = await res.json();

const delivered = events.filter(e => e.eventType === 'integration_delivery_complete');
// e.g. [{ eventType: 'integration_delivery_complete',
//         details: { provider: 'google_drive', fileId: '1a2B...', fileUrl: 'https://drive.google.com/...' } }]

const failed = events.filter(e => e.eventType === 'integration_delivery_failed');
// the message explains why, e.g. an expired connection or a missing folder

Delivery is configured per organisation in Settings → Integrations, not per request, so existing calls work unchanged. Each destination's result appears in GET /v1/generate/jobs/:jobId/events.

Why teams switch to this

One integration, every document workflow covered

OAuth — no service accounts

Authorize with your Google or Dropbox account in two clicks. No JSON key files, no service account setup, no IAM policy to maintain. Revoke access from your Google or Dropbox security settings at any time.

Set it once for the whole organisation

Pick one target folder per integration and every generated PDF lands there — dashboard runs, API calls and AI-agent jobs alike. Pause an integration at any time without disconnecting it.

Consistent naming at scale

Set meta.filename programmatically — interpolate the client reference, date, or document type. PDFox adds .pdf and a numeric suffix if a name is already taken, so month-end runs produce consistently named files with zero manual cleanup.

Delivery recorded on every job

Each job's event log shows the outcome for each destination — the Drive file ID and link, or the Dropbox file, plus the error message if an upload failed. Connection problems also show on the integration card in the dashboard.

Signed URL still available

Connecting storage doesn't remove the download URL. Your existing code that calls /download for a signed URL keeps working — delivery is a parallel output, not a replacement.

Deliver to both simultaneously

Connect Google Drive and Dropbox at the same time and every PDF is uploaded to both. Useful for redundant archival or when different stakeholders use different storage systems.

Getting connected

Authorization takes under two minutes

  1. 1
    Open Settings → Integrations in the PDFox dashboard. You'll see connection cards for Google Drive and Dropbox.
  2. 2
    Click Connect and complete OAuth. For Google Drive, PDFox requests only the drive.file scope — it can only see files it creates, not your entire Drive.
  3. 3
    Set the target folder. For Drive, paste the folder URL or its ID; for Dropbox, enter a path such as /PDFox/Reports.
  4. 4
    Generate as usual. Your next PDF is delivered automatically — no code changes, no redeployment, no new credentials.

Ready to connect your storage?

Storage integrations are included on Standard plans and above. Authorize in two minutes.