Home/Agents/Recruiter
Recruiter Copilot · Production · v3.1

AI recruiter that sources, drafts, schedules — and bills only when a candidate moves.

Three agents working as one: a sourcer that pulls from LinkedIn + Greenhouse, a drafter that writes outreach in your voice, and a status-keeper that nudges stalled candidates. Built on Claude Haiku for ranking + Sonnet for writing. You pay $25 per intro accepted, $75 per interview scheduled, $500 per hire — and nothing for the runs in between.

  • $500per hire
  • $75per interview
  • $25per intro accepted
  • $0for every other run
How it runs

The loop, end to end.

01

Source

Given a JD, the sourcer pulls candidates from LinkedIn, Greenhouse, and your ATS. Claude Haiku ranks them 0–100 on relevance to the JD. Top 20 surface to the next step.

02

Draft

Claude Sonnet drafts a personalized outreach email + LinkedIn DM in your tone. Pulls from your past outbound to match voice. Stops below 150 words — no LinkedIn-spam patterns.

03

Approve

Draft + candidate context lands in WhatsApp. Reply 1 to send, 2 to edit, 3 to skip. Or auto-send if you set the agent to autonomous mode. Every decision is hash-chained.

04

Follow up

Status-keeper agent runs daily. Nudges candidates who haven't replied at 3/7/14 day intervals. When they reply, classifies intent and routes to scheduling — Calendly, Cal.com, or Google Calendar.

Inside the agent loop

The tools Claude actually calls.

→ tool_use: linkedin.search_candidates(jd_id='42d8', limit=200)
← 187 candidates returned
→ tool_use: claude_haiku.rank(candidates=187, criteria='senior_backend_eu')
← top 20 returned, cost $0.0023
→ tool_use: greenhouse.enrich(linkedin_ids=[...20])
← past application history merged for 6/20
→ tool_use: claude_sonnet.draft_email(candidate_id='c_8a3f', voice_sample='outbound/jan')
← draft generated, 142 words, cost $0.014
→ tool_use: twilio.whatsapp_approval(to='+1...', preview=draft, candidate=summary)
← user reply '1' received
→ tool_use: gmail.send(to='c_8a3f', body=draft, thread=null)
← message_id 'gm_7f2c'
→ tool_use: outcome_ledger.record(event='intro_sent', value=0)
→ tool_use: audit_chain.append(event='gmail.send', actor='agent.recruiter', tenant='cust_482')

Real tool-call sequence from a recent production run. Names redacted.

Integrations included

Native MCP. No custom wrappers.

  • LinkedIn Recruiter / Sales Navigator
  • Greenhouse
  • Lever
  • Ashby
  • Gmail / Google Workspace
  • Outlook / Microsoft 365
  • Calendly / Cal.com / Google Calendar
  • Slack (approval routing)
  • WhatsApp Business API
  • Twilio voice (callbacks)
  • Notion (notes sync)
  • Custom ATS via webhook
What this agent will NOT do
  • Conducting interviews (we ship the schedule + brief; humans interview)
  • Reference checking via voice (use voice agent for this — separate billing)
  • Compensation negotiation (compliance / liability reasons)
Before · After

Your recruiter-agent process, redrawn.

Before

Manual sourcing: 7 steps, weeks per hire

  1. 01
    Hiring manager writes JD, forwards to recruiter
    👤 Hiring manager · 1 day
  2. 02
    Recruiter searches LinkedIn manually
    👤 Recruiter · 3 hrs
  3. 03
    Reviews profiles one by one, shortlists 20
    👤 Recruiter · 2 hrs
  4. 04
    Writes personalized outreach for each
    👤 Recruiter · 4 hrs
  5. 05
    Sends via LinkedIn + Gmail
    👤 Recruiter · 1 hr
  6. 06
    Chases non-responders at 3 / 7 / 14 days
    👤 Recruiter · 2 hrs
  7. 07
    Books calls with responders, prep hiring manager
    👤 Recruiter · 2 hrs
Total time
2–3 weeks / role
Handoffs
3
Humans
3
After · with rpa-automate

Agentic sourcing: 4 steps, hours per intro

  1. 01
    JD in → agent sources from LinkedIn + Greenhouse + ATS
    🤖 Recruiter agent · 3 min
  2. 02
    Claude Haiku ranks 200 candidates → top 20 surface
    🤖 Recruiter agent · 45 sec
  3. 03
    Claude Sonnet drafts personalized outreach in your voice
    🤖 Recruiter agent · 2 min
  4. 04
    WhatsApp approval → send → status-keeper follows up daily
    🤖 You + agent · 1 tap
Total time
Hours per intro accepted
Handoffs
1
Humans
1
ROI · recruiter-agent

Do the math with your numbers.

candidates
$

Model assumes 30% of outreach lands an accepted intro (industry median for well-targeted campaigns).

In-house monthly cost
$6,000
100 × $60
With rpa-automate
$750
30 × $25.00 per intro accepted
You save
$5,250
88% cheaper / month

Assumes linear scaling and no ramp-up. Real deployments hit steady-state around week 3–4. Outcome yield modeled at 30% — override at the audit call if your data suggests different.

Also see: Automate Candidate Sourcing — the same math from a process-first angle, for buyers thinking "we need to fix our candidate sourcing process" before shopping for an agent.

FAQ

How do you measure 'intro accepted'?

When the candidate replies positively to the outreach email — defined as: replies in-thread, mentions interest, books a call link, or asks for more info. The agent classifies the reply with Claude Sonnet and records the outcome. False positives are reviewable in the run console — and if you dispute one, we refund it within 7 days.

What if the candidate says no?

No outcome is recorded. No charge. The status-keeper agent moves them to a 6-month nurture cadence (unless you opt out) and tries again on a future role.

Will candidates know it's AI?

Drafts are written in your voice and reviewed by you before sending (unless you enable autonomous mode). Most candidates can't tell. We do not impersonate you in voice or video — only text.

How is this different from Sense, Findem, or Gem?

Sense and Findem are sourcing platforms — you operate them. Gem is a CRM. We're an agent that does the work end-to-end: source, draft, send, follow up, schedule. And you only pay on outcomes, not seats. See /vs/sierra and /vs/lindy for direct comparisons against the agentic competitors.

Do you work for agencies?

Yes. Multi-tenant by default — every search is scoped to your client_id and never crosses tenants. The audit chain proves it. Agencies typically run 1 agent per active search.

Want to see it run on your data?

A $0 outcome audit takes 3 minutes. We'll show you the outcome math, the integrations, and what week-one looks like — with your real systems.

Book the audit →