Olmec Dynamics
H
·9 min read

How to Automate PandaDoc Proposals from Airtable Using Make.com, Google Drive, and Slack

Automate PandaDoc proposals from Airtable with Make.com: generate from templates, upload to Google Drive, and notify Slack on send and completion.

Introduction

If you are still generating PandaDoc proposals manually, you already know the failure mode: someone copies fields, someone forgets a line item, the file lands in the wrong folder, and approvals stall because nobody gets a clear status update.

In this automation, you will connect Airtable to PandaDoc through Make.com, then archive the final PDF in Google Drive and keep your team informed in Slack. This is Cross-Platform Automation (XPA) built for the boring but critical parts of revenue ops: accuracy, traceability, and fast internal communication.

By the end, you will know how to build an end-to-end Make.com scenario that turns Airtable “proposal requests” into tracked PandaDoc documents, with Drive storage and Slack alerts driven by actual document status.

What You'll Need

  • Airtable: a base and table to hold proposal data, plus fields to track PandaDoc and Drive outputs.
  • PandaDoc: a proposal template (with variables configured) and document statuses you can react to.
  • Make.com: an account with connections to Airtable, PandaDoc, Google Drive, and Slack.
  • Google Drive: permission to upload files and create folders.
  • Slack: permission to post messages to the channel(s) you will notify.
  • Paid plan caveat: Make.com automations that poll webhooks or run continuously typically require a paid tier, and file operations can add up. Confirm your Make plan supports the scenario volume you expect.

If you are planning to use pricing tables inside PandaDoc, be ready to do a proper mapping test. Template variable mapping and table payload structure are where most advanced builds fail.

Also, this is XPA, so it helps to understand the pattern first: Cross-Platform Automation (XPA).

How It Works (The Logic)

In plain terms, your setup runs on two coordinated triggers inside Make.com.

  1. Airtable trigger to create the document: when an Airtable row hits Ready to Send, Make.com reads the record, fills your PandaDoc template variables, creates the PandaDoc document, and updates Airtable with the PandaDoc identifiers.

  2. PandaDoc status trigger to drive downstream actions: when the PandaDoc document moves through statuses (like sent and completed), Make.com posts the right Slack alert and, once the final PDF exists, uploads it to Google Drive and updates Airtable with the Drive file details.

This separation matters, because the “PDF exists” moment and the “document has been sent” moment are not the same time.

Step-by-Step Setup

Step 1: Build an Airtable schema that matches your automation

In Airtable, create or use a Proposals table with at least these fields:

  • Proposal ID (text, unique, never changes)
  • Status (single select, includes Draft, Ready to Send, Sent, Completed, Failed)
  • First name, Last name, Email, Company (whatever your template needs)
  • Proposal date (date)
  • Team or Region (optional, used to route Drive folders)
  • PandaDoc Document ID (text, empty initially)
  • PandaDoc Status (text, empty initially)
  • Drive File ID (text, empty initially)
  • Drive File URL (URL, empty initially)

Idempotency fields matter. If you do not store PandaDoc Document ID, you cannot reliably prevent duplicates.

Step 2: Configure PandaDoc template variables (and keep names exact)

In PandaDoc, edit your proposal template and create a clean variable set that matches your Airtable fields.

Two rules that save hours:

  • Template variable names must match what you map in Make.com, including capitalization.
  • For signer roles and default role variables, use what PandaDoc expects for your template so Make can pass only what is missing.

If your template includes a document title that you want to search later, embed Proposal ID in the template document name logic (or pass it as a variable used in the title).

Step 3: Create Scenario A in Make.com, driven by Airtable

In Make.com, create a scenario named something like Airtable -> PandaDoc Create + initial Slack.

Module 1: Airtable trigger

  • Trigger: record created or updated (depending on your Airtable event support)
  • Filter: Status equals Ready to Send

Module 2: Guard clause for duplicates Add a filter or condition right before document creation:

  • Only proceed if PandaDoc Document ID is empty.

Module 3: Set variables in Make (optional but recommended) Build a few Make variables to keep mappings readable:

  • documentTitle = Proposal - {{Proposal ID}} - {{Company}}
  • Normalize dates to the format your PandaDoc template expects.

Module 4: PandaDoc Create a Document from a Template

  • Select your template.
  • Map every template variable to Airtable fields.

Module 5: Slack message (document created) Post a “created and sent soon” message, or a “created and waiting” message, based on your process.

Slack message payload should include:

  • Proposal ID
  • client name
  • PandaDoc document name
  • a link if you have it at this point

Module 6: Airtable update Update the Airtable row with:

  • PandaDoc Document ID
  • initial PandaDoc Status (however PandaDoc returns it)

Step 4: Create Scenario B in Make.com, driven by PandaDoc status

Create a second scenario, for example PandaDoc Status -> Drive Archive + Slack.

Module 1: PandaDoc Watch Documents (status trigger)

  • Trigger on document status updates
  • Filter so it applies only to documents created by this integration.

Practical filtering options:

  • Filter on presence of Proposal ID in the PandaDoc document name.
  • Or filter on data you include when creating the document.

Module 2: Route by status Create separate routes or filters for key statuses:

  • sent
  • completed
  • declined or canceled

Module 3: When status is completed, upload PDF to Google Drive The important advanced detail: you must upload only when the final PDF is actually available.

So in the completed route:

  • Upload the PDF file into your target Drive folder.
  • Use a filename convention that includes Proposal ID.

Suggested Drive naming

  • Folder: /Proposals/{Year}/{Team or Region}/
  • File: {Proposal ID} - {Company} - Proposal.pdf

Module 4: Airtable update (final reconciliation) Update Airtable with:

  • PandaDoc Status = completed
  • Drive File ID
  • Drive File URL
  • Set Status to Completed

Module 5: Slack message per status Send different Slack messages per route.

For sent, message can be:

  • “Proposal {Proposal ID} sent, waiting for client signature.”

For completed, message can be:

  • “Proposal {Proposal ID} completed, PDF archived in Drive.”

Slack notification behavior should be consistent so users learn what to look for, see Slack’s guidance here: Configure your Slack notifications.

Step 5: Make it resilient with idempotency and re-runs

Advanced builds need re-run safety.

Add these checks:

  • Scenario A should only create PandaDoc when PandaDoc Document ID is empty.
  • Scenario B should only upload to Drive once, using either:
    • Drive File ID emptiness in Airtable, or
    • a check that Drive upload has already occurred.

This prevents duplicate uploads if PandaDoc sends repeated webhook events or if Make retries.

Step 6: Test with a staging proposal, not a live one

Create one staging Airtable record with Status = Ready to Send.

Confirm in this order:

  • PandaDoc variables render correctly (including names and dates).
  • Pricing tables (if you use them) populate correctly.
  • Slack receives messages for sent and completed.
  • Drive upload lands in the correct folder and the filename includes Proposal ID.
  • Airtable updates include PandaDoc Document ID, Drive File ID, Drive File URL.

Step 7: Validate template variables mapping

Before going live, do a mapping audit:

  • Compare your PandaDoc template variable list against your Make module mappings.
  • If something is off by one character, you will create documents with blanks.

Make sure you are mapping values into the PandaDoc “Create from template” action, and that your variable names are exact. PandaDoc’s documentation on template variables is the reference point for what the template expects, see Variables (classic experience) on PandaDoc Help Center.

Real-World Business Scenario

A UK B2B services firm had a simple but expensive workflow: proposal requests were logged in Airtable, proposals were created in PandaDoc by hand, and then an admin uploaded PDFs to Google Drive and messaged Slack manually.

The operational problems were predictable: documents were filed inconsistently, Slack updates were late, and when a client asked for a resend, nobody could determine which version was the “latest” without digging through Drive.

After implementing this Make.com XPA:

  • Agents move a record in Airtable to Ready to Send.
  • Make.com creates the PandaDoc document from the template and posts a Slack alert.
  • When PandaDoc completes, the final PDF is uploaded to Drive using a filename that starts with Proposal ID.
  • Airtable becomes the audit trail, it stores PandaDoc Document ID and Drive File URL.

Net result: fewer resend errors, faster internal follow-ups, and a single operational trail across Airtable, PandaDoc, Drive, and Slack.

Common Variations

  1. Add an internal approval gate Route Airtable status through Needs approval before Ready to Send. Only Scenario A runs once the approval is complete.

  2. Filter Slack alerts by deal size or team Only alert on Slack for values above a threshold, route other proposals to a low-attention channel.

  3. Attach supporting docs from Google Drive If you store scopes or compliance PDFs in Drive, add a step that builds the attachments list before PandaDoc send, then archive everything together.

The operational build you now have

You built a two-scenario XPA in Make.com:

  • Scenario A: Airtable -> PandaDoc document creation (with duplicate protection) plus initial Slack messaging.
  • Scenario B: PandaDoc status -> Slack updates plus Drive PDF archiving when the final document is ready, then Airtable reconciliation.

That gives you deterministic proposal generation, auditable storage in Google Drive, and status visibility in Slack without manual copy-paste.

If you want this wired to your exact Airtable fields, PandaDoc template variable names, and Drive folder structure, Olmec Dynamics builds these Cross-Platform Automation (XPA) workflows in production. Start with Cross-Platform Automation (XPA) to see how we approach integrations end to end.