Updated on 21 September 2026 by the Proposal Expert editorial team
A practical guide to connecting proposal software to HubSpot: what a proposal integration reads from a deal, what it writes back, how to set it up in fifteen minutes, and what to check before you trust the sync.
A proposal integration connects the deal record in HubSpot to the proposal document, in both directions. Inbound, the proposal tool reads the deal name, amount, stage and expected close date, the associated company and contacts, and the line items on the deal, and uses them to fill the proposal. Outbound, the tool writes the proposal status back to the deal (draft, sent, viewed, signed, declined), updates the deal amount to the signed value if you want it to, and can move the deal to the next stage when the proposal is signed. The point is that the rep never retypes what is already in HubSpot, and the sales manager never has to ask whether a proposal was opened. Everything below applies to Proposal Expert, and most of it applies to any proposal tool with a native HubSpot app.
In Proposal Expert, open Settings, then Integrations, and choose HubSpot. You are sent to HubSpot to sign in and grant the app access to deals, contacts and companies. This is OAuth: no API key to paste, and the connection can be revoked from HubSpot at any time. A HubSpot super admin has to approve the app the first time; after that, any user with access to the pipeline can create proposals from deals. The connection is per workspace, so a company with two HubSpot portals connects each to its own workspace.
After connecting, choose the pipeline the proposals come from. Most teams pick the sales pipeline and leave renewals or partner pipelines out. Then map the fields: which HubSpot deal property fills which proposal field. The standard mapping covers deal name to proposal title, company name and address to the client block, the primary contact to the recipient, and the deal amount to the pricing total. Custom deal properties, such as a project code or a contract term, can be mapped to proposal fields as well. Finally, decide which proposal status moves the deal to which stage: for example, "sent" to Proposal sent, and "signed" to Closed won. That last mapping is what keeps the forecast honest without anyone updating deals by hand.
From the proposal tool, choose New proposal and pick the deal. The client, contact, amount and line items are filled in, and the proposal opens in the editor with your team template. Line items on the deal become rows in the pricing table, with quantities, unit prices and discounts carried over; a proposal with optional items lets the client choose, and the signed selection is what gets written back. From here the rep writes or generates the sections that explain the approach, and sends the proposal as a secure link. The deal in HubSpot shows the proposal as sent.
Once the proposal is out, the integration writes each lifecycle event back to the deal: sent, viewed, signed or declined. In HubSpot you see it on the deal timeline and you can build workflows on it, such as a task for the rep when a proposal has been viewed twice without a reply. Proposal Expert deduplicates view events per deal per day, so a client who opens the proposal eight times in one morning does not create eight timeline entries. Signature moves the deal to the stage you mapped. Status is pushed within seconds; HubSpot changes reach the proposal tool through HubSpot webhooks, so a deal renamed in HubSpot is renamed in the proposal list without a refresh.
Writing the status back is safe. Writing the amount and the line items back changes the numbers in your CRM, so it is opt-in per connection in Proposal Expert and off by default. Turn it on when the proposal is the document the client actually signs, because then the signed total and the chosen line items are the truth and the deal should reflect them. Leave it off when reps quote in HubSpot and the proposal is a narrative on top. When it is on, a signed proposal replaces the deal line items with the signed selection, sets the amount to the signed total and advances the stage, in one idempotent job that can be retried without doubling anything. Discounts are written the way HubSpot stores them, as an absolute amount per line.
Four checks, done once with a test deal. First, create a proposal from a deal with two line items and a discount and confirm the pricing table matches the deal. Second, send it to yourself, open it, and confirm the deal timeline shows sent and viewed. Third, sign it and confirm the stage moved. Fourth, if writeback is on, confirm the amount and the line items in HubSpot equal the signed proposal, then delete the test deal. Keep an eye on currency: the deal currency and the proposal currency should match, and a multi-currency portal needs the currency mapped explicitly.
The flow described here starts in the proposal tool and picks the deal. Starting from the deal record in HubSpot needs a CRM card or a marketplace app; in Proposal Expert the deal picker inside the editor is the supported route, and the deal link on the proposal takes you back to HubSpot in one click. Either way the data comes from the same deal, so the choice is about where your reps live during the day.
The integration uses the contacts associated with the deal, not a search by email, so a duplicate contact elsewhere in HubSpot does not matter. If the deal has several associated contacts, the primary contact becomes the recipient and the others can be added as recipients in the proposal. Merging duplicates in HubSpot afterwards does not break the link, because the link is to the deal.
Yes for the inbound side and the status writeback: the free CRM has deals, contacts, companies and the timeline. Workflows that react to the proposal status need a paid HubSpot tier, because workflows are a HubSpot feature, not a proposal tool feature. Line items on deals are available on all tiers.