HubSpot integration

How It Works

The HubSpot Integration creates a two-way connection between Proposify and HubSpot, so your sales data and your documents stay in sync automatically, no manual copying required.

Once connected:

  • Contact, company, and deal data syncs from HubSpot into Proposify
  • Deal line items sync into Proposify pricing tables
  • Document activity and status updates push back to HubSpot
  • You can create and manage documents right from inside HubSpot

Any time a record is added or updated in HubSpot, Proposify picks up that change, and any document linked to it updates on its own.

Bringing that CRM data into your documents is handled by FlexData. Instead of manually mapping each field ahead of time, you choose the fields you want from HubSpot during the initial configuration, and Proposify uses them exactly as they come in: no pre-built mapping required!

FlexData pulls individual fields from a single record, like a deal's amount or a contact's email. It also pulls lists, like every line item on a deal, so your pricing table always reflects what is in HubSpot.

Setting Up Your HubSpot Integration

Before setting up the integration, ensure you have:

  • An active Proposify account with admin or integration-related permission,
  • A HubSpot account with appropriate permissions

Enable the Integration

  1. In Proposify, click on the Integrations icon in the left sidebar, and on the main integrations page, select the HubSpot card: integrationsV3Page.jpg
  2. Click on Connect in the HubSpot Connection card:
    connectHubSpotProposify.jpg
     This will ask for the connection permission, and once that has been approved, you'll see the connection card with a green dot, versus yellow:
    connectHubSpot.jpg
    connectGreen.jpg
     
  3. Be sure to connect to Proposify, and then select Next.

Mapping Fields

Now it's time to set up your objects! Choose which Object Types you'll like to eventually pull from, like Deal, Contacts, Line Items, etc:
HubSpotObjectTypesSelect.jpg
 

The Object Fields will let you customize what information you actually will need, and what you'd like to use in your documents. Things like, Deal Name, Create Date, etc are options you can choose from the Deals Object:
dealsObjectFields.jpg
 

To display pricing in your documents, be sure to select Line Items as an Object Type and choose the line item fields you'd like to use, such as the line item name, description, and price.

Once you select all applicable fields, click Finish. You can revisit this and adjust at any time by going to the HubSpot integration card from the integration page, and select Reconfigure.

Displaying HubSpot Pricing in Your Documents

FlexData lets you display the line items from a linked HubSpot deal in a table. The table builds itself from your deal, so you only need to set it up once in your template.

How the Pricing Table Works

Line items are pulled into a Text Table. You format the first row as a template row, and FlexData repeats that row for every line item on the deal. If the deal has three line items, the table shows three rows. If it has ten, the table grows to ten.

Any formatting you apply to the template row (bold, size, or colour changes) applies to every row in the table.

Set Up Your Pricing Table

  1. In your template, add a Text Table and set the number of columns you need.
  2. In the first row, add your variables. You can use the shortcut, or find them in the Variables side panel under Integrations, then HubSpot, then Deal, then Line Items.
  3. Add a variable to each column. For example, add the line item name to the first column and the price to the second.
  4. To combine fields in one cell, add more than one variable. For example, add the line item name, followed by the description. You can also include custom fields from HubSpot.
  5. Apply your formatting to the first row. For example, make the line item name bold and add a currency symbol beside the price.
Zight Recording 2026-09-30 at 04.41.06 PM.gif

Add a Table Total

  1. Change the last row of the table to a Footer Row.
  2. Type Total in the first cell.
  3. Add the deal amount variable from Integrations, then HubSpot, then Deal, to the second cell.
  4. Add a currency symbol and align the cell to the right.

Use the Table in a Document

  1. Create a document from your template.
  2. Link the document to a HubSpot deal.
  3. The pricing table fills in with the deal's line items. Check the preview to confirm it displays as expected.

To change the pricing, update the line items in HubSpot. The document updates the next time the data syncs. You can also link the document to a different deal, and the table updates to match that deal's line items.

Key Features and Benefits

Two-Way Sync

Updates flow in both directions. Changes in HubSpot show up in your linked documents, and document activity in Proposify gets pushed back to HubSpot.

Work Inside HubSpot

With the managed package, you and your team can create and send Proposify documents without ever leaving HubSpot.

FlexData: Bring In Any CRM Field

Rather than being limited to a list of pre-built fields, you can import any field from a HubSpot record, opportunity, contact, company, or custom object, and use it directly in your document. This includes lists, like the line items on a deal. Once a document is linked to a deal, those fields fill in automatically and update whenever HubSpot changes.

Dynamic Pricing Tables

Display your HubSpot line items in a Text Table that grows or shrinks to match the linked deal. Build it once in your template, and every document created from it is ready to go.

Automatic Updates

You don't need to refresh anything manually. When a linked record changes in HubSpot, your document updates on its own. Once a document is signed or won, the values lock in place for that document.
 

FAQs

What is FlexData?

It's the framework behind how Proposify pulls CRM data into your documents. Instead of pre-mapping every field, you choose what to bring in from HubSpot, and Proposify uses it as-is. Connect a document to a deal, and those fields fill in automatically and stay current.

Can I pull in a list of items, like all my line items?

Yes. FlexData can pull in the line items from a linked deal and display them in a Text Table, with one row for each line item.

Do I need to build the pricing table for every document?

No. Build it once in your template. Any document created from that template only needs to be linked to a deal.

What happens if my deal has more or fewer line items than my last one?

The table adjusts automatically. It adds or removes rows to match the line items on the linked deal.

How do I change the prices shown in my document?

Update the line items in HubSpot. The document picks up the changes the next time the data syncs, until the document is signed or won.

Do I need to map every field manually before I can use it?

No. That's the old way of doing things. With FlexData, you just choose the fields you want from HubSpot, and they're available to drop into your document, no manual field-by-field mapping required.

What happens to the data if a document is signed or won?

The values lock in for that document at the time it's signed or won, even if the linked deal in HubSpot changes afterward.

Can I change which fields are synced after I've set everything up?

Yes. Go to the HubSpot integration card from the Integrations page and select Reconfigure to adjust your object types and fields at any time.

Still have questions? Reach out to our support team and we'll be happy to help!

Was this article helpful?
0 out of 0 found this helpful

Articles in this section