TalentFlow Recruiting Agent
Runs inside Claude Code · JD → Post → Screen → Hire → Report
Live Demo · sample data

The whole system on one screen

Five capabilities, real tools behind each, one Google Sheet as the live database. Click any node to jump to that step.

YOU (in Claude Code)
💬Type a brief "10 sales promoters, hypermarket, Dubai, own visa, immediate"
THE AGENT — 5 capabilities
📝1. Create JD Claude writes the JD + extracts screening criteria Anthropic API · rules fallback
📤2. Post Jobs Posts to Indeed + LinkedIn on your logged-in browser Playwright MCP
📥3. Accept Candidates Pulls from 4 sources, screens & scores every CV Gmail API · folder · WhatsApp · browser
✉️4. Send Project Info Accepts top picks, emails / messages project details Gmail · WhatsApp Cloud · platform DM
📊5. Daily Reports Dashboard + email + WhatsApp recap for the business HTML · Gmail · WhatsApp
SINGLE SOURCE OF TRUTH
🗄️Google Sheet — "Recruiting Pipeline" Tabs: Candidates · Jobs · Log  |  every action read/written here
You trigger Agent capability Data store All browser actions ask for your confirmation and respect daily caps.

Step 1 — Create the job description

You give a one-line brief. The agent writes a polished JD and extracts structured screening criteria used everywhere downstream.

YOUR BRIEF
Sales promoters for hypermarkets in Dubai. Must have sales experience, own UAE visa, immediate joiners. 10 positions.
EXTRACTED CRITERIA
  • Click "Generate JD" to see the must-haves…
GENERATED JOB DESCRIPTION
The formatted JD will appear here…

Step 2 — Post to Indeed & LinkedIn

Claude Code drives your logged-in browser via Playwright MCP. It fills the post, shows you a preview, and waits for your confirmation before submitting.

employers.indeed.com/post-job
Sales Promoter (Hypermarket)
Dubai, UAE
Email (routes to your Gmail intake) ✓
Loading JD…
⚠ Agent will NOT submit until you confirm.
POSTING STATUS
  • Indeed — awaiting confirmation
  • LinkedIn — awaiting confirmation
🛡️ Safety guardrails (always on)
  • Human-paced actions with random 3–10s delays
  • Confirmation required before any post or message
  • Daily caps: LinkedIn 30 msgs · Indeed 60 actions
  • Never auto-solves CAPTCHA / 2FA — pauses for you
Browser automation of Indeed/LinkedIn is against their ToS — used at your own risk. Gmail apply-by-email is the compliant fallback.

Step 3 — Accept & screen candidates

Applicants flow in from four channels. Every CV is parsed, scored against the role's must-haves, deduped, and written to the pipeline.

📧 Gmail
apply-by-email + Indeed/LinkedIn alerts
📁 CV folder
Indeed downloads
💬 WhatsApp
exported CVs
🌐 Browser pull
Indeed/LinkedIn applicants
PIPELINE — auto-ranked
#CandidateScoreTier SalesHyperVisaImm SourceStatus

Step 4 — Accept top picks & send project info

The agent drafts the acceptance + project details, shows you one sample, and only sends after you confirm. Statuses update to info_sent.

PROJECT DETAILS TO SEND
Carrefour, Mall of the Emirates · Shift 9am–6pm, 6 days · AED 3,500 + commission · Start: immediate · Report to: Store Supervisor
RECIPIENTS
  • Choose options and click "Draft & send"…
DRAFTED MESSAGE (preview)

Step 5 — Daily report for the business

One command builds the dashboard, emails it, and sends a short WhatsApp recap. Schedule it to run every morning.

PIPELINE DASHBOARDoutput/pipeline_dashboard.html
DELIVERY
📧 Email — full HTML dashboard to you@company.com sent
WhatsApp · Daily recap
Scheduled: 0 8 * * * python agent.py report — every day 8:00 AM (Asia/Dubai)

What it looks like in Claude Code

The real commands and the agent's responses — the exact experience for the end user. Click play to watch the session.

claude — recruiting_agent

Scope of Work — technical

Everything required to build, run, and ship the agent.