Pre-draft PandaDoc proposals when HubSpot deals advance

When a HubSpot deal moves to Send Proposal or Negotiation, an agent picks the right PandaDoc template, fills it from the deal, and DMs the owner the draft.

Agentic Task
HubSpotPandaDocSlackSalesNotifications & AlertsContent Generation
PromptCreate

Build me an agent workflow that pre-drafts a PandaDoc proposal the moment a HubSpot deal is ready for one, so the account executive just reviews and sends instead of building it from scratch.

Trigger: a HubSpot webhook on a deal property change, specifically when dealstage moves into a Send Proposal or Negotiation pipeline stage. The deal stages that should fire it need to be configurable, so let me list the stage IDs (or stage labels) when I set this up.

When the trigger fires, the agent should do the following:

1) Pull the deal context from HubSpot. Use Get Deal to fetch amount, associated line items / products, expected close date, deal owner, and the associated primary contact. Then use Get Contact for that primary contact's email and full name. If a key field like amount or close date is missing, keep going but capture the gap for the Slack note at the end.

2) Choose the right PandaDoc template. Use List Template Folders and List Templates (filter by tag and/or folder) to enumerate the templates that are eligible for this deal. Then reason over the deal context to pick one: match on deal size band (for example SMB vs Mid-Market vs Enterprise), product mix from the line items, and any other signal that distinguishes the templates. The selection logic needs to be soft and judgement-based, not a hard rules engine, which is why this is an agent workflow.

3) Create the draft in PandaDoc. Use Create Document from Template with the chosen template. Prefill the recipient using the primary contact's name and email. Prefill tokens with the HubSpot data: client_name (contact or company name), contract_value (deal amount), product_lines (a clean summary of the line items), start_date (expected close date or a sensible default). If the template uses different token names, the agent should map intelligently based on the token labels it sees.

Critical: do NOT send the document. Leave it in draft status. This workflow is approval-first, the AE always reviews before sending.

4) DM the deal owner in Slack. Use Send a Message to direct-message the HubSpot deal owner (look them up by their HubSpot email). The message should include: the deal name and value, the PandaDoc draft edit link, the name of the template that was picked, a one-paragraph justification ("chose Enterprise SaaS template because deal is $X with multi-year term and includes Product A and B"), and a callout listing any HubSpot fields that were missing so the AE knows what to fill in by hand before sending.

Why an agent and not a code workflow: the template pick and the token mapping both require reasoning over the deal context. A hardcoded mapping would break the moment the team adds a new template or a new product. The agent should read the templates' names and tags, read the deal, and decide.

Configuration I want to set when I install this: which pipeline stages count as "ready for a proposal," optional tag or folder filters that restrict which PandaDoc templates are eligible, and an optional override to send to a Slack channel instead of a DM to the deal owner.

What does this prompt do?

  • Watches your HubSpot pipeline and fires the moment a deal moves into Send Proposal or Negotiation.
  • Reads the deal amount, products, close date, and primary contact, then chooses the PandaDoc template that best fits the deal size and product mix.
  • Creates a draft proposal in PandaDoc with the client name, contract value, product lines, and start date already filled in.
  • DMs the deal owner in Slack with the draft edit link, the template that was picked, and a short note explaining why.

What do I need to use this?

  • A HubSpot account where you can see deals, contacts, and pipeline stages.
  • A PandaDoc account with the proposal templates your team already uses, tagged or foldered so the agent can tell them apart (for example SMB vs Enterprise).
  • A Slack workspace so the deal owner gets a direct message when the draft is ready.

How can I customize it?

  • Change which pipeline stages trigger the draft (for example only Send Proposal, or also Verbal Commit).
  • Tell the agent how to pick templates: by deal size bands, product mix, region, or any combination your team uses.
  • Adjust the Slack message to include extra context like the contact's title, the line items, or a reminder checklist before sending.

FAQs

Does it send the proposal to the customer automatically?
No. The draft is created in PandaDoc but stays as a draft. The deal owner gets a Slack message with the edit link, reviews and tweaks it, and sends it themselves. That keeps a human in the loop on every contract.
How does the agent know which template to use?
You tell it. The agent reads the deal amount, products, and any other context you point it at, then matches that against your tagged PandaDoc templates. For example, deals over a certain value with multi-year terms can pick your Enterprise template, smaller monthly deals can pick your SMB template.
What if the deal is missing fields like amount or close date?
The agent still creates the draft and notes the gaps in the Slack message so the owner knows what to fill in by hand. You can also tell it to skip the draft entirely if key fields are blank.
Will it work for deals that move backward into Send Proposal?
Yes. Any time a deal lands on the configured stages it gets a fresh draft. If you want to avoid duplicates for the same deal, ask the agent to check PandaDoc for an existing draft first and update it instead of creating a new one.
Can the Slack message go to a channel instead of a DM?
Yes. The default is a DM to the deal owner so it does not spam the team, but you can point it at a deal room or a sales channel if that fits your workflow better.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Win back LiveChat visitors whose chats went unanswered

Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.

LiveChat
Gmail
Slack
Agentic Task
Turn Mailjet email clicks into ranked HubSpot follow-ups

Twice a day we spot the people clicking your pricing and demo pages, create a follow-up task for their owner, and post a ranked recap to Slack.

Mailjet
HubSpot
Slack Bot
Agentic Task
iMessage campaign console with pre-flight checks and delivery board

Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.

LoopMessage
Google Sheets
HubSpot
App
Chat quality review board for LiveChat support leads

Score last week's finished live chats against one rubric, let an AI grader draft the notes with quotes, and send coaching straight to the agent.

LiveChat
Slack
General Input Database
App
A searchable RFP answer library your bid team drafts from

Every proposal you have ever submitted in one searchable archive, with the closest past answers lined up against each question in a new RFP.

General Input Storage
General Input Database
Mistral AI
+2
App

Stop hand-picking templates every time a deal moves.

Connect HubSpot, PandaDoc, and Slack once. Geni drafts the right proposal the moment a deal is ready, so the AE just reviews and sends.