To create a Notion page for every new HubSpot deal, build a Zap with HubSpot's New Deal trigger and Notion's Create Data Source Item action, and write the deal ID into a Notion property called HubSpot Deal ID. HubSpot has no native Notion action, so Zapier is the standard route. It costs one Zapier task per new deal.
Quick answers:
- Trigger: HubSpot, New Deal.
- Action: Notion, Create Data Source Item (adds a row, and each row is a page).
- The one property that matters: a Text property named HubSpot Deal ID.
- Keep the stage current: a second Zap on Updated Deal Stage, two tasks per stage change.
- Plan needed: a paid Zapier plan, because HubSpot is a Zapier premium app.
- See the page back on the deal: NoteLinker matches on the same HubSpot Deal ID property.
In this article
1.
2.
3.
4.
5.
6.
7.
8.
9.
Before You Start: Set Up the Notion Deals Database
Create a Notion deals database with a Text property named HubSpot Deal ID before you build any Zap. Every recipe below finds pages by that ID.
| Property | Type | What it holds |
|---|---|---|
| Deal Name | Title | The HubSpot deal name |
| HubSpot Deal ID | Text | The deal's record ID. Required. |
| Stage | Select | The HubSpot deal stage |
| Amount | Number | The deal amount |
| Close Date | Date | The expected close date |
| Owner | Text or Person | The deal owner |
Why the HubSpot Deal ID matters:
- Deal names change. Reps edit, shorten and reuse them. "Acme renewal" exists every year.
- The record ID never changes. It is unique to one HubSpot deal.
- Text, not Number. A Text property stores long IDs exactly as HubSpot writes them.
Only the HubSpot Deal ID name is required. The other properties are suggestions.
Recipe 1: Create a Notion Page for Every New HubSpot Deal
This Zap adds a page to your Notion deals database each time someone creates a deal in HubSpot. It costs one Zapier task per deal.
- 1
1. Trigger: HubSpot, New Deal
Create a Zap. Choose HubSpot as the trigger app and New Deal as the event. Connect HubSpot and pull in a test deal.
- 2
2. Action: Notion, Create Data Source Item
Choose Notion and the Create Data Source Item event. Notion calls the tables inside a database data sources. Connect Notion and pick your deals database.
- 3
3. Map the fields
Map the deal name to Deal Name and the deal ID to HubSpot Deal ID. Map stage, amount, close date and owner to their properties. Check that the ID landed as plain digits.
- 4
4. Optional: add starter content
Add a Notion Add Content to Page step to drop in headings such as Discovery, Stakeholders and Next Steps. This costs a second task per deal.
- 5
5. Test and turn it on
Create a test deal in HubSpot. Wait for the next poll. Confirm one Notion page appears with the right ID, then turn the Zap on.
Recipe 2: Update the Notion Page When the HubSpot Deal Stage Changes
This Zap keeps the Notion page's Stage in step with the HubSpot deal. It costs two Zapier tasks per stage change: one to find the page, one to update it.
- 1
1. Trigger: HubSpot, Updated Deal Stage
Fires when a deal moves stage. To track amount or close date too, use Deal Property Change and pick the property.
- 2
2. Find: Notion, Find or Create Data Source Item
Search the deals database where HubSpot Deal ID equals the trigger's deal ID. If no page exists yet, this step creates one instead of failing.
- 3
3. Update: Notion, Update Data Source Item
Point it at the page from step 2. Write the new stage, plus amount and close date if they can change.
Never look a Notion page up by HubSpot deal name. The day two deals share a name, the Zap edits the wrong page.
Keep this one-way. HubSpot owns the deal fields and Notion owns the writing. Syncing stage both ways means two Zaps triggering each other in a loop.
Recipe 3: Add New HubSpot Contacts to a Notion Database
This Zap adds each new HubSpot contact to a Notion clients or contacts database. It costs one Zapier task per contact.
- 1
1. Trigger: HubSpot, New Contact
Fires when a contact is created in HubSpot.
- 2
2. Action: Notion, Find or Create Data Source Item
Search your contacts database on an Email property. If the email is not there, Zapier creates the row. This stops duplicate contacts.
- 3
3. Map the fields
Map the contact's name to the title and the email to the Email property. Add company, owner or lifecycle stage if you track them.
Email is the stable key for a person, the way the deal ID is for a deal. NoteLinker also matches contacts on the Email property, so these rows show on the HubSpot contact record.
Recipe 4: Log HubSpot Form Submissions in Notion
This Zap adds one Notion row for each HubSpot form submission. It suits agencies and consultancies that triage inbound briefs in Notion. It costs one Zapier task per submission.
- 1
1. Trigger: HubSpot, New Form Submission
Pick the HubSpot form to watch.
- 2
2. Action: Notion, Create Data Source Item
Pick your inbound or briefs database.
- 3
3. Map the fields
Map the submitter's email to an Email property and each form field to its own property.
Make can run all four recipes too, with its HubSpot CRM app and its Notion app. For how Make and Zapier bill differently, see Make vs Zapier.
What the 4 Recipes Cost on Zapier
Zapier never bills the trigger, so the cost is one task per action.
A worked example for a small team:
- 40 new deals a month: 40 tasks.
- Each deal moves through five stages: 400 tasks.
- Total: about 440 tasks, inside the 750 on Zapier Professional.
- Add the optional starter-content step: 480 tasks.
HubSpot is a Zapier premium app, so the Zapier Free plan cannot run these recipes.
See the Notion Page Back on the HubSpot Deal with NoteLinker
NoteLinker shows each deal's Notion page on the HubSpot deal record. On a deal, it matches on a Notion property named HubSpot Deal ID, which is the property Recipe 1 writes. Every page the Zap creates appears on its deal with no extra setup.
What the NoteLinker card does:
- Shows the page: the matching Notion rows, live and fully formatted, with an Open in Notion link.
- Matches deals: on HubSpot Deal ID, or on a deal name that matches the HubSpot deal.
- Matches contacts: on the Email property from Recipe 3.
- Hides private pages: tick a Hide from HubSpot checkbox on a row and the card skips it.
- Works without a Zap: from an empty deal card, create a Notion row for that deal in one click, or search your Notion databases and link an existing page.
Without it, the discovery notes, plan and proposal stay a tab switch away from the person working the deal, and in practice they go unread.
See every deal's Notion page inside HubSpot
NoteLinker shows your Notion deal pages on the matching HubSpot deal, matched by HubSpot Deal ID. Two-minute setup from the HubSpot marketplace, flat $19 a month.
For how this compares with keeping context in HubSpot itself, see how to pin a note in HubSpot, HubSpot deal notes and how to view Notion inside a HubSpot record.
4 Common Problems and How to Fix Them
1. Two Notion pages for one HubSpot deal
Something other than the Zap is creating pages, or an older Zap searches by name. Search the database for the duplicate HubSpot Deal ID, merge the content, delete the extra page, and switch every lookup to the ID.
2. Older HubSpot deals have no Notion page
The New Deal trigger only sees new deals. Export existing deals from HubSpot with the Record ID column. Import the CSV into the Notion database and map Record ID to HubSpot Deal ID.
3. The Stage property shows an internal ID
HubSpot sent the stage ID, not the label. Add a Zapier Formatter lookup table step that maps IDs to labels. It uses no tasks.
4. Notion pages appear a few minutes late
That is Zapier's polling interval: two minutes on Professional, one minute on Team. It is not an error.
Frequently Asked Questions
Get HubSpot and Notion tips delivered straight to your inbox
We'll email you 1-3 times per week, and never share your information.



