# Draft PandaDoc proposals from Fireflies sales calls

> Every weekday at 6pm, scan yesterday's Fireflies calls, and when a rep got a verbal yes, draft the matching PandaDoc proposal and DM them for review.

- Workflow type: agent
- Services: Fireflies.ai, PandaDoc, Slack
- Categories: Sales, Operations
- Published: 2026-07-02

## What it does

- Reads yesterday's Fireflies transcripts and picks out the calls where the buyer clearly signaled they wanted a proposal (verbal yes, pricing agreed, kickoff discussed, or an explicit ask to send paper).
- Skips discovery calls, product demos with no ask, and internal syncs so reps only see drafts for real opportunities.
- Picks the right PandaDoc template for the deal (MSA, one-off SOW, or renewal) and pre-fills company, contact, scope, timeline, and price from the actual conversation.
- DMs the sales rep in Slack with the draft link, a two-sentence recap of the call, and a list of assumptions to sanity check before they hit send.

## What you'll need

- A Fireflies.ai account with a Business or Enterprise plan (needed to pull full transcripts on a schedule).
- A PandaDoc account with API access enabled and at least one proposal template built for your common deal shapes.
- A Slack workspace so the agent can DM the right rep once each draft is ready.

## Prompt

Build an agent workflow that runs every weekday at 6pm in the account owner's local timezone. Its job is to look at yesterday's sales calls and, for any call that ended with a clear proposal signal, draft the matching PandaDoc proposal so the rep opens their laptop the next morning to a ready-to-review draft.

Step 1 — pull the calls. Use Fireflies.ai List Transcripts to fetch every transcript from the last 24 hours, then use Get Transcript to pull the full conversation, summary, action items, and attendee data for each one.

Step 2 — filter with judgement. For each call, decide whether a proposal is actually warranted. Only proceed when the transcript contains a clear signal: a verbal commit, an explicit ask like 'send us the SOW', pricing that was agreed to, or a kickoff date being discussed. Skip pure discovery calls, product demos where no ask was made, internal syncs, and calls with no external attendees. Err on the side of skipping — a missed draft is fine, a bad draft wastes the rep's time.

Step 3 — pick the right template. Call PandaDoc List Templates to see what's available, then choose the template that best matches the deal type you heard on the call. Typical shapes are an MSA for a new logo, a one-off SOW for a project, or a renewal template for existing customers. If nothing fits confidently, skip the call and note it in the Slack message rather than guessing.

Step 4 — draft the proposal. Call PandaDoc Create Document from Template with tokens, fields, and pricing table values inferred from the transcript: company name, primary contact, scope items discussed, timeline agreed to, and price if it was quoted. If a required field cannot be inferred confidently, leave it blank in the draft — do not make up numbers, dates, or scope. Then call Get Document Details and poll until the draft status is 'document.draft' so you know the document is ready to be opened.

Step 5 — notify the rep. Figure out which sales rep owned the call (usually the meeting organizer or the internal attendee). Use Slack Open a Conversation to open a DM with them, then Send a Message that includes: a link to the PandaDoc draft, a two-sentence recap of the call, the template you picked and why, and a bullet list of the assumptions and blanks the rep needs to review before sending.

Hard rule: never send the document to the customer automatically. The agent only creates drafts and notifies the rep. Sending is a human decision, always.

If a call has no clear proposal signal, or a template can't be picked confidently, or the rep can't be identified, skip the call quietly and include it in a short end-of-run summary DM to the workflow owner so nothing silently disappears.

## How to customize

- Change the schedule. Run it hourly for high-velocity teams, or once a week if your sales cycle is slower.
- Adjust what counts as a real proposal signal. You can tell the agent to skip renewals, only fire for calls over 20 minutes, or require an explicit price mention.
- Change how reps are notified. Post to a shared #proposals channel instead of DMs, or route each draft to the account executive on the call rather than the meeting organizer.
- Point it at specific PandaDoc templates by name so it never has to guess which template fits a given deal type.

## FAQ

### Will the proposal actually get sent to the customer?

No. The agent only creates a draft in PandaDoc and pings the rep. Sending stays a human decision so nothing goes out without review.

### What happens if a field cannot be pulled from the transcript?

The agent leaves that field blank in the draft and flags it in the Slack message so the rep knows exactly what to fill in before sending.

### How does it decide which calls need a proposal?

It looks for clear buying signals in the transcript, like a verbal commit, an explicit ask to send a SOW, agreed pricing, or a kickoff date. Discovery calls and internal syncs are ignored.

### What if we have different templates for MSAs, SOWs, and renewals?

The agent reads your PandaDoc template library and picks the one that best fits the deal type it heard on the call. You can also lock it to specific templates in the prompt.

### Does it work with Gong or Otter instead of Fireflies?

This prompt is set up for Fireflies. If your team uses a different call recorder, ask the workflow author to swap the transcript source when you build it.

Use this prompt in General Input: https://www.generalinput.com/prompts/draft-pandadoc-proposals-from-fireflies-sales-calls