Spot job changes in your open deals every Monday

By General Input

Each Monday at 8am, scan open pipeline deals over your threshold for buyers who switched companies, update HubSpot, assign a follow-up, and post a Slack alert with the deal at risk.

Integrations

  • HubSpot
  • Prospeo
  • Slack

Type

Agentic Task

Categories

  • Sales
  • Operations

Every Monday at 8am ET, run this workflow as an autonomous agent.

Step 1. Pull all open pipeline deals worth chasing using HubSpot Search Deals. Filter to dealstage NOT IN the closed-won and closed-lost stage ids for the relevant pipeline, and amount greater than or equal to a threshold the user sets at setup time (default $25,000). Page through all results. For each deal, capture the deal id, deal name, amount, dealstage label, hubspot_owner_id, and the associated primary contact id.

Step 2. For each deal, fetch the primary contact via HubSpot List Contacts, requesting these properties: firstname, lastname, email, company, jobtitle, hs_lastmodifieddate, and a custom contact property called prospeo_dataset_version if it exists. If a deal has no primary contact, log it and skip the deal.

Step 3. For each contact, call Prospeo Enrich Person using the contact's email as the lookup. Prospeo returns the verified current employer, current job title, and a dataset_version field that bumps when the underlying record is refreshed.

Step 4. Decide whether the contact has actually moved. If Prospeo's dataset_version equals the value previously stored on the HubSpot contact (prospeo_dataset_version), treat the lookup as stale and skip this contact entirely. Do not write back to HubSpot, do not create a task, do not add to the digest. This prevents re-flagging the same person on every run. If the dataset_version is new, compare Prospeo's current company and current title against the company and jobtitle fields on the HubSpot contact. Use agent judgement to decide if the change is meaningful: a new employer is always meaningful; a title change is meaningful when it reflects a real role shift (for example Senior PM to VP Product, or Director Marketing to CMO) but not for trivial reformatting (Sr. to Senior, capitalization differences). If meaningful, treat the contact as moved.

Step 5. For each contact flagged as moved, do all three of the following. (a) Update the HubSpot contact record using HubSpot Update Contact. Set company to the new company, jobtitle to the new title, and prospeo_dataset_version to the new dataset_version from Prospeo. Do not overwrite any other fields. (b) Create a follow-up task using HubSpot Create Task. Assign it to the deal owner (hubspot_owner_id captured in step 1). Subject: 'Re-engage {contact_name}, moved to {new_company}, deal at risk: {deal_name}'. Due date one business day from now. Associate the task with both the contact and the deal. (c) Add the mover to an in-memory digest buffer with contact name, old company arrow new company, old title arrow new title, deal name, deal amount, deal stage, deal owner name, and a HubSpot deep link to the deal record (https://app.hubspot.com/contacts/<portalId>/deal/<dealId>).

Step 6. After processing every deal, post ONE grouped digest message to a revenue Slack channel (for example #revenue or #pipeline-alerts) using Slack Send a Message. The message should lead with a one-line header showing total open deals scanned, total movers found, and total open pipeline dollars at risk (sum of deal amounts for movers). List each mover on its own line in plain English, for example: '{Name} moved from {old_company} ({old_title}) to {new_company} ({new_title}). At risk: {deal_name}, ${amount}, owned by {owner}, {deep link}.' Order movers by deal amount, largest first. Use a friendly, scannable tone, not a robotic table.

Step 7. If zero movers are found, skip the Slack post entirely. Do not send an empty digest. Do not write back to HubSpot for any contact whose data hasn't changed.

Make the deal amount threshold, the open/closed stage ids, the target Slack channel, and the meaningfulness rules for title changes configurable inputs at setup time so a non-technical user can tune them without editing the workflow.

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