Turn champion job changes into new pipeline in Attio

By General Input

Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.

Integrations

  • Boomerang
  • Attio
  • Slack Bot

Type

Agentic Task

Categories

  • Sales

Every Monday at 7am, check whether my past champions and closed-won contacts have moved to a new company, and turn each move into pipeline.

Start in Attio. Read the people on my "Champions" list with List Entries, then load each parent person record with List Records or Get a Record so you have their name, LinkedIn profile URL, the company they are currently linked to, their job title, and the account owner. Keep only the people we have not checked in the last 28 days, reading that from a date attribute on the person record such as "Last job change check", and treat a missing value as never checked. Sort the oldest checks first so nobody starves at the bottom of a long list.

Before submitting anything to Boomerang, call Get Credit Balance and cap the batch to what the balance can safely cover, leaving headroom rather than spending down to zero. If the balance is too low to run a meaningful batch, skip the enrichment and say so in the Slack digest instead of quietly submitting a partial job.

Build a CSV of the LinkedIn profile URLs for the capped batch and submit it with Submit Profiles Enrichment, which takes the CSV as a file part. Then poll List Requests until the job's status reads exactly "Completed". The only other statuses are "In queue" and "Issue": keep waiting on "In queue", and stop and report the failure on "Issue". When the job completes, pull the output CSV from the signed output URL. That link is time limited, so if it has already expired, re-poll the request to mint a fresh one before downloading.

For every person in the output, compare the employer that came back against the company on their Attio record. Normalize both sides before comparing: lowercase them, strip punctuation and extra whitespace, and drop legal suffixes like Inc, LLC, Ltd, Limited, Corp, Co, GmbH and BV, so that "Acme Inc." and "Acme" are not treated as a move. If a person's enrichment came back empty, skip them and leave their record untouched rather than guessing at a new employer. Never re-flag someone who was already flagged as a mover in the last 90 days.

For every real mover, do four things in Attio. Write a note on the person with Create a Note capturing their old company and role, their new company and role, and a suggested why-now angle for the outreach. Upsert the new employer as a company and re-link the person to it with Assert a Record. Add the person to a "Job changes" list with Create an Entry. Create a task for the account owner with Create a Task, with a deadline dated a few days out so it lands while the move is still fresh.

Then post one digest to Slack with Slack Bot Send a Message, grouped by new employer. Split it into two sections: movers who landed at companies that are already customers or have open deals, which you can work out by querying companies and deals with List Records, and movers who landed at fully net new logos. Lead the digest with the people who moved in the last four weeks, because the first 30 days after a job change is the window where outreach actually lands. For each person include the old company and role, the new company and role, the account owner, and a link back to the Attio record.

Finally, stamp every person you checked on this run with today's date on the tracking attribute, whether or not they turned out to be a mover, so the 28-day slice works properly next week. If the workspace does not already have the tracking attributes, create them once with Create an Attribute: one date for the last check, and one date for when the person was last flagged as a mover.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them