Enrich new HubSpot deals with a Factors.ai buyer journey brief

When a new deal lands in HubSpot, Geni pulls the account's 30-day buyer journey from Factors.ai, attaches a synthesized note, and DMs the deal owner on Slack.

Agentic Task
HubSpotFactors.aiSlackSalesLead EnrichmentNotifications & Alerts
PromptCreate

Build me an agent workflow that enriches every new HubSpot deal with a Factors.ai buyer journey brief and notifies the deal owner on Slack.

Trigger: a HubSpot webhook fires when a new deal is created. Pass the deal ID through to the agent.

When the workflow runs, the agent should:

1. Call HubSpot Get Deal to load the deal, including its associated company and the deal owner. Capture the deal name, amount, stage, owner, and the associated company ID.

2. Call HubSpot Get Company on the associated company to read the company's primary domain (the website / domain property).

3. Call Factors.ai Get Account Journey for that domain with a trailing 30-day window (from = today minus 30 days, to = today). Read the returned timeline of sessions, events, page views, named users, and intent signals.

4. Synthesize a short buyer journey brief covering: which marketing channels brought the account in (organic, paid, direct, referral, etc.), the top content and pages they engaged with, named users from the account who showed up, and any G2 or ad signals visible in the events. Keep it factual and concise (under ~250 words).

5. Call HubSpot Create Note with that synthesized summary as the note body, and associate the note with the deal. Title it something like "Factors.ai buyer journey (last 30 days)".

6. Resolve the deal owner to a Slack user (match by the owner's email to a Slack workspace user), Open a Conversation with that user, and Send a Message DMing them a short brief: top 2-3 highlights from the journey plus one recommended outreach angle grounded in what the account was actually researching (e.g. "They viewed your integrations page 4x and downloaded the Salesforce comparison — lead with the SF integration story").

Edge case: if Factors.ai returns 404 (no activity for that domain in the window), still call HubSpot Create Note with a brief that says "No tracked Factors.ai activity for {domain} in the last 30 days." and skip the Slack DM entirely — do not ping the owner with an empty brief.

Other guardrails: if the deal has no associated company, or the company has no domain, attach a note explaining what was missing and skip the rest. Keep the Slack DM short — three to five lines max, in Slack mrkdwn formatting.

What does this prompt do?

  • Watches HubSpot for new deals and reacts the moment one is created.
  • Looks up the deal's company domain and pulls the last 30 days of activity from Factors.ai: marketing channels, pages viewed, named visitors, and intent signals.
  • Writes a clean buyer journey summary back to the deal as a HubSpot note so anyone on the account can see the full picture.
  • Sends the deal owner a short Slack DM with the highlights and one recommended outreach angle based on what the account was researching.

What do I need to use this?

  • A HubSpot account with permission to read deals and companies and to create notes.
  • A Factors.ai account with a private project token and your target accounts already tracked.
  • A Slack workspace connected for the person who will receive deal owner DMs.

How can I customize it?

  • Change the lookback window from 30 days to whatever matches your sales motion (7 days for fast cycles, 90 for enterprise).
  • Reword the Slack DM tone and the recommended outreach angle to match how your team actually writes to prospects.
  • Filter by deal pipeline or stage so only deals in your new business pipeline trigger the enrichment.

FAQs

What if Factors.ai has no activity for the account?
The agent still attaches a HubSpot note saying no recent activity was found, and it skips the Slack DM so deal owners are not pinged with empty briefs.
Does this work with HubSpot Free?
You need a HubSpot plan that lets you read deal and company records and create notes through the API. Most paid HubSpot tiers including Starter cover this.
How does Geni know who the deal owner is on Slack?
The agent reads the deal owner from HubSpot and matches them to the Slack user with the same email so the DM goes to the right person.
Can I post to a channel instead of DMing the owner?
Yes. When you set this up, tell Geni to post to a specific Slack channel (like #pipeline or #aes-pod) instead of DMing the deal owner, and it will route the brief there.
Will this fire for every deal or can I scope it?
You can scope it to a specific pipeline, deal stage, or owner. Tell Geni which deals you care about and it will ignore the rest.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Win back LiveChat visitors whose chats went unanswered

Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.

LiveChat
Gmail
Slack
Agentic Task
Turn Mailjet email clicks into ranked HubSpot follow-ups

Twice a day we spot the people clicking your pricing and demo pages, create a follow-up task for their owner, and post a ranked recap to Slack.

Mailjet
HubSpot
Slack Bot
Agentic Task
iMessage campaign console with pre-flight checks and delivery board

Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.

LoopMessage
Google Sheets
HubSpot
App
Chat quality review board for LiveChat support leads

Score last week's finished live chats against one rubric, let an AI grader draft the notes with quotes, and send coaching straight to the agent.

LiveChat
Slack
General Input Database
App
A searchable RFP answer library your bid team drafts from

Every proposal you have ever submitted in one searchable archive, with the closest past answers lined up against each question in a new RFP.

General Input Storage
General Input Database
Mistral AI
+2
App

Give every new deal a buyer journey brief on day one.

Connect HubSpot, Factors.ai, and Slack once, and Geni turns every new deal into a researched brief in the deal owner's DMs.