The problem this solves
A list is a snapshot. The criteria that produced it - an industry, a size band, a technology, a hiring pattern - keep matching new companies every week, and the companies on the list keep changing: some grow out of the band, some drop the technology, some get acquired. A list built once is accurate for about a month and then slowly becomes a record of who fit last quarter.
Refreshing by hand means rebuilding and diffing, which nobody does. The useful behavior is a standing mission that re-runs the criteria, adds only the companies that newly qualify, removes the ones that no longer do, finds a contact for each newcomer, and tells the team about the additions where the team reads. The list stays alive, and the Monday post becomes a small, reliable source of fresh accounts.
How the mission runs
- Re-run the saved criteria. Every Monday the Prospecting Agent re-executes the filters stored with list <name> - company search, technographics, hiring or funding conditions, whatever the list was built from - against current data, producing a fresh candidate set.
- Diff against the current list. The fresh set is compared with the existing rows. Companies that newly match are marked as additions; companies on the list that no longer meet the criteria are marked for removal, with the reason - headcount now outside the band, technology no longer detected - recorded.
- Find a verified contact for each addition. For every new company, people search and the email finder identify the decision-maker the list is built around, and verification confirms the address. Existing rows keep their contacts untouched.
- Update the list and post the additions. Additions are appended and removals applied, with a change log kept on the list. The additions are posted to #sales with one line per company and the CSV attached, and the count of removals is noted so the team knows the list shrank as well as grew.
The prompt
This is the exact objective the agent receives. Swap the obvious placeholders for your own domain, segment or channel and run it as-is from the console, Slack, or the API.
What comes back
List <name> kept current every Monday: newly matching companies added with a verified contact each, companies that no longer fit removed with the reason logged, and a Slack post in #sales listing the week's additions with a CSV attached. Over time the list holds a change log that shows when each company entered and left, which is useful evidence about how the segment is moving.
Make it yours
- Change the cadence to daily for fast-moving signals or monthly for stable segments.
- Keep removed companies on the list marked as lapsed instead of deleting them, if reps want the history.
- Post to a Telegram channel or email the CSV instead of Slack, or write additions straight into HubSpot.
- Have the refresh score each addition against your ICP so the Monday post is ordered by fit.
Frequently asked questions
Does the refresh cost credits for the whole list every week?
Search and diff costs are small; enrichment and verification are spent only on the additions, so a stable list costs little to keep alive.
What happens if a company is removed and later qualifies again?
It is re-added as an addition with its earlier history preserved in the change log, and its previous contact is reused if still valid.
Can I refresh several lists in one mission?
Yes. Name them and each gets its own diff and its own post, or one combined post if you prefer.
Does the refresh re-verify existing contacts?
Not by default, since verification is spent where it changes something. Ask for a quarterly re-verification and the refresh checks every existing address on that cadence and flags the ones that stopped delivering.