Quick overview
For B2B sales and customer success teams. Catches when past customers change jobs from Gmail bounces and auto-replies, confirms the move with Apollo and an AI agent, scores it, and alerts the right rep in Slack with evidence, a new email and a draft opener.
How it works
- Every morning it reads your champions from Google Sheets and scans Gmail for bounced emails and "no longer with the company" auto-replies. A monthly sweep also checks a third of the list, so everyone is checked once a quarter.
- Each person with a signal is looked up in Apollo within a monthly credit budget you set, with a Slack warning at 80%. Results are reused for 14 days and phone numbers are never requested.
- An AI agent weighs the evidence and decides: confirmed move, [VERIFY] (a signal but no new role yet) or no change, and writes a short draft opener. A confirmed move must match what Apollo returned, so text in an email can't trick it.
- Confirmed moves are scored on the person's role, the personas you care about, seniority, account status (customer, open deal or lost deal), ICP fit and how recently they started.
- Each move is posted to Slack, @mentioning the account owner and cc'ing the champion's old rep, with the evidence, score, new work email and draft opener. Optionally, Hunter fills in missing emails.
- Every other Monday a digest of confirmed moves and open [VERIFY] cases goes to Slack. [VERIFY] cases are rechecked automatically every 30 days.
- A webhook turns email opens, clicks, replies and website visits from a moved champion's new company into "call now" alerts. Nothing is ever sent to a champion automatically.
Setup
- Create a Google Sheet with a Champions tab and a Customers tab. The columns are listed in the main sticky note, which also links a ready-made template.
- Add credentials: Google Sheets, Gmail, Slack, your AI model (Anthropic by default), and a Header Auth credential for Apollo with the name x-api-key.
- Fill in the Config node: sheet ID, Slack channel, Apollo monthly budget, a short description of your product and ideal customer, your personas, and a team directory with Slack member IDs for @mentions.
- Put a contact ID in Test Contact, run Test One Person and check Slack. When it looks right, publish the workflow.
- Optional: add a Hunter credential (X-API-KEY) and set find_new_emails to true. For "call now" alerts, add a Header Auth credential on the Engagement Webhook and point your email and website tracking tools at its URL.
Requirements
- n8n with Data Tables (built and tested on n8n 2.44)
- Apollo account with API access (it only charges a credit when it finds someone)
- Google Sheets, Gmail and Slack
- An AI model that supports tool calling (Anthropic by default; OpenAI, Gemini, Mistral and Ollama also work)
- Optional: Hunter, to find new work emails Apollo doesn't have
Customization
- Personas: give the roles you care about (for example UX researchers) more points than seniority alone.
- Scoring: every weight and the Hot / Warm thresholds can be changed in Config.
- Opener style: add house guidelines so every draft sounds the same.
- AI model: swap the Chat Model node for any provider.
- Full version: a lookup waterfall (Apollo, Clay, People Data Labs), Salesforce, Salesloft and plug-in connectors for any CRM, open source at https://github.com/sid-sawant-duke/valari