Spin up a Notion deal room when HubSpot deals advance to late stage

When a HubSpot deal moves to Demo Scheduled or Proposal Sent, an agent builds a Notion deal room with company research and DMs the AE in Slack.

Agentic Task
HubSpotNotionSlackSalesOperationsLead EnrichmentNotifications & AlertsResearch & Monitoring

Build me an agent workflow that spins up a Notion deal room and pings the AE in Slack the moment a HubSpot deal advances into a late-stage pipeline phase.

Trigger: a HubSpot outgoing webhook that fires on deal property changes for the deal stage. The agent should only proceed when the new stage is one of my late-stage values (default to Demo Scheduled and Proposal Sent, but make the list configurable). The webhook payload will include the deal id, which is what we key off of.

Once it fires, the agent should:

1. Use HubSpot Get Deal on the deal id to pull deal name, amount, stage, pipeline, close date, and owner. Resolve associated company and primary contact ids.

2. Use HubSpot Get Contact on the primary contact to pull name, title, email, and phone.

3. Research the company on the web. I want a short profile covering rough size, industry, recent news from the last 90 days, and the likely buying motion (bottoms-up vs top-down, who typically owns the budget, etc). Keep it to a few tight paragraphs, not a wall of text.

4. Use Notion Query a Data Source against my Accounts database to see if there is already an account page for this company. If yes, capture its page id so we can link to it. Also Query a Data Source against my Deal Rooms database to check if a page already exists for this deal id; if it does, update that page instead of creating a new one.

5. Use Notion Create a Page in my Deal Rooms database. Set the page title to '<Company> - <Deal Name>'. Set properties for Deal Stage, Amount, Close Date, Deal Owner, HubSpot Deal Id, and a relation to the Accounts page if one was found.

6. Use Notion Append Block Children to populate the page with the following sections, each as a heading_2 followed by content blocks: Company Overview (the web research summary), Key Contacts (primary contact and any other contacts on the deal as a bulleted list with name, title, email), Deal Context (amount, stage, pipeline, owner, close date as a callout or bulleted list), Open Questions (3 to 5 sharp questions the AE should bring into the next conversation, generated from the research and deal data), and Next Steps (an empty checklist the AE can fill in).

7. Use Slack Send a Message to DM the deal owner. The DM should include a link to the new Notion page and a one-paragraph executive summary covering who the company is, what stage the deal is at, what the dollar amount is, and the single sharpest thing the AE should know going into the next conversation. Keep the tone like a peer briefing the AE, not a marketing email.

Make the late-stage trigger list, the Notion Deal Rooms database id, the optional Accounts database id, and the deal owner email mapping configurable. If the deal owner cannot be mapped to a Slack user, fall back to a designated channel and call out the unmapped owner in the message.

The point is to give the AE a real prep doc the moment the deal advances, not a placeholder.

Additional information

What does this prompt do?
  • Watches HubSpot for deals that move into late-stage pipeline phases like Demo Scheduled or Proposal Sent.
  • Pulls the deal name, amount, stage, owner, primary contact, and company straight from your CRM, then researches the company on the web for size, industry, recent news, and likely buying motion.
  • Builds a real prep doc in your Notion Deal Rooms database with sections for company overview, key contacts, deal context, open questions, and next steps.
  • Links the new page to the existing account page in Notion if one already exists, so context lives in one place.
  • DMs the deal owner in Slack with a link to the page and a one-paragraph executive summary the moment the deal advances.
What do I need to use this?
  • A HubSpot account with deals and contacts you can read, plus permission to set up a webhook on deal stage changes.
  • A Notion workspace with a Deal Rooms database the agent can write to.
  • A connected Slack workspace so the agent can DM the deal owner.
  • Optional: an existing Accounts database in Notion if you want deal rooms linked back to company pages.
How can I customize it?
  • Change which pipeline stages trigger a deal room (Demo Scheduled, Proposal Sent, Negotiation, anything you call your late stages).
  • Tweak the section headers in the Notion page so they match how your team actually preps deals.
  • Swap the Slack DM for a channel post if you want the whole pod to see new late-stage deals.

Frequently asked questions

Will this work if our pipeline stages are named differently?
Yes. You point the agent at whichever stages count as late stage for your team (for example, Negotiation or Verbal Commit) and it only fires when a deal lands in one of those.
What goes into the Notion deal room?
A company overview pulled from web research, the key contacts on the deal, the deal context (amount, owner, stage), a list of open questions to bring into the next call, and next steps. You can edit the template anytime.
Does it duplicate the page if the deal moves between late stages?
No. The agent first checks your Deal Rooms database for an existing page tied to the deal and updates it instead of creating a duplicate.
Can it link to our existing Notion account pages?
Yes. If you have an Accounts database in Notion, the agent looks up the matching company page and links it from the new deal room so prior context is one click away.
Who gets the Slack message?
By default the deal owner in HubSpot. You can change it to a shared channel or to a specific person on every run.

Stop sending AEs into late-stage calls without a prep doc.

Connect HubSpot, Notion, and Slack once, and Geni builds a deal room the moment a deal goes live.