Weekly Datagma job change watch for HubSpot champions

Every Monday, scan your HubSpot champions and customer contacts for new jobs, refresh their records, and get one ranked Slack briefing of the moves worth chasing.

Agentic Task
HubSpotDatagmaSlackSalesOperationsNotifications & AlertsLead EnrichmentResearch & Monitoring

Every Monday at 8am ET, run this as an autonomous agent that watches my tracked HubSpot contacts for job changes and posts one ranked Slack briefing to my account team.

Step 1. Use HubSpot Search Contacts to pull every contact I track. The tracked signal is configurable at setup, typical options are a custom boolean property like is_champion equals true, membership in a static list such as Champions or Decision Makers, or lifecyclestage equals customer. Page through all results. For each contact capture the HubSpot contact id, full name, email, LinkedIn URL if present, the company and job title currently stored on the record, and the hubspot_owner_id.

Step 2. For each contact, call Datagma Enrich Person or Company to read their current employer and title. Prefer the LinkedIn URL as the lookup input when available, otherwise fall back to email. Use the global Enrich endpoint, not the regional Detect Job Change endpoint, so coverage is not limited to France, Spain, Italy, and Germany. From the response, read the current company name, current job title, and any company signals you can use later for ranking such as employee count, industry, and domain.

Step 3. Compare Datagma's current employer and title against what HubSpot has on file. Treat the contact as a mover only when the current company differs from the stored company, or the current title differs in a meaningful way (a real role change, not just a capitalization or punctuation diff). Skip contacts whose company and title still match. Skip contacts that Datagma could not match (Datagma signals this with code 5 in the response body, even on a 200 OK).

Step 4. For each mover, call HubSpot Update Contact to set jobtitle to the new title and write the current date into a job_change_detected_at custom property. Do not overwrite the company field automatically, and do not touch any other property. Add the mover to an in-memory briefing buffer with: full name, old company, new company, old title, new title, HubSpot deep link (https://app.hubspot.com/contacts/<portalId>/contact/<contactId>), the account owner, and the company signals from step 2.

Step 5. Use agent judgement to rank movers by likely revenue impact. Higher rank when the new employer looks like a named target account or an ICP-fit company (use industry, headcount, and any target-account list configured at setup). Flag the move as an expansion opportunity when the new employer is itself an active customer. Flag the move as a churn risk when the contact is a decision-maker or champion at an active customer who just left for a new employer. Otherwise treat it as a warm intro opportunity at the new company.

Step 6. Post ONE consolidated message to the configured Slack channel using Slack Send a Message. The briefing should lead with a one-line header (contacts checked, movers found), then list each mover on its own block ranked highest value first, with name, old company arrow new company, new title, the warm intro / expansion / churn-risk flag, a one-sentence why-this-matters note tailored to that move, and the HubSpot deep link. Tag the original account owner inline so it routes naturally. Write in plain, friendly English, not a robotic table.

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

Make the tracked-contact signal, the Slack channel, the named target account list, and the active-customer definition configurable inputs at setup so a non-technical user can tune them without editing the workflow.

Additional information

What does this prompt do?
  • Pulls your tracked HubSpot contacts: champions, decision-makers, and active customer contacts, along with the company and title you have on file.
  • Looks up each person's current employer and title using Datagma so you catch moves usually within a week or two of the LinkedIn update.
  • Updates the HubSpot record with the new title and a job-change-detected timestamp whenever the current employer or title no longer matches what you have stored.
  • Posts one Slack briefing each Monday, ranked so the highest value warm intros, expansion plays, and churn risks sit at the top with a short note on why each move matters.
What do I need to use this?
  • A HubSpot account with a way to mark tracked contacts (a custom property like is_champion, a static list of decision-makers, or an active-customer lifecycle stage).
  • A Datagma account with an API key for person and company enrichment.
  • A Slack workspace and the channel where the account team should get the Monday briefing.
How can I customize it?
  • Change the schedule, from weekly Monday morning to daily, twice a week, or the first Monday of every month.
  • Adjust which contacts get tracked, by custom property, static list, lifecycle stage, or any combination.
  • Tune the ranking rules and the Slack channel, including what counts as a target account, an expansion play, or a churn risk.

Frequently asked questions

Which contacts does it watch?
Whichever contacts you tag in HubSpot as worth tracking. Most teams use a mix: champions you stay close to, decision-makers at active customers, and named buyers at top target accounts. You tell the workflow which signal to use during setup.
How fresh are the job changes?
Datagma typically picks up a job change within one to two weeks of the person updating their LinkedIn profile, so the Monday briefing catches recent moves while they are still warm.
What does the Slack briefing look like?
One consolidated message, not a flood. It leads with how many contacts were checked and how many moved, then lists each mover ranked by likely value with their old company, new company, new title, and a one-line note explaining whether it looks like a warm intro at a new target, an expansion opening, or a churn risk.
Will it overwrite my HubSpot data?
Only the job title and a job-change-detected timestamp on contacts that actually moved. The agent leaves every other field alone, and it skips contacts whose current employer and title still match what you have on file.
What if nobody moved that week?
You get no Slack noise. The briefing only posts when there is at least one real mover, so the channel stays high signal.

Stop missing the moment your champions change jobs.

Connect HubSpot, Datagma, and Slack once, and Geni delivers a ranked job-change briefing to your account team every Monday morning.