Daily ICP hiring signals to Slack with HubSpot tasks

Every weekday at 8am, scout fresh job postings that match your ICP, rank the strongest signals, post a Slack digest, and queue HubSpot tasks for owners.

Agentic Task
TheirStackHubSpotSlackSalesResearch & MonitoringLead EnrichmentDaily Digests

Build me an agent workflow that scouts fresh hiring signals across my ICP every morning and pushes the strongest ones into our outbound motion. It should run on a cron schedule, every weekday at 8am in my local time zone.

Step 1. Use TheirStack Search Jobs to pull job postings from the last 24 hours that match my ICP. The ICP filters need to be configurable inputs: target job titles (for example RevOps Manager, Head of Data, VP Marketing), company size band (employee count range), geographies (countries or regions), and target technologies (either technologies that signal fit, or technologies we replace). Set posted_at_max_age_days to 1 so we only see brand new postings. Pull title, company name, company domain, location, posting URL, and a snippet of the description.

Step 2. Group the postings by company. For each candidate company, call TheirStack Get Company Technographics to pull the tech stack with confidence levels. Use this to confirm fit: either they already run a complementary tool that pairs well with ours, or they are missing a category we own, or they run a known competitor we replace. Drop companies whose stack clearly does not match the ICP.

Step 3. For every remaining company, call HubSpot Search Companies by domain to see if the account already exists. Capture the HubSpot company id, the account owner (owner id and owner email), and the most recent activity date. If the company exists, keep the existing owner. If it does not exist, mark it as net-new.

Step 4. Apply the dedup rule. Skip any company we have already alerted on in the last 30 days. Persist a small history (company domain plus last-alerted-at) inside the workflow so the cooldown is reliable across runs. Do not push duplicate signals on the same company for the same hiring pattern within the 30 day window.

Step 5. Rank the surviving companies and pick the top 5 to 10. Use judgement on the ranking signal: how senior or revenue-adjacent the role is, how strong the tech stack fit is, recency, and whether multiple relevant roles are open. For each top company, write a 2 to 3 sentence outreach angle that explains why this role at this company is a buying signal and what a rep should lead with. Keep the tone factual, not salesy.

Step 6. For any net-new company that did not exist in HubSpot, use HubSpot Create Company first to create the record (name, domain, basic firmographics from the TheirStack data). Then for every top company (net-new or existing), use HubSpot Create Task to create a task on the company. The task should include the role title, a one-line signal summary, the suggested outreach angle, and a link to the job posting. Assign the task to the account owner when one exists, or to a default rep I configure when the company is brand new. Set the due date to today.

Step 7. Post one consolidated digest to my Slack channel using Slack Send a Message. Top of message: a one-line header with today's date and the count of signals. Then for each ranked company a short block with company name, role title, location, the signal explanation, the outreach angle, a tech stack snippet (3 to 5 relevant technologies), and a link to the HubSpot company and the task. Tag the account owner where possible by resolving the HubSpot owner email to a Slack user. Keep the digest scannable, not a wall of text.

Rules. If a day has no qualifying signals after filtering and dedup, post a single short message saying nothing met the bar today rather than padding the digest. Do not create tasks for companies that fail the technographic fit check. Never alert on the same company more than once in 30 days. Keep Slack formatting in mrkdwn (single asterisks for bold, angle-bracket links).

Configurable inputs I should be prompted for at setup: the Slack channel for the digest, the local time zone for the 8am run, the ICP filters (target job titles, company size band, geographies, target technologies and the role each plays — fit, gap, or competitor), the HubSpot owner or rep to assign tasks to when no owner exists, and the cooldown window (default 30 days).

Additional information

What does this prompt do?
  • Scouts job postings published in the last 24 hours that match your ICP filters: target titles, company size band, geography, and technologies in use.
  • Confirms fit on each top candidate by pulling the company's tech stack, then checks HubSpot to see whether the account is already in your CRM.
  • Ranks the 5 to 10 strongest signals each morning and writes a short outreach angle tailored to why this role at this company is a real buying signal.
  • Posts a single Slack digest with company, role, signal explanation, and tech stack snippet, then creates a HubSpot task on the matching company for the account owner.
  • Skips any company that already triggered an alert in the last 30 days, so reps never get pinged twice on the same hiring pattern.
What do I need to use this?
  • A TheirStack account for pulling fresh job postings and company tech stacks.
  • A HubSpot login with access to your companies, owners, and tasks.
  • A Slack workspace and a channel where you want the morning digest to land.
  • A short description of your ICP: target job titles, company size, geographies, and the technologies that signal a fit (or a gap your product fills).
How can I customize it?
  • Tune the ICP filters. Change which job titles count, the company size band, target countries or regions, and the technologies that signal fit or gap.
  • Adjust the schedule. Move it off 8am, run it three days a week instead of every weekday, or align it to your team's time zone.
  • Change the destination. Send the digest to a deal desk channel, route per-rep alerts to each owner's DM, or both. The HubSpot task assignee can be the account owner or a default rep when no owner exists.
  • Set the cooldown. The default skips any company alerted in the last 30 days, but you can shorten or extend that window.

Frequently asked questions

How is this different from buying a static prospect list?
A list is a one-time snapshot. This watches the market every morning for live hiring intent, so the accounts that surface are the ones taking action right now, in the last 24 hours, instead of names from a quarter ago.
What stops it from spamming my Slack channel?
The agent ranks signals and posts only the top 5 to 10 each day. It also remembers which companies it has already flagged in the last 30 days, so the same hiring pattern at the same company never shows up twice.
What if the company is not in HubSpot yet?
The agent creates the company record first, then attaches the task. The task is assigned to the account owner when one exists, or to a default rep you configure when the company is brand new.
Can I narrow this to one geography or one sales pod?
Yes. You can scope the job search to specific countries, regions, or cities, and you can route the digest and tasks to a single rep, pod, or channel. Most teams run one variant per region or per segment.
How do I tell it what counts as a real fit signal?
When you set it up you describe your ICP in plain language: the roles that mean someone's evaluating a tool like yours, the technologies that suggest a fit, and the ones that signal a gap your product fills. The agent uses that to rank each posting.

Turn fresh hiring signals into outbound tasks before your competitors see them.

Connect TheirStack, HubSpot, and Slack once, and your team starts every weekday with the top 5 to 10 accounts worth a call today.