The short answer
A HubSpot deal knows who the buyer is, which stage they're in, and what number you typed into Amount. It does not know why they're buying, what they agreed was in scope, or what they'll object to — and that is what a consulting proposal is made of. So: draft from the transcript of the call attached to the deal, then log the resulting activity back to the deal timeline. Artiweave does that in about two minutes, every claim traced to the transcript, anything unsaid flagged rather than invented.
What a HubSpot deal record actually contains
HubSpot's default deal properties include Deal Name, Deal Owner, Deal Stage, Pipeline, Close Date, Deal Type, Deal Probability and Amount — "the total value of the deal in the deal's currency" — plus a Deal Description field documented as "a brief description of the deal"¹. Around those properties sit associations: the Deals API exists so you can "manage this data and sync it between HubSpot and other systems," and it lets you associate a deal with other CRM records or with an activity².
Deal properties vs. what a proposal needs
Now put a consulting proposal next to that: the client's problem in their own language, why it's being solved now, an explicit in-scope and out-of-scope boundary, deliverables, phasing, assumptions, and a justification for the number rather than just the number.
Exactly one deal property gestures at any of that, and it is a one-line description field¹. The rest was spoken out loud and never written down anywhere structured. A merge template that fills {{amount}} and {{company}} handles the cover page and leaves untouched everything that decides whether you win — the same argument we make in our sales-call-to-proposal guide.
Why HubSpot quotes are not proposals
The nearest native thing HubSpot gives you is a quote: a line-item priced document with e-signature and configurable accepted forms of payment, though "a Revenue Hub seat is required to create and edit quotes"³. The API makes the intent obvious: for a quote to be publishable it must have an associated deal and quote template, and its hs_status moves through values including DRAFT, APPROVAL_NOT_NEEDED and APPROVED⁴. Records in, priced document out. HubSpot now labels this surface legacy: the API reference is titled "Legacy quotes"⁴ and the quote-template article "Set up legacy quotes"⁵.
A proposal runs the other way. It is the argument you make before anyone will look at a price sheet, and nothing about deal-record-in, line-items-out produces it.
Three ways to generate a proposal from a deal
Manual: open the deal, re-read notes, write in Docs
The default. Open the deal, scroll the timeline, listen back to the recording. If your seat supports it — HubSpot requires "an assigned Sales Hub or Service Hub Professional or Enterprise seat" to transcribe and analyze recordings — lift the text directly: on the Transcript tab, click Copy transcript to clipboard⁶. Then paste it into a chatbot, fact-check the output, and rebuild your branding in Docs. It works, and costs one to three hours per proposal while the deal cools — we've put numbers on that decay in our speed-to-lead statistics.
Deal-property merge: workflows plus a document-generation app
The DIY route: a workflow fires on a deal change and hands the deal's properties to a document-generation app that merges them into a template. Check the tier first — workflows require Professional or Enterprise across Marketing Hub, Sales Hub, Service Hub, Data Hub, Smart CRM or Revenue Hub⁷.
Good at: consistency and triggering. Nothing gets forgotten, and the header block, client name and total are always right. Can't do: write. The merge knows Amount¹; it does not know the buyer said "if the pilot lands, we roll it out to both regions" at minute 31. Feed an AI step the deal summary instead and you get fluent, generic prose with no way to check a figure against what was agreed.
Transcript-first: Artiweave
Artiweave inverts the input. It reads the finished transcript of the call behind the deal — pasted, uploaded as a .vtt, or pulled from Fireflies or Notion Meeting Notes — extracts pains, goals, scope and every number said out loud, and drafts a complete priced proposal on your own template in under two minutes. Every substantive claim traces back to a moment in the transcript; anything the call didn't cover is flagged rather than quietly filled in. A narrated video walkthrough renders in the background, and the proposal activity writes out to HubSpot against the deal.
One honest caveat: Artiweave is in early access ahead of general availability in 2026, so this is a waitlist, not a download. If you need something in your portal this week, the merge route above is the one that exists today.
Triggering generation at the right deal stage
Every deal stage carries a probability — HubSpot multiplies the stage total by it for the weighted amount in board view — and the default pipeline runs Appointment scheduled (20%), Qualified to buy (40%), Presentation scheduled (60%), Decision maker bought-in (80%), Contract sent (90%). Pipeline settings expose an Automate tab for this kind of wiring⁸.
Be clear about what that automation does, though. Stage-entry automation can "create a task or send an internal notification when a deal's stage changes," and can rotate the record to an owner — on Sales and Service Hub Starter, Professional and Enterprise, with the full workflow editor on Professional and Enterprise⁹. It notifies and assigns; it does not author a document.
So: fire a task on entry to a stage where the discovery call is already behind you — Presentation scheduled or Decision maker bought-in in the default pipeline⁸ — and point that task at the transcript, not at a blank template. Triggering earlier just means drafting before you know what goes in it.
What the API can and cannot do for you
Can: read the deal, then close the loop. Past the deal sync itself², the Notes API accepts an associations object targeting a deal, and a note carries hs_attachment_ids, where "multiple attachment IDs are separated by a semi-colon"¹⁰ — the supported way a finished proposal PDF ends up on the deal timeline rather than only in someone's sent folder.
Cannot: compose. There is no proposal object and no endpoint that turns properties into an argument. The closest priced-document primitive is the legacy quotes API, which still needs an associated deal and a quote template before it publishes⁴. What happens after the document exists is a separate job, covered in how to send proposals from HubSpot.
Manual vs. merge vs. transcript-first
| Manual (deal notes + ChatGPT + Docs) | Deal-property merge (workflow + doc app) | Transcript-first (Artiweave) | |
|---|---|---|---|
| Source material | Memory, timeline notes, a transcript copied by hand⁶ | Structured deal properties only¹ | The full call transcript, plus your rate card and template |
| Pricing accuracy | You re-check every figure against the call | Right only if Amount was; scope detail absent | Numbers taken from what was said and traced to it; gaps flagged |
| Branding | Rebuilt by hand each time | As good as the merge template you maintain | Your template, logo, fonts and boilerplate, applied automatically |
| What lands on the deal | Whatever you remember to log | Usually nothing, unless you wire extra steps | Proposal activity written via associated notes¹⁰ |
| Tier needed | Pro/Enterprise seat only for HubSpot's transcript⁶ | Professional or Enterprise for workflows⁷ | None to draft — the transcript can come from anywhere |
HubSpot deal → proposal FAQ
Does HubSpot have a proposal generator?
Not as such. The nearest native tool is quotes: a line-item priced document with e-signature and configurable payment options, requiring a Revenue Hub seat to create and edit³. HubSpot now labels the quote-template and quotes-API surface legacy⁴⁵. For narrative proposal content you're either writing it yourself or bringing in a tool that does.
Can I auto-generate when a deal hits a stage?
You can automate the trigger, not the writing. Pipeline automation will create a task, send an internal notification, or rotate the record to an owner when a deal enters a stage, on Sales or Service Hub Starter and above, with the complete workflow editor on Professional and Enterprise⁹; workflows themselves require Professional or Enterprise⁷. Producing the document is then an app's job or an API integration's job.
Do I need Professional?
Depends which piece. Quotes need a Revenue Hub seat³. HubSpot's own call transcription needs an assigned Sales Hub or Service Hub Professional or Enterprise seat⁶. Workflows need Professional or Enterprise⁷, while basic stage automation starts at Starter⁹. Artiweave reads a finished transcript from wherever you already have one, so HubSpot's transcription tier is one option among several rather than a prerequisite.
Where does the generated proposal live?
On the deal, if you put it there. HubSpot's Notes API takes an associations object targeting a deal and supports attachments via hs_attachment_ids¹⁰, which is how proposal activity and a PDF surface on the deal timeline. Artiweave writes that activity out against the deal so pipeline reviews reflect what actually happened after the call — see HubSpot proposal automation for the write-back detail.
Sources
- HubSpot Knowledge Base — HubSpot's default deal properties (2026)
- HubSpot Developers — CRM API | Deals (2026)
- HubSpot Knowledge Base — Create and send quotes (2026)
- HubSpot Developers — Legacy quotes (2026)
- HubSpot Knowledge Base — Set up legacy quotes (2026)
- HubSpot Knowledge Base — Review call recordings and transcripts (2026)
- HubSpot Knowledge Base — Create workflows (2026)
- HubSpot Knowledge Base — Set up and manage object pipelines (2026)
- HubSpot Knowledge Base — Set up pipeline automations for objects (2026)
- HubSpot Developers — Activities | Notes (2026)
Your deal record has the buyer. The call has the proposal.
Artiweave turns a finished sales call into a polished, on-brand proposal — with a narrated video walkthrough — in minutes. Free while in early access.
Early access rolls out in waves · No card required