Daily ZoomInfo intent spikes to Slack with HubSpot tasks

By General Input

Every weekday at 9am ET, post a Slack digest of accounts spiking on your buyer intent topics, with named decision-makers and a HubSpot task ready for the rep.

Integrations

  • ZoomInfo
  • Slack
  • HubSpot

Type

Agentic Task

Categories

  • Sales

Build me an agent workflow that runs on a cron trigger every weekday (Monday through Friday) at 9:00am America/New_York. The goal is a daily sales digest of accounts that are spiking on buyer intent, with named decision-makers and a HubSpot task waiting for the rep.

Configurable inputs the user should be able to edit on the workflow page:

1) intent_topics: a list of ZoomInfo intent topic names that matter for our product. Default this to a placeholder list like ["Data Integration", "Workflow Automation", "Marketing Automation"] and tell the user to replace it with topics that match their ICP. 2) score_threshold: the minimum intent score that counts as a spike. Default 75. 3) slack_channel: the Slack channel (or channel ID) to post the digest in. Default "#sales-signals". 4) lookback_hours: how far back to look for new intent activity. Default 24. 5) max_accounts: cap on how many accounts to include in the digest. Default 15.

Each morning when the workflow fires, do the following:

Step 1: Use ZoomInfo's Search Intent operation to find buyer intent signals from the last lookback_hours across the configured intent_topics. Filter to companies whose intent score is at or above score_threshold. Sort by score descending and cap the results at max_accounts. Capture the company id, company name, primary domain, the topic(s) they are spiking on, and the score for each.

Step 2: For each spiking account, call ZoomInfo's Get Contact Recommendations to pull the top 2 to 3 recommended decision-makers. Then call ZoomInfo's Enrich Contacts in a single batch (it accepts up to 25 contacts per request) to get full names, titles, verified work emails, and LinkedIn URLs.

Step 3: For each spiking account, use HubSpot's Search Companies to find the matching company record by domain. If there is no match, mark the account as "net-new" and skip task creation for it; still include it in the Slack digest so the team knows about it.

Step 4: Compose a Slack digest and post it via Slack's Send a Message to slack_channel. Use Slack Block Kit. Start with a header block like ":zap: Intent spikes for {today's date} — {N} accounts above score {score_threshold}". Then one section block per account with: the company name (linked to its HubSpot record if matched, otherwise to its ZoomInfo URL), the intent topic(s) and score, the 2 to 3 named decision-makers with title and email, and a one-sentence "Why now" reason written from the topic + score (e.g. "Score 82 on Workflow Automation, up from baseline last week"). Use a divider between accounts. If an account is net-new to HubSpot, prefix it with a "NEW" badge so it stands out.

Step 5: For every account that did match a HubSpot company, use HubSpot's Create Task to create a follow-up task on that company record. Subject: "Intent spike: {topic} — score {score}". Body: include the named decision-makers (name, title, email) and the same "Why now" sentence used in Slack. Set the task due date to today, priority HIGH, status NOT_STARTED. Associate the task with the company record. If the HubSpot company has an owner, assign the task to that owner; if not, leave it unassigned and append "(unassigned — needs routing)" to the Slack line for that account.

If Search Intent returns zero qualifying accounts, post a single short Slack message in slack_channel that says "No accounts crossed the intent threshold today." rather than an empty digest. Do not create any HubSpot tasks in that case.

Be defensive: dedupe accounts if the same company spikes on multiple topics (group all topics under one block in Slack and one task in HubSpot). Cap decision-makers to 3 per account in the Slack message even if Get Contact Recommendations returns more. Handle ZoomInfo rate limits with retry/backoff.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredTurn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe reveals