A recruitment email system whose retrieval actually retrieves
The obvious fix for repetitive candidate email is a language model. The obvious failure is a model that confidently invents answers to questions it has no source for. In hiring, a wrong answer about a role, a process or a policy is not a small problem.
COMPLETE-OR-FLAGGED DESIGN · ANSWERS TRACE TO A SOURCE
- Sector
- HR and recruitment
- Basis
- Own build
- Stack
- n8n · Supabase pgvector · Edge Function · Cohere rerank · OpenAI embeddings
- Surface
- Six n8n workflows
- Design
- Retrieval-grounded, self-cleaning index
The problem: a model that answers questions it has no source for
Recruitment email handling meant answering the same candidate and process questions over and over, by hand. Automating that with a bare language model trades a time problem for a trust problem: a chatbot bolted onto an inbox will answer everything, including the questions it has no business answering.
The approach
A retrieval-grounded email system rather than a chatbot. Every design decision exists to keep answers traceable to a source:
-
Hybrid search, then rerank
Answers are pulled from a curated FAQ knowledge base in a Supabase vector store, retrieved through a hybrid function that combines semantic and keyword matching, then reranked so the strongest source wins rather than the first plausible one.
-
Chunked per FAQ, not per token window
A retrieved passage is a complete answer, not a fragment torn mid-thought.
-
Complete or flagged, never partial
Multi-question emails are parsed question by question. If the system can answer all of them from sources, it replies. If it cannot, the email escalates to a person. A partial answer never goes out dressed as a full one.
-
A record manager keeps the index honest
Indexing tracks what has been ingested, so re-indexing updates and deletes cleanly instead of silently accumulating stale duplicates. This is the part most RAG builds skip and then quietly rot on.
The system
How it fails safely
| Failure | What happens instead |
|---|---|
| Question with no source | Flagged to a person. The model never invents an answer to cover the gap. |
| Email with five questions, four answerable | The whole email escalates. Complete or flagged, never partial. |
| FAQ content changes | Re-indexing updates and deletes through the record manager. No stale duplicate ever outranks the current answer. |
| Wrong answer discovered | It traces to a specific FAQ record, so it is a fixable content problem rather than a mystery inside a model. |
Result
- Repetitive recruitment email answering automated without giving up source grounding.
- Answers trace back to a specific FAQ record, auditable end to end.
- Indexing is re-runnable and self-cleaning, which is what keeps a RAG system trustworthy six months in.
Built by Hisham Hanawi. This is an AI in the workflow.
Related, but a different build: AutoRecruit moves candidates through a hiring pipeline. This system answers their questions from a grounded knowledge base.
AI that knows what it does not know.
100% JOB SUCCESS · TOP RATED PLUS · 583 HOURS / 6 ENGAGEMENTS
Source: Upwork profile, verified 2026-08