ooligo
n8n-flow

Candidate engagement sequence with n8n

Difficulty
intermediate
Setup time
75min
For
recruiter · sourcer · talent-acquisition
Recruiting & TA

Stack

An n8n flow that runs multi-touch outreach sequences against passive candidates and previously-rejected candidates — picking up where they left off, personalizing the next message, and routing replies back to the right recruiter. Replaces the typical “we forget about candidates after one outreach” pattern with sustained pipeline-building.

What you’ll need

  • n8n self-hosted or cloud account
  • Recruiting CRM or ATS API access — Gem, Ashby, Greenhouse, or Lever
  • Email infrastructure — Gmail/Workspace, or dedicated outreach domain with deliverability infrastructure
  • Claude API key for personalization
  • Postgres or similar for sequence-state tracking

Setup

  1. Define the sequence library. 3-5 named sequences in Postgres: “passive-engineer-3-touch”, “previously-rejected-12mo-recheck”, “talent-pool-quarterly-touchpoint”, etc. Each defines: trigger condition, message templates, intervals, exit conditions.
  2. Build the n8n flow. Eight nodes:
    • Cron trigger — runs daily at recruitment-friendly send time
    • Sequence query — pulls candidates due for next touch from Postgres
    • ATS data enrichment — pulls latest candidate data from Ashby (recent activity, current status, last interaction)
    • Skip-condition check — exclude candidates who replied since last touch, who applied recently, who explicitly opted out
    • Claude personalization — generates the next-message body personalized to the candidate
    • Email send — through Gmail API or outreach platform
    • Sequence-state update — Postgres update with last-touched timestamp, next-due timestamp
    • Reply detection — checks Gmail for replies; routes to the assigned recruiter in Slack with the reply context
  3. Test sequences on small batches. Run on 20-30 candidates per sequence; verify content quality and routing. Tune sequence intervals and personalization prompt.
  4. Establish opt-out infrastructure. Every email includes one-click unsubscribe; opt-outs honored across all sequences.

How the routing works

Sequence triggerCadenceExit condition
Passive candidate showed signal (job-change, mentioned in funding news)3 touches over 21 daysReply, application, opt-out
Previously rejected, 12 months ago, role still relevantSingle re-engagement touchReply, application, opt-out
Talent pool member, no recent contactQuarterly touch with relevant contentApplication, opt-out
Final-round-rejected, high quality, related role opensSingle targeted touchReply, application, opt-out

Output

For each touched candidate:

  • Sent message — personalized email with appropriate subject line, body referencing the candidate’s actual context
  • Sequence-state log — record of the touch (which sequence, which message in sequence, send timestamp)
  • Reply notification — when the candidate replies, Slack notification to the assigned recruiter with the reply context and suggested next action

Where it fits

This flow is the operational layer of long-cycle talent pipelining. Without it, candidates touched once typically go silent forever. With it, the pipeline maintains warmth across months and years — producing inbound application flow when the right role opens.

Mature recruiting organizations report 15-30% of senior hires originating from re-engagement of previously-touched candidates, attributable to sustained-engagement infrastructure like this.

Watch-outs

  • Deliverability matters. Bulk outbound from a single domain destroys deliverability fast. Use proper outreach infrastructure (dedicated domain, warm-up, SPF/DKIM/DMARC). Better to under-send than to burn deliverability.
  • Personalization quality matters. Generic AI-personalized outreach reads as obviously AI-generated. The personalization needs real candidate-specific context, not pattern-matched filler.
  • Opt-out handling is non-negotiable. Every message must include one-click unsubscribe; opt-outs respected across all current and future sequences. CAN-SPAM, CASL, GDPR all require this.
  • Don’t auto-send to replied candidates. Reply detection is critical — sending the next sequence message to a candidate who already replied is the worst possible CX failure.
  • Recruiter review on high-value candidates. For senior roles or high-priority talent pools, recruiter reviews and approves each message rather than auto-sending.
  • Frequency caps. Same candidate should not appear in multiple active sequences simultaneously. Cap rules in the sequence-state logic.

Files in this artifact

Download all (.zip)