Prompt

Find promotions and work the seat they left

Tools: ClaudeLusha

Outputs on this page come from a live run on September 11, 2026. Contact and company names are masked to initials. No emails or phones were revealed.

Promotion and company change are the two contact signals in the Lusha plugin for Claude, alongside the 24 company signals. They fire on people, not accounts, so the input is your CRM contact list, and the output is who to congratulate and who to introduce yourself to.

The prompt

Check my contact list for promotions and tell me which seats just opened up.

Before anything else, run account_usage and tell me my remaining credits. Do not run any signal call if fewer than 50 credits remain; stop and tell me.

Here is my list (one per line: LinkedIn URL, or full name plus company domain):
[PASTE UP TO 25 CONTACTS]

Customer domains (or write "none"):
[PASTE]

Steps:
1. Run signals_contacts_search on the list with signalTypes ["promotion", "companyChange"], startDate 180 days ago, maxResultsPerSignal 2. Batch in groups of 25 if the list is longer. Report any contact that comes back NOT_FOUND so I can fix the identifier.
2. For every contact with a signal, pull the signal date, previous title, current title, previous company and current company.
3. Classify each hit:
   PROMOTED IN PLACE if there is a promotion with no company change. The seat they left is open at the same company.
   MOVED UP AND OUT if a promotion and a company change share the same date. They took a bigger title at a new company; the seat they left is open at the old company.
   MOVED LATERALLY if there is a company change with no promotion.
4. Classify timing from the signal date: FRESH under 30 days, WINDOW 30 to 90 days, OLDER past 90.
5. For PROMOTED IN PLACE and MOVED UP AND OUT, run prospecting_contact_search with enrich set to false for the previous title at the company where the seat opened (same company for in place, previous company for up and out). Use jobTitlesExactMatch first; if nothing returns, retry with the similar title option. Return the name and title of whoever now holds it, or say "not yet backfilled" if nobody does.
6. Tag customers as CHAMPION CHECK (a promoted contact at a customer may have handed your account to someone else) and everyone else as NEW LOGO.
7. For the top 5 hits, write two lines: a congratulation to the promoted contact for FRESH hits (no pitch), and an introduction line to the person who took their old seat that references the team change without naming the promoted person.

Output: one table with columns Contact | Previous title | Current title | Company | Type | Timing | Seat backfilled by (title) | Segment. Then two lines: what the classification is based on, and credits used. Do not reveal any emails or phones in this run.

What you get

The situation. A stand in for a CRM export: 25 sales leaders (CRO, VP Sales, Head of Sales, Director of Sales) across 20 B2B software companies, pulled with a one credit preview. No customer domains supplied.

The run. account_usage first, at zero credits. Then one batch call on 25 contacts for promotion and companyChange, 180 day window, two events per type. 2 of 25 fired, 3 signal events, 3 credits. Both signal dates fell on the first of a month.

What came back.

ContactPrevious titleCurrent titleCompanyTypeTimingSeat opened atSegment
L.O.Regional Sales Manager (at S.F., CRM platform)Senior Sales DirectorB.Z. (customer engagement platform, ~1,700 emp)MOVED UP AND OUTWINDOW (72 days)S.F., the previous companyNEW LOGO
M.R.(not returned)Area Vice President of SalesB.Z.MOVED LATERALLY, from C.T. (mobile marketing)OLDER (133 days)C.T., the previous companyNEW LOGO
23 contactsno signal

 

The two lines for L.O. To the promoted contact: “Congratulations on the step up to Senior Sales Director. No ask; just glad to see it.” To whoever took the regional manager seat at the previous company: “I understand the regional sales seat changed hands over the summer. Happy to bring you up to speed on what the team had been looking at, if useful.”

Classification based on whether the promotion and the company change share a date. Credits used: 3, plus 1 to build the list. Confirmed live via Lusha connector, September 11, 2026. Names masked.

What happens next. For MOVED UP AND OUT, there are two plays to run, not one. The promoted contact at the new company is a job change outreach case: they know you, the new account does not. The open seat at the old company is the multi thread case, and step 5 of the prompt finds who filled it. For PROMOTED IN PLACE, both happen at the same company: congratulate up, introduce yourself down. For customers, a promotion is a champion check; the person who ran your account may have handed it to someone who has never heard of you.

Why use Lusha in Claude

Every sales team congratulates promotions when they happen to notice them. Almost none go back to the seat that opened, and that seat is where a new person is building their list of vendors from nothing. This play makes the second half automatic: the signal finds the move, the prompt works out which building the open seat is in, and a preview search names who sits in it now, before any credit is spent on contact details. It runs on your own contact list, so every hit is someone with a history in your CRM, and the promoted person is a warm path to their replacement. Every signal is sourced under Lusha’s data methodology and compliance framework.

FAQ

What counts as a promotion?

A rise in seniority level for a known contact between two readings, with the previous and current title and the signal date. The plugin also returns a company change when the employer differs, and the two can share a date.

Why separate promoted in place from moved up and out?

Because the open seat is in a different company. In place, you multi thread the same account. Up and out, you have two accounts: the old one with an empty seat and the new one with a contact who already knows you.

How do I feed it my CRM contacts?

Export LinkedIn URLs where you have them, otherwise full name plus company domain. Emails work too. Batch in 25s. A contact that returns NOT_FOUND usually has a stale company field; that is the contact to check first, since moving is the thing you are looking for.

How often should I run it?

Monthly, on the full list. The reading cycle is monthly, so weekly runs return the same result and spend the same credits.

Does this spend credits?

One credit per signal event returned; in the live run, 25 contacts cost 3 credits. The backfill preview in step 5 runs with enrich set to false, so it costs 1 credit per 25 results and reveals nothing. account_usage runs first and the prompt stops under 50.

Is contacting the replacement compliant?

The backfill search returns a business title at a business address, previewed and not revealed. Reaching out runs through the standard verified contact flow. The prompt does not reveal an email or phone; that happens in the next step, under the standard rules.

Ready to run this?

One data connection. Works in Claude, ChatGPT, your CRM, or any agent you build.