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.
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.
Additional information
What does this prompt do?
- 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 do I need to use this?
- 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.
How can I customize it?
- 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.
Frequently asked questions
Will the proposal actually get sent to the customer?
What happens if a field cannot be pulled from the transcript?
How does it decide which calls need a proposal?
What if we have different templates for MSAs, SOWs, and renewals?
Does it work with Gong or Otter instead of Fireflies?
Related templates
Stop writing proposals from scratch after every sales call.
Connect Fireflies, PandaDoc, and Slack once, and every morning your reps open Slack to a drafted proposal ready for review.