Monitor CRM contacts for promotions and company changes
A Claude prompt that scans your existing CRM contacts for the two role-change signals that matter most for re-engagement — promotions and company changes. The output is two short lists: who in your pipeline just got promoted (first-90-days window), and which contacts moved on (your record at their old employer is dead, but the person is alive at a new one).
Once Lusha is connected in Claude, the connector runs in the background — no special syntax needed. Just paste the contact list and run.
Images on this webpage are for illustrative purposes only. Any named individuals shown in live demo outputs are real, with last names abbreviated for privacy.
The prompt
<context>
I have an existing CRM contact list. I want to know which of these contacts had a role change — promotion or company move — in the last 12 months. Both events open a re-engagement window.
</context>
<task>
1. Take this CRM contact list (one row per line, with name and current company):
[PASTE CONTACT LIST]
2. For each contact, run two parallel lookups:
- Signals layer: query Lusha's contact signals (promotion, companyChange) for time-series events in the window
- Contact lookup: query Lusha's contact record for the contact's current jobStartDate and previousJob fields
3. Combine the results. A role change is detected if EITHER:
- The signals layer returned a promotion or companyChange event in the window
- The contact's jobStartDate is more recent than the CRM record's lastUpdated date and the title or company has changed
4. Output a role-change table:
Name | CRM record | Current Lusha record | Change type | Detected by | Signal date | Action
5. Assign a change type per row:
- PROMOTED — same company, new title or expanded scope (re-engage with first-90-days framing)
- MOVED — new company since the CRM record was created (update the row, re-engage at the new employer)
- NO CHANGE — Lusha confirms the CRM record is still current (no action needed)
- NO MATCH — Lusha cannot resolve the contact (re-research or archive)
6. Summarize at the top: total contacts scanned, total promoted, total moved, total no change, total no match.
</task>
<constraints>
- Use two detection paths. The signals layer is a time-series of discrete events; the contact record is the current state. Role changes show up faster in the contact record's jobStartDate than in the signals stream, so check both.
- A PROMOTED row carries the strongest re-engagement signal. Surface the job start date so the rep can time the message inside the first-90-days window.
- A MOVED row is two rows of work — update the CRM (old record is dead) and re-engage at the new employer.
- Do not invent fields. If both detection paths return nothing and the contact's current record matches the CRM, the row is NO CHANGE.
</constraints>What you'll get back
Input: 5-contact CRM list (Brian R. at Snowflake, Tori M. at Notion or Pigment, Sean K. at Datadog, Namrata R. at Notion, Laura F. at DevRev). Window — last 12 months.
Output: 3 role changes detected via the contact-record path, 0 fired in the signals layer for this batch. The page shows both outcomes so the reader understands how the two detection paths complement each other.
| Name | CRM record | Current Lusha record | Change type | Detected by | Signal date |
|---|---|---|---|---|---|
| Sean K. | Datadog (other role) | VP of Enterprise Sales at Datadog | PROMOTED | jobStartDate Jan 20, 2026 | within window |
| Tori M. | Notion (Head of RevOps) | Global Head of RevOps at Pigment | MOVED | jobStartDate 2024 + previousJob field | within window |
| Namrata R. | Notion (Head of Revenue Strategy and Ops) | VP of Revenue Strategy and Operations at Together AI | MOVED | jobStartDate Jan 2025 + previousJob field | within window |
| Brian R. | Snowflake CFO | Snowflake CFO | NO CHANGE | both paths confirmed current | — |
| Laura F. | DevRev Head of RevOps | DevRev Head of RevOps and Strategy | NO CHANGE | both paths confirmed current | — |
Names abbreviated for privacy. Full records — including emails and direct dials — are returned inside your Claude session.
The Sean K. row demonstrates a recent promotion caught by the contact record’s jobStartDate. The two MOVED rows demonstrate the dual benefit: both contacts left the CRM-recorded company over a year ago and now sit at new employers (Pigment and Together AI). The CRM record at the old company is dead; the contact at the new company is callable today.
One credit consumed for the signals-layer scan. The contact-record lookups reused data already verified earlier in the gallery, so the demo burned minimal credits.
Why use Lusha
Contact role changes are the highest-converting outbound signals in B2B. A promoted contact rewrites their stack inside the first 90 days. A contact who moved companies arrives with budget appetite and no allegiance to the predecessor’s vendor list. The catch is detection: the signal has to be caught while the window is still open.
Two detection paths matter, and they read the same world differently. The contact record shows the current state — the title and tenure right now. The signals layer shows a time-series of discrete events tagged with signal dates. The contact record updates as soon as the change is verified. The signals layer indexes events on a separate cadence. The prompt uses both because a freshly promoted contact often shows up in the record path days before they appear in the signal stream.
A MOVED row is two pieces of work. The old CRM record at the previous employer is dead and should be archived or marked stale. The contact at the new employer is callable and often more senior. The prompt surfaces both sides so the CRM gets cleaner and the pipeline gets a fresh thread.
A PROMOTED row is a re-engagement window with a clock on it. The first 90 days of a new title is when budget gets scoped and adjacent vendors get evaluated. Catching a promoted contact in week 3 versus week 13 makes a measurable difference in reply rate. The prompt surfaces the job start date so the rep can time the outreach against the mandate window.
Data drawn from Lusha’s signals and contact layers, built on 300M+ verified contacts under GDPR, CCPA, SOC 2, ISO 27701, ISO 31700, and TRUSTe.
FAQ
How is this different from the re-enrich stale records prompt?
The re-enrich prompt is a hygiene pass on records 12+ months old — it surfaces what changed alongside refreshed fields and adds an action label. This prompt is a targeted signal scan focused only on role changes (promotions and moves) across an active CRM segment. Use the re-enrich prompt for periodic cleanup. Use this prompt for weekly or monthly signal monitoring against an active pipeline.
Why does the prompt check two paths?
The signals layer is a time-series of discrete events with signal dates. The contact record is the live current state. A role change can show up in the contact record’s job-start-date field before it appears as a signal event in the time-series stream, because the two layers refresh on different cadences. Checking both catches role changes faster.
What if the signals layer returns nothing but the contact record shows a recent change?
Trust the contact record. The job-start-date and previous-job fields on the live contact record are the source of truth for current state. The signals layer adds confirmation and signal dates when events have been indexed — useful for downstream automation but not required for the role-change detection itself.
Can the prompt distinguish a real promotion from a lateral move or reorg?
Yes. The prompt compares the title and company before and after. Same company plus title change is a promotion. Different company is a move. Same company plus same title is no change. Reorgs that keep the title intact will not flag — by design, since they do not typically open a buying window.
How many contacts can the prompt scan in one run?
Up to 100 per call. For larger CRM segments, batch by owner or territory.
Will the prompt catch contacts who left the workforce entirely?
The contact lookup returns no current employment for someone who left the workforce — the row is flagged NO MATCH. Three common causes: retirement, sabbatical, or moving to a role too small to be in the verified contact base.
Ready to build this?
Get started with Lusha and set up this play in minutes.