Catch HubSpot champion job changes every Monday

Every Monday morning, see which of your HubSpot champions changed jobs, update their record, assign a follow-up, and post a digest to Slack.

Agentic Task
HubSpotWaterfall.ioSlackSalesOperationsNotifications & AlertsLead EnrichmentData Sync
PromptCreate

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

Step 1. Pull every HubSpot contact flagged as a champion using HubSpot Search Contacts. The champion signal is a custom property like is_champion equals true. If that property does not exist, fall back to lifecyclestage equals customer with a specific tag, or membership in a 'Champions' static list. Page through all results so no contact is missed. For each contact, capture the HubSpot contact id, full name, email, current company, current job title, and the account owner id.

Step 2. For each champion, call Waterfall.io Job Change Detection with their email and current company. This endpoint is synchronous and returns a status of moved, left, no_change, or unknown plus an updated profile snapshot with the new company and title when applicable.

Step 3. For contacts whose status comes back as moved, do all three of the following: (a) Update the HubSpot contact record using HubSpot Update Contact, setting the company field to the new company name and jobtitle to the new title. Do not overwrite any other fields. (b) Create a follow-up task using HubSpot Create Task. Assign it to the original account owner (hubspot_owner_id) captured in step 1. Subject: 'Reach out, champion moved to {new_company}'. Due date one business day from now. Associate it with the contact. (c) Add the mover to an in-memory digest buffer with: name, old company, new company, new title, and a HubSpot deep link to the contact record (https://app.hubspot.com/contacts/<portalId>/contact/<contactId>).

Step 4. For contacts whose status is no_change or unknown, skip them entirely. Do not write back to HubSpot, do not create a task, do not add them to the digest.

Step 5. After processing every champion, post ONE grouped digest message to the #champion-moves Slack channel using Slack Send a Message. The digest should: lead with a one-line header showing total champions checked and number of movers found; list each mover on its own line with name, old company arrow new company, new title, and the HubSpot deep link; order movers by likely value (use agent judgment, for example champions moving into ICP-fit companies, larger orgs, or named target accounts go to the top); be written in plain English with a friendly tone, not a robotic table.

Step 6. If zero movers are found, skip the Slack post entirely. Do not send an empty digest.

Make the champion-identifier signal, the Slack channel, and the ICP-fit criteria configurable inputs at setup time so a non-technical user can tune them without editing the workflow.

What does this prompt do?

  • Checks every HubSpot contact you flag as a champion to see if they moved to a new company.
  • Updates the contact record with the new company and job title, and assigns a follow-up task to the original account owner.
  • Posts one grouped digest to your champion moves Slack channel with each mover's name, old company, new company, new title, and a link to the HubSpot record.
  • Skips anyone whose job status has not changed, so the channel only lights up when there's a real warm intro to chase.

What do I need to use this?

  • A HubSpot account with a way to mark champions (a custom property like is_champion, a static list, or a lifecycle stage tag).
  • A Waterfall.io account with an API key for job change detection.
  • A Slack workspace with a channel where the weekly digest should land.

How can I customize it?

  • Change the schedule, daily, twice a week, or the first Monday of every month.
  • Adjust how you define a champion, by custom property, static list, or lifecycle stage.
  • Pick the Slack channel and tweak the digest tone, ordering rules, or fields shown for each mover.

FAQs

How does it know who my champions are?
It reads from HubSpot using whichever champion signal you already use. That can be a custom property like is_champion equals true, membership in a 'Champions' static list, or a specific lifecycle stage. You tell the workflow which signal to use during setup.
What happens if a champion has not changed jobs?
Nothing. We skip contacts whose job status comes back as unchanged or unknown, so the Slack digest only fills up with real movers and your CRM is not touched.
Does it create a follow-up automatically?
Yes. For each mover, the workflow creates a HubSpot task assigned to the original account owner with a subject like 'Reach out, champion moved to Acme'. The owner sees it in their task queue the same day.
How are movers prioritized in the digest?
The agent ranks movers so the highest-value ones surface first, for example a champion moving into an ICP-fit company or a named target account, and writes the recap in plain English instead of a robotic table.
Can I run this more often than weekly?
Yes. Change the trigger to daily or any cadence you want. Most teams pick weekly because job changes are relatively rare and weekly keeps the signal high.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Win back LiveChat visitors whose chats went unanswered

Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.

LiveChat
Gmail
Slack
Agentic Task
Turn Mailjet email clicks into ranked HubSpot follow-ups

Twice a day we spot the people clicking your pricing and demo pages, create a follow-up task for their owner, and post a ranked recap to Slack.

Mailjet
HubSpot
Slack Bot
Agentic Task
iMessage campaign console with pre-flight checks and delivery board

Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.

LoopMessage
Google Sheets
HubSpot
App
Chat quality review board for LiveChat support leads

Score last week's finished live chats against one rubric, let an AI grader draft the notes with quotes, and send coaching straight to the agent.

LiveChat
Slack
General Input Database
App
A searchable RFP answer library your bid team drafts from

Every proposal you have ever submitted in one searchable archive, with the closest past answers lined up against each question in a new RFP.

General Input Storage
General Input Database
Mistral AI
+2
App

Turn customer job changes into your next deal.

Connect HubSpot, Waterfall.io, and Slack once, and Geni catches champion moves for you every Monday morning.