Send hot Hightouch leads to the right AE in Slack hourly

Every hour during business hours, DM each AE the freshly qualified contacts from your lead-scoring sync, with a tailored opener for each one.

Agentic Task
HightouchHubSpotSlack BotSalesOperationsLead EnrichmentNotifications & Alerts

Every hour during business hours (9am to 6pm in my local timezone, Monday through Friday), watch my Hightouch lead-scoring sync into HubSpot and route freshly activated high-intent contacts to the right account executive in Slack with a personalized opener.

Step 1. Use Hightouch's List Syncs to find my lead-scoring sync by name or slug (default: 'lead_score_to_hubspot'). Make the sync name or slug a configurable input.

Step 2. Use Hightouch's List Sync Runs for that sync to look at the most recent successful run. If no new successful run has completed since the last time this workflow executed, exit quietly with no Slack messages. Otherwise note the run's startedAt, finishedAt, and the rows-added count.

Step 3. If new rows were pushed in that run, use HubSpot's Search Contacts to fetch contacts where hubspotscore is greater than or equal to a configurable threshold (default 80) and lastmodifieddate is between the run's startedAt and finishedAt. Return useful properties: firstname, lastname, company, jobtitle, hubspotscore, hubspot_owner_id, and any signal properties I track (recent_form_submission, recent_page_views, last_demo_request, etc.).

Step 4. For each unique hubspot_owner_id, use HubSpot's Get Owner to look up the AE's name and email. Group the qualified contacts by owner.

Step 5. For each owner with at least one new hot lead, use Slack Bot's Open a Conversation to start or resume a DM with that AE (resolve by email), then use Slack Bot's Send a Message to send a compact list of their new leads (contact name, company, score, key signals) plus a 2-3 sentence draft opener tailored to what tipped the score (recent demo request, pricing page visits, job change, etc.). Skip any owner with no new leads so we never spam.

Step 6. After all DMs are sent, use Slack Bot's Send a Message to post a single summary in a shared revops Slack channel (configurable, default #revops) listing how many leads went to which AE so the team has a paper trail.

Make these configurable inputs: the Hightouch sync name or slug, the score threshold, the business-hours window and timezone, the revops summary channel, and an optional override map from HubSpot owner email to Slack user ID for AEs whose work email differs from their Slack email.

Additional information

What does this prompt do?
  • Watches your lead-scoring sync from your warehouse into HubSpot and catches the moment a contact crosses your high-intent threshold.
  • Groups newly qualified leads by their HubSpot owner and DMs each AE in Slack with the contact, company, score, and a 2-3 sentence draft opener.
  • Skips AEs with no new leads so nobody gets spammed, and drops a clean tally in your revops channel so the team has a paper trail.
What do I need to use this?
  • A Hightouch workspace with a lead-scoring sync that pushes warehouse scores into HubSpot.
  • A HubSpot account where your AEs are set as contact owners.
  • A Slack workspace where the bot can DM your AEs and post in a shared revops channel.
How can I customize it?
  • Tune the score threshold (e.g. only 80+) and the style of the draft opener so it sounds like your team.
  • Change the cadence and business-hours window so AEs only get pinged when they are actually working.
  • Pick which Slack channel gets the team-wide summary, or turn the summary off entirely.

Frequently asked questions

Does this work if my AEs are not already set as contact owners in HubSpot?
Each lead is routed by its HubSpot contact owner, so if an AE is not a HubSpot user with contacts assigned to them, they will not get pinged. Make sure ownership is set in HubSpot first.
How does it know which leads are freshly qualified versus old ones?
It looks at your lead-scoring sync for runs that finished since the last check, then pulls only the contacts whose score is above your threshold and whose record was touched inside that run window. Older qualified leads do not re-fire.
Will my AEs get pinged again if the same contact keeps qualifying?
Each run only looks at contacts updated in the latest sync window, so a contact only re-pings when their score actually moves again. Idle records stay quiet.
Can I customize what the draft opener says?
Yes. The opener is a starting point, and you can teach the workflow which signals matter most (pricing-page visits, demo requests, role changes) so it leads with the right hook.
What happens during an hour when no leads qualify?
The workflow exits silently and nothing is posted. AEs only hear from it when there is something actually worth their time.

Stop letting hot leads cool off in a sync log.

Connect Hightouch, HubSpot, and Slack once, and Geni routes each newly qualified lead to the right AE during business hours.