1. Bulk sourcing & screening against a client req
A client sends a role and a stack of applicants floods in from job boards. A recruiter opens each CV, reads it against the req, and copies notes into a tracker — hours per role, and the applicant screened at 6pm gets less attention than the one at 9am.
Trigger: Webhook (new applicants) or Email (job-board inbox)
How the workflow runs
- Trigger
Applicants land. A Webhook (from your ATS/job board) or an Email trigger on the applications inbox starts the flow — no first-party ATS connector, the board pushes in via Webhook.
- Knowledge
Load the client req. A Knowledge node holds the client's job spec + must-haves; every applicant is compared against it, not a keyword guess.
- Loop
Screen every applicant the same way. A Loop node iterates the full applicant batch so the hundredth CV is read as carefully as the first.
- Agent
Summarize + score fit. An Agent node writes a 3-line summary, a fit score against the req, and the gaps — consistently, for every candidate.
- Condition
Auto-route by fit. A Condition node splits strong / maybe / reject so recruiters only read the shortlist.
- Approval
Recruiter confirms the submittals. An Approval node keeps the human as the decision-maker — the agent ranks, a recruiter decides who goes to the client. This is the placement gate.
- Tool (MCP)
Write back to the ATS/VMS. A Tool (MCP) node updates each candidate's stage and notes in your ATS or the client's VMS.
Channels & connectors
- Webhook
- Loop
- Knowledge base
- Approval / HITL
- Tool (MCP → ATS/VMS)
Outcome
Every applicant in the batch is read and scored against the client req within minutes; recruiters spend their time only on the shortlist and the submittal decision.
Why it helps
Removes the fatigue bias of screening a big batch by hand and the copy-paste into trackers, while the who-to-submit call stays with a recruiter.
Build spec
1 agent — 1 screening agent per applicant; the per-applicant Loop, the fit routing and the ATS/VMS write-back are workflow nodes.
System prompt (paste-ready)
You are a staffing screener working a client requisition. Given a résumé and the client's must-haves (from Knowledge), output strict JSON {summary (max 3 lines), fit_score 0-100, matched[], gaps[], recommendation: STRONG|MAYBE|REJECT}. Score only on job-relevant evidence in the résumé. Do NOT use name, gender, age, religion, caste, marital status, or photo as signals — ignore them entirely. If a must-have can't be confirmed, put it in gaps rather than assuming it. You rank candidates; you never decide who is submitted to the client.MCP connectors
- ATS / client VMS — via a Tool (MCP) node (no first-party connector)
- Job board — applicants pushed inbound via Webhook
- Applications inbox — via Email trigger
Built-in tools
- knowledge_search (client req + must-haves)
- file parsing (résumé PDF/DOCX)
Guardrails
- Bias guardrail: protected attributes are explicitly excluded from scoring in the prompt
- The agent ranks; it never rejects or submits — the recruiter makes every submittal decision at the Approval node
- Same Knowledge-grounded rubric for every applicant in the batch — the hundredth CV is scored like the first, not on fatigue
Output & delivery
A Loop node runs the agent per applicant → per-candidate JSON → the Condition node buckets STRONG/MAYBE/REJECT → the recruiter confirms the submittals at the Approval node → a Tool node writes each candidate's stage + notes back to the ATS/VMS via MCP.