Alert reps in Slack when a warm Warmly visitor hits a high-intent page

When a warm visitor lands on pricing, demo, contact, or signup, Geni files a HubSpot task for the account owner and DMs them on Slack with the full story.

Agentic Task
WarmlyHubSpotSlack BotSalesMarketingNotifications & AlertsLead Enrichment
PromptCreate

Build me an agent workflow that alerts the right account owner the moment a high-intent visitor shows up on our website.

Trigger: run on a cron every hour, only during business hours in the workspace's primary timezone (default 8am to 6pm, Monday to Friday).

On each run, do the following:

1) Pull recent warm visitors from Warmly using List Warm Visitors. Look back at the last 2 hours so we never miss anyone between runs. Filter the result down to visitors whose session touched at least one high-intent page. Default high-intent paths: /pricing, /demo, /contact, /signup, /get-started. Make these configurable in the agent's settings.

2) For each qualifying visitor, first check the 48-hour dedupe memory. If we have already alerted on this person (match by email if present, otherwise by linkedinUrl, otherwise by company domain + name) within the last 48 hours, skip them. Otherwise, continue and record them in the dedupe memory at the end of processing.

3) Use HubSpot Search Companies to look up the company by domain. Use a filter on the domain property. If exactly one match is returned, fetch the company's owner via HubSpot Get Owner using the hubspot_owner_id on the company record.

4) If we found a HubSpot company and owner:

a) Create a HubSpot task with Create Task. Title: "Warm visitor on [highest-intent page they viewed]". Body should include the visitor's name, title, company, the full list of pages viewed in this session, session duration, and a one-line suggested next step. Due today, priority HIGH, assigned to the company's owner, and associated to the company record.

b) DM the owner on Slack using slackbot. Match the HubSpot owner to a Slack user by email with Look Up User by Email, then Open a Conversation, then Send a Message. The DM should summarize: who hit the site (name + title + company), which high-intent pages they viewed, total pages in session, a direct link back to the HubSpot company record, and a link back to the visitor in Warmly. Use Slack mrkdwn formatting, not standard markdown.

c) If Look Up User by Email cannot find a matching Slack user for the HubSpot owner, fall back to the shared channel behavior below and include the owner's name in the post.

5) If no HubSpot company match exists for the visitor's domain, post the lead in the shared #inbound-leads Slack channel using slackbot Send a Message so the round-robin can claim it. Include the same context (name, title, company, pages viewed, Warmly link).

6) After processing all visitors in the batch, persist the dedupe memory (keyed by visitor identity with a 48-hour TTL) so the next run can skip them.

Important behavior notes for the agent: never alert on the same visitor twice within 48 hours; never create duplicate HubSpot tasks for the same visitor + company on the same day; if Warmly returns nothing high-intent, exit quietly without posting anything; if any individual visitor errors out (HubSpot 404, Slack user not found, etc.), continue processing the rest and surface a short summary at the end of the run.

Configurable knobs to expose at the top of the agent instructions: list of high-intent page paths, business hours window, dedupe window in hours, fallback channel name, primary timezone.

Additional information

What does this prompt do?
  • Checks Warmly every hour during business hours for new warm visitors on your site.
  • Filters to people who touched a high-intent page like pricing, demo, contact, or signup.
  • Looks up the matching company in HubSpot, files a task for the account owner due today, and DMs that owner on Slack with the visitor's name, title, pages viewed, and a link back to the HubSpot record.
  • If the company is not in HubSpot, posts the lead in a shared inbound channel so the round-robin can grab it.
  • Skips anyone already alerted in the last 48 hours so reps don't get pinged twice on the same person.
What do I need to use this?
  • A Warmly workspace with the website pixel installed and API access.
  • A HubSpot login with permission to read companies and owners and create tasks.
  • A Slack workspace where Geni can DM your reps and post in a shared inbound leads channel.
  • A short list of the page paths you consider high intent (for example /pricing, /demo, /contact, /signup).
How can I customize it?
  • Change which pages count as high intent, or add product pages and specific solution URLs.
  • Adjust the schedule, the business hours window, or the duplicate-suppression window (the default is 48 hours).
  • Swap the fallback channel, or route different segments (enterprise vs SMB, by region) to different channels or reps.

Frequently asked questions

Do I need to be on a paid Warmly plan?
You need API access on your Warmly workspace and the tracking pixel installed on your site. Free plans have lower rate limits but the workflow still runs, it just polls less aggressively.
What if the visitor's company is not in HubSpot yet?
Geni posts the lead in your shared inbound channel with the visitor's name, title, company, and the pages they viewed, so whoever owns round-robin can claim it and create the company record.
How does it avoid pinging the same rep twice on the same person?
Geni keeps a short memory of who has been alerted in the last 48 hours. If the same person comes back during that window, they are skipped. You can shorten or extend that window.
Can the alert go to a channel instead of a DM?
Yes. Tell Geni to post in a channel like #pipeline or #account-owners instead of DMing, or do both. You can also @-mention the owner inside the channel post.
Will it work if my account owners live in HubSpot but not in Slack?
Geni matches HubSpot owners to Slack users by email. If an owner does not have a matching Slack account, the alert falls back to your shared inbound channel.

Stop letting warm visitors slip past sales.

Connect Warmly, HubSpot, and Slack once, and Geni gets the right rep in front of high-intent visitors within minutes.