See which open deals are still reading your website

Open one board before every pipeline review to see which of your open deals are still visiting your site and which have gone completely silent.

App
LeadfeederHubSpotSlack BotSalesMarketingLead EnrichmentResearch & Monitoring
PromptCreate

Build me a deal engagement board I open before every pipeline review. It answers the one question I always ask: which of my open HubSpot deals are actually still reading our website, and which ones have gone completely quiet.

Loading the data. When the app opens, pull my open deals from HubSpot with Search Deals, filtering out anything already closed won or closed lost, and use List Pipelines so I see readable stage names instead of stage IDs. For each deal, get its associated company with Search Companies so I have the company name and the company domain. Separately, resolve my Leadfeeder account with List Accounts, then fetch the last 90 days of identified companies in a single List Leads call, passing explicit start_date and end_date since Leadfeeder requires both. Cache that 90 day lead set for the session instead of refetching it per deal: Leadfeeder is rate limited and the lead list is the expensive call. Pull per deal visit detail on demand with List Visits For Lead when I expand or act on a row, and use Get Lead when you need the lead's full company and visit summary attributes.

Matching. Join on company domain. Normalize both sides before comparing: lowercase, strip the protocol, strip www, drop any path or trailing slash. A deal is matched when its company domain equals a Leadfeeder lead domain in the cached window.

The row. One row per deal showing deal name, company, stage, amount, close date, visits in the last 14 days, days since the last visit, and the last page viewed. Expanding a row loads the recent visit list for that account: date, page path, and time on site.

Two tabs split the board. Heating up holds matched deals whose visit count in the last 14 days is higher than the 14 days before that, and shows both counts plus the change so I can see how much it moved. Gone quiet holds matched deals with no site activity for 30 or more days. Both tabs sort by deal amount descending by default so the biggest risk sits at the top, and I can re-sort by days since last visit or close date.

Unmatched deals get their own group, visible rather than hidden, and the design has to make the reason obvious. These are deals whose company Leadfeeder has never identified in the window. Visitor identification typically resolves only 15 to 35 percent of business web traffic, so an unmatched deal usually means the visitor was never resolved, not that nobody visited. Say that in plain words in the group header or empty state, style the group as unknown rather than as bad news, and sort it by deal value like the others. If a deal has no associated company, or the company record has no domain, put it in this group with the reason shown on the row instead of silently dropping it.

Actions on every row. Create a HubSpot follow-up task with Create Task, associated to the deal, with the subject prefilled from the company and the signal and fields for due date and priority. Log the visit evidence onto the deal with Create Note, writing out the pages viewed, the visit counts for both 14 day windows, and the dates. Post the deal to a team channel with the Slack Bot Send a Message operation, with a channel picker and a prefilled summary I can edit before it sends.

Prep this deal. Every row has a button that starts a background agent. The agent reads the HubSpot deal record and its associated company, pulls the full visit history for the matched Leadfeeder lead with List Visits For Lead and Get Lead, and writes a short call prep brief covering three things: what pages they are researching, how broadly the company is engaging based on the spread of visits and sources, and what changed since the last touch. It files the brief onto the deal as a HubSpot note with Create Note, and the app shows the same brief inline on the row so I can read it without opening HubSpot. Show a clear running state per deal while the agent works, and keep the most recent brief with its timestamp so I can see whether it is stale.

Small things that matter. Put counts for each group and the date window currently in use in the header. Give me a refresh control that re-pulls both sides. Keep the whole board readable at a glance: this is something I scan for two minutes before a meeting, not a report I study.

What does this prompt do?

  • Lines up every open deal in your CRM against the companies your website visitor tracking has identified in the last 90 days, matched on company domain
  • Shows one row per deal with stage, amount, close date, visits in the last 14 days, days since the last visit and the last page they looked at
  • Splits the board into Heating up, deals visiting more than they were two weeks ago, and Gone quiet, deals with no site activity for a month, both sorted so the biggest money sits at the top
  • Lets you create a follow-up task, log the visit evidence onto the deal, or post it to your team channel without leaving the page
  • Has a Prep this deal button that sends an assistant off to read the full visit history and write a call prep brief back onto the deal

What do I need to use this?

  • A HubSpot login with deals and companies you can read, and permission to create tasks and notes
  • A Leadfeeder account with the tracking script live on your website
  • Company domains filled in on your HubSpot company records, since that is what the matching relies on
  • Optional: a Slack workspace if you want to post deals into a team channel

How can I customize it?

  • Change the windows: the 14 day activity comparison, the 30 day silence threshold, and how far back the visit history is pulled
  • Decide which pipelines and stages count as open, so you can review one team's board at a time
  • Pick the default sort, deal value or days since last visit, and the channel your team posts deals into
  • Tell the prep brief what to focus on, for example pricing page visits, competitor comparisons, or new job titles appearing

FAQs

Why do some of my deals show no website visits at all?
Because visitor identification only resolves a share of your traffic, usually somewhere between 15 and 35 percent for business audiences. Those deals are shown in their own Unmatched group rather than hidden, because no match usually means the visitor was never identified, not that nobody visited. Treat that group as unknown, not as cold.
Will this work on a free HubSpot account?
Yes for the core board. Deals, companies, tasks and notes are all available on the free CRM, so you can read the pipeline and file follow-ups. You will want company domains filled in, since the matching is done on domain.
Does it change anything in my CRM on its own?
No. The board only reads until you click something. Tasks, notes, Slack posts and the call prep brief are all actions you trigger from a row.
How far back does the visit history go?
The board loads a 90 day window by default and pulls the detailed page-by-page history for a deal when you open or act on it. If your visitor tracking plan keeps less history than that, shorten the window when you set it up.
What does the Prep this deal button actually produce?
An assistant reads the deal record and the account's full visit history, then writes a short brief covering what pages they are researching, how much of the company is engaging, and what changed since your last touch. The brief is filed onto the deal as a note and shown in the app so you can read it before the call.

Related templates

A brand asset library your marketing team actually searches

Every logo, photo, video cut and ad export in one searchable grid, with previews, campaign tags and rights expiry dates at a glance.

General Input Storage
General Input Database
JigsawStack
+1
App
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
Clean out the Looker dashboards and Looks nobody opens

One board showing every dashboard and Look with its folder, owner and favorite count, so you can find dead content and retire it safely.

Looker
Slack Bot
App
LiveKit live operations console for room moderation

Watch every live room on one screen, remove disruptive guests, start recordings and end stuck sessions without anyone opening a terminal.

LiveKit
Slack Bot
General Input Database
App
Wake up dormant Keap leads with a researched reason

Every Monday we find leads who never bought, research a real reason to reach out, and send a short personal email instead of another check in.

Keap
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

Stop guessing which deals are still interested

Bring your website visitor data next to your open pipeline and walk into the review knowing exactly who is still reading and who has gone dark.