Daily intent triage queue your SDRs work every morning
See which target accounts actually visited your site this week, ranked so one repeat visitor cannot top the list, and work every row to a decision.
Build me a daily signal triage queue that my SDRs open each morning instead of chasing intent alerts in Slack. It should be a worked surface with per-row state, not a dashboard and not a digest: every account in it ends the morning with a decision recorded in the CRM.
The main view is a ranked list of target accounts. Build the account list from HubSpot using Search Companies, filtered to a target-account property (let me pick which company property and value marks a target account in setup). Add an optional toggle for 'only my accounts' that uses HubSpot List Owners to match the logged-in rep's email to their HubSpot owner record, then filters the company search by hubspot_owner_id. Also exclude any account whose queue-state property says it is snoozed with a future snooze-until date, or marked not a fit.
For each company in that CRM-sourced list, take the company domain and call the Factors.ai Get Account Journey operation for that one domain over the last 7 days. Factors is strictly one domain at a time and has no list-all-accounts endpoint and no pagination, so the app must fan journey lookups out over the domain list that came from HubSpot rather than expecting a feed of all visitors. Run those lookups concurrently with a sensible cap, cache the results for the session so re-ranking does not re-fetch, skip companies with a missing or obviously invalid domain, and treat a 404 from Factors as 'no activity in the window' rather than an error. Show a small progress indicator while the fan-out runs so a rep with a few hundred target accounts sees the list fill in rather than staring at a blank screen.
Each row shows: company name and domain, the account owner from HubSpot, session count in the window, number of distinct visitors, the last-seen date as a relative label like '2 days ago', and the pages that were hit, with the most notable ones surfaced first and the rest collapsed behind a count. Clicking a row opens the full journey timeline for that account, grouped by person rather than as one flat event stream, so the rep can see that three different people looked at pricing instead of one person looking at it three times. Show each person's visits in time order with page and timestamp, and show their Factors user properties where present.
Rank the queue by a recency-weighted score computed across distinct visitors, not raw pageview counts. Each distinct visitor contributes based on how recently they were last seen, with recent activity worth far more than activity at the start of the window, and the account score is the sum across visitors with diminishing returns on repeat sessions from the same person. The rule to bake in is that one noisy repeat visitor must never top the queue over an account where several different people showed up. Show the score as a simple visual rank indicator, and let the rep hover or expand to see the plain-language reason such as 'four people, most recent yesterday'.
Every row carries three dispositions. 'Work it' creates a HubSpot task with Create Task, assigned to that account's owner, associated to the company, with a due date of today and a subject and body that summarize the signal, for example the visitor count, last-seen date, and top pages. 'Snooze' hides the account from the queue for 14 days. 'Not a fit' drops it out of the queue for good. All three save back to a HubSpot company property using Update Company, so the queue state lives in the CRM rather than a side database: write the disposition value, the timestamp, the rep who made the call, and the snooze-until date where relevant. After a write, refresh that single company with Get Company so the row reflects what is actually stored, and let the rep undo a disposition immediately after acting in case of a misclick.
Add a 'Research this account' button on each row and on the detail view that kicks off a background agent. The agent re-reads that account's Factors.ai journey with Get Account Journey, researches the company on the web for recent news, positioning, funding, and hiring signals, then writes a short brief titled 'why they are warm and what to open with' that ties the specific pages those specific people visited to a concrete opening line. The agent posts the brief onto the company record with HubSpot Create Note, and the app renders it inline under the row so the rep reads it in place without opening HubSpot. Show a clear running state while the agent works, and keep previously generated briefs visible so a rep can re-read yesterday's without regenerating.
Next to the brief, add a 'Share' button that sends the same brief to a Slack channel using Send a Message, formatted with the company name, the signal summary, and the suggested opener, with the rep able to pick the channel and add a line of their own before it goes.
Design notes: this is a morning queue, so default the sort to the recency-weighted score descending and make the three disposition buttons the most obvious thing on every row. Keep the empty state honest, saying no target accounts showed activity in the last 7 days rather than showing a fake list. Show a small header count of accounts left to triage today so a rep knows when they are done.
What does this prompt do?
- Pulls your target account list straight from your CRM, then checks each company's website activity over the last seven days and shows sessions, how many different people visited, when they were last seen, and which pages they hit.
- Ranks accounts by how recently several different people visited, so one person refreshing the pricing page all week cannot jump ahead of a real buying committee.
- Gives every row three decisions: work it and file a task for the account owner, snooze it for two weeks, or drop it as not a fit. Each choice saves onto the company record, so the queue lives in your CRM and not in a side spreadsheet.
- Adds a research button that has an assistant re-read the visit history, look the company up online, and write a short brief on why they are warm and what to open with, posted to the company record and shown right in the app.
What do I need to use this?
- A Factors.ai account with website visitor tracking already collecting activity
- A HubSpot login that can read companies and owners and create tasks and notes
- A company field in HubSpot that marks your target accounts, plus one field to hold each account's queue decision
- A Slack workspace, if you want reps to share briefs with the team
How can I customize it?
- Change the activity window from seven days to whatever matches your sales cycle, and change how long a snooze lasts.
- Filter the queue to one rep's own accounts, a single segment, or the entire target list.
- Decide which pages count as high intent, such as pricing or demo pages, and weight them more heavily in the ranking.
- Point the share button at whichever channel your team already watches.
FAQs
Do I need to tag my target accounts in HubSpot first?
Why does the ranking ignore raw pageview counts?
Does any of this live outside my CRM?
Can each rep see only their own accounts?
What happens to accounts with no recent activity?
Related templates
Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.
Pick a date, a starting point and a radius, then build a sequenced day of customer visits that lands straight on your calendar.
One screen where reps filter for companies that fit, see who is actually reachable at each account, and save only the addresses that verify.
Search creators for free, shortlist the best with your team, and spend an audit credit only when you decide someone is worth a closer look.
One screen showing invited, completed, and shortlisted counts for every open role, plus the stalled invites that have quietly gone nowhere.
See every competitor battlecard next to the number of open deals that name that competitor, so the cards carrying real pipeline get refreshed first.
Stop chasing intent alerts in Slack.
Give your reps one screen each morning that ranks the accounts worth a call and remembers what they decided about every single one.