{"id":"e1abe60a-8f25-4fde-8106-1e875012ec40","entityType":"agent","slug":"crewai-mdazhar5-recruitx","name":"RecruitX","canonicalUrl":"https://www.xpersona.co/agent/crewai-mdazhar5-recruitx","canonicalPath":"/agent/crewai-mdazhar5-recruitx","generatedAt":"2026-10-10T01:13:00.176Z","source":"GITHUB_REPOS","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T13:52:36.076Z","emptyReason":null},"description":"RecruitX is an AI-driven recruitment management system designed to automate the end-to-end hiring process. Leveraging CrewAI's multi-agent architecture, it streamlines job description creation, candidate screening, interview analysis, and communication, ensuring efficiency and scalability for enterprises. <h1 align=\"center\">🤖 RecruitX: AI Recruitment</h1> <p align=\"center\"> <img src=\"https://img.shields.io/badge/Built%20With-CrewAI-blue?style=flat-square\" /> <img src=\"https://img.shields.io/badge/Frontend-Streamlit-orange?style=flat-square\" /> <img src=\"https://img.shields.io/badge/LLM-GPT%204-green?style=flat-square\" /> <img src=\"https://img.shields.io/badge/Status-In%20Development-yellow?style=flat-square\" /> </p>","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 10/9/2026.","installCommand":null,"sourceUrl":"https://github.com/MdAzhar5/RecruitX","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/MdAzhar5/RecruitX","kind":"source"}],"safetyScore":66,"overallRank":29.4,"popularityScore":8,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"RecruitX is an AI-driven recruitment management system designed to automate the end-to-end hiring process. Leveraging CrewAI's multi-agent architecture, it stre"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T13:52:36.076Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"crewai","status":"self-declared"},{"label":"multi-agent","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"crewai","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"multi-agent","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"}},"adoption":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"medium","updatedAt":"2026-10-09T13:52:36.076Z","emptyReason":null},"stars":1,"forks":0,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":"1 GitHub stars"},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-10-09T13:52:36.047Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T13:52:36.076Z","lastCrawledAt":"2026-10-09T13:52:36.047Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-16T13:52:36.047Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":null,"setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-mdazhar5-recruitx/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-mdazhar5-recruitx/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-mdazhar5-recruitx/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-mdazhar5-recruitx/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-mdazhar5-recruitx/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-mdazhar5-recruitx/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"GITHUB_REPOS","generatedAt":"2026-10-10T01:13:00.175Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-mdazhar5-recruitx/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-mdazhar5-recruitx/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-mdazhar5-recruitx/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-mdazhar5-recruitx/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"high","updatedAt":"2026-10-09T13:52:36.076Z","emptyReason":null},"readme":"<h1 align=\"center\">🤖 RecruitX: AI Recruitment</h1>\n\n<p align=\"center\">\n  <img src=\"https://img.shields.io/badge/Built%20With-CrewAI-blue?style=flat-square\" />\n  <img src=\"https://img.shields.io/badge/Frontend-Streamlit-orange?style=flat-square\" />\n  <img src=\"https://img.shields.io/badge/LLM-GPT%204-green?style=flat-square\" />\n  <img src=\"https://img.shields.io/badge/Status-In%20Development-yellow?style=flat-square\" />\n</p>\n\n<p align=\"center\">\n  <strong>RecruitX</strong> is an agentic, generative AI-powered recruitment system built with <code>CrewAI</code>, streamlining the entire hiring pipeline — from JD creation to interview scoring and onboarding automation.\n</p>\n\n---\n\n<h2>🌐 Project Overview</h2>\n\nRecruitX automates the full recruitment cycle using autonomous agents. It transforms how hiring teams:\n\n<ul>\n  <li>Create and manage job descriptions</li>\n  <li>Collect and screen resumes at scale</li>\n  <li>Schedule interviews and analyze transcripts</li>\n  <li>Score candidates using custom AI agents</li>\n  <li>Manage decisions and onboarding flows</li>\n</ul>\n\n---\n<h2>🚀 Installation</h2>\n\n```bash\n# 1. Clone the repository\ngit clone https://github.com/yourusername/RecruitX.git\ncd RecruitX\n\n# 2. Set up a virtual environment\npython -m venv venv\nsource venv/bin/activate   # or venv\\Scripts\\activate on Windows\n\n# 3. Install dependencies\npip install -r requirements.txt\n\n# 4. Launch Streamlit Frontend\nstreamlit run frontend/streamlit_app.py\n```\n---\n\n<h2>📥 Gmail Screening Pipeline</h2>\n\n<p>\nAutomatically pulls CV emails out of a Gmail inbox, screens each resume against\na job description with an LLM, and replies to the candidate — built with\n<code>LangChain</code> + <code>LangGraph</code> + <code>Pydantic</code>.\n</p>\n\n<h3>How it works</h3>\n<pre>\nGmail inbox (IMAP)\n  -> extract CV attachment (PDF/DOCX)\n  -> LangGraph pipeline (agents/recruiting_graph.py):\n       parse_resume -> screen -> decide -> [interview | waitlist | reject email] -> send\n  -> SQLite log (data/recruitx.db)\n</pre>\n\n<ul>\n  <li><strong>tools/gmail_reader.py</strong> — IMAP client, pulls unseen emails with a resume attachment.</li>\n  <li><strong>tools/resume_parser.py</strong> — extracts a structured <code>ResumeProfile</code> (name, skills, experience, etc.) via a Pydantic-schema-bound LLM call. Extraction only, no judgment calls.</li>\n  <li><strong>agents/screening_agent.py</strong> — the core prompt: scores the resume against the JD's must-have vs. nice-to-have requirements, 0-100, with calibration anchors and explicit anti-bias/anti-hallucination rules.</li>\n  <li><strong>agents/decision_agent.py</strong> — deterministic score thresholds (not another LLM call) turn the score into <code>interview</code> / <code>waitlist</code> / <code>reject</code>.</li>\n  <li><strong>agents/email_automation_agent.py</strong> — one prompt per decision (interview emails cite real strengths; rejections are deliberately generic and never cite specific gaps).</li>\n  <li><strong>agents/recruiting_graph.py</strong> — wires the above into a LangGraph <code>StateGraph</code>, branching by decision via <code>add_conditional_edges</code>.</li>\n</ul>\n\n<h3>Setup</h3>\n<p>\nLLM calls run against a local <a href=\"https://ollama.com\">Ollama</a> server\n(<code>config/settings.yaml</code> defaults to model <code>qwen3.5:4b</code> at\n<code>http://localhost:11434</code>) — no API key, no external calls, resumes\nnever leave the machine running Ollama. Make sure Ollama is running and the\nmodel is pulled (<code>ollama run qwen3.5:4b</code>) before starting a pipeline run.\n</p>\n<pre>\ncp .env.example .env\n# fill in GMAIL_ADDRESS and a Gmail \"App Password\" as GMAIL_APP_PASSWORD\n# (Google Account > Security > 2-Step Verification > App passwords)\n\npip install -r requirements.txt\n</pre>\n<p>\nIf this code runs somewhere other than the machine Ollama is on (e.g. inside a\ncontainer while Ollama runs on the Windows host), set <code>OLLAMA_BASE_URL</code>\nin <code>.env</code> to an address that can actually reach it — <code>localhost</code>\nonly works when both are on the same machine.\n</p>\n\n<p>Add a JD for the role at <code>data/jd_templates/&lt;role-key&gt;.md</code> (see\n<code>backend-engineer.md</code> for the expected format: a Must-Have and a\nNice-to-Have section), then run:</p>\n\n<pre>\npython main.py --role backend-engineer          # screens new applicants and sends replies\npython main.py --role backend-engineer --dry-run # screens and logs, but doesn't send email\n</pre>\n\n<p>Each run only processes <em>unseen</em> messages in the inbox and dedupes by\nGmail Message-ID, so it's safe to run repeatedly (e.g. on a schedule/cron).</p>\n\n<h2>🧠 System Architecture</h2>\n\n<h3>🎭 Agents</h3>\n\n- <strong>JD Research Agent:</strong> Gathers info from hiring team\n- <strong>JD Drafting Agent:</strong> Writes optimized JDs\n- <strong>Job Posting Agent:</strong> Posts to job boards\n- <strong>Applicant Collector Agent:</strong> Parses and stores resumes\n- <strong>Screening Agent:</strong> Scores resume vs JD\n- <strong>Interview Scheduler Agent:</strong> Auto-books interviews\n- <strong>Email Automation Agent:</strong> Sends interview/offers\n- <strong>Question Generator Agent:</strong> Creates technical questions\n- <strong>Transcript Analyst Agent:</strong> Analyzes performance\n- <strong>Decision Agent:</strong> Calculates final selection\n- <strong>Database Agent:</strong> Stores, updates applicant records\n\n<h3>🛠️ Tools</h3>\n\n- PDF/DOCX Parser (PyMuPDF, docx2txt)\n- Vector Database (FAISS or Pinecone)\n- Whisper (for transcripts)\n- BERT/GPT Embeddings\n- Google Calendar API\n- SendGrid Email API\n- MySQL/MongoDB\n\n---\n<h2>📁 Repository Structure</h2>\n\n<pre>\nRecruitX/\n├── agents/\n│   ├── jd_research_agent.py\n│   ├── jd_drafting_agent.py\n│   ├── job_posting_agent.py\n│   ├── applicant_collector_agent.py\n│   ├── screening_agent.py\n│   ├── interview_scheduler_agent.py\n│   ├── email_automation_agent.py\n│   ├── question_generator_agent.py\n│   ├── transcript_analyst_agent.py\n│   ├── decision_agent.py\n│   └── database_agent.py\n│\n├── tools/\n│   ├── resume_parser.py\n│   ├── calendar_connector.py\n│   ├── email_sender.py\n│   ├── vector_store.py\n│   ├── transcript_parser.py\n│   └── job_board_poster.py\n│\n├── config/\n│   ├── agents.yaml\n│   ├── tools.yaml\n│   ├── tasks.yaml\n│\n├── backend/\n│   ├── main.py\n│   └── api/\n│       └── jd_api.py\n│\n├── frontend/\n│   ├── streamlit_app.py\n│   └── components/\n│       └── jd_form.py\n│\n├── database/\n│   ├── models.py\n│   ├── schema.sql\n│   └── db_connection.py\n│\n├── data/\n│   ├── resumes/\n│   ├── transcripts/\n│\n├── tests/\n│   ├── test_agents.py\n│   ├── test_tools.py\n│\n├── requirements.txt\n├── README.md\n└── .gitignore\n</pre>\n","readmeExcerpt":"<h1 align=\"center\">🤖 RecruitX: AI Recruitment</h1> <p align=\"center\"> <img src=\"https://img.shields.io/badge/Built%20With-CrewAI-blue?style=flat-square\" /> <img src=\"https://img.shields.io/badge/Frontend-Streamlit-orange?style=flat-square\" /> <img src=\"https://img.shields.io/badge/LLM-GPT%204-green?style=flat-square\" /> <img src=\"https://img.shields.io/badge/Status-In%20Development-yellow?style=flat-square\" /> </p> ","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# 1. Clone the repository\ngit clone https://github.com/yourusername/RecruitX.git\ncd RecruitX\n\n# 2. Set up a virtual environment\npython -m venv venv\nsource venv/bin/activate   # or venv\\Scripts\\activate on Windows\n\n# 3. Install dependencies\npip install -r requirements.txt\n\n# 4. Launch Streamlit Frontend\nstreamlit run frontend/streamlit_app.py"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB REPOS","editorialOverview":"RecruitX is an AI-driven recruitment management system designed to automate the end-to-end hiring process. Leveraging CrewAI's multi-agent architecture, it streamlines job description creation, candidate screening, interview analysis, and communication, ensuring efficiency and scalability for enterprises. <h1 align=\"center\">🤖 RecruitX: AI Recruitment</h1> <p align=\"center\"> <img src=\"https://img.shields.io/badge/Built%20With-CrewAI-blue?style=flat-square\" /> <img src=\"https://img.shields.io/badge/Frontend-Streamlit-orange?style=flat-square\" /> <img src=\"https://img.shields.io/badge/LLM-GPT%204-green?style=flat-square\" /> <img src=\"https://img.shields.io/badge/Status-In%20Development-yellow?style=flat-square\" /> </p>","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":395,"uniquenessScore":67,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T13:52:36.076Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T13:52:36.076Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T01:13:00.176Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_repos","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}