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.

Additional information

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.

Frequently asked questions

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.

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.