Step-by-step guide on building a multi-agent recruitment system using CrewAI and HireSquire. Learn how to automate screening, scoring, and outreach.
Building a Fully Autonomous Recruitment Agency with CrewAI and HireSquire
CrewAI has revolutionized how we think about multi-agent systems. By combining specialized agents into a cohesive crew, we can automate complex business processes that once required teams of humans. In this guide, we'll show you how to build a fully autonomous recruitment agency using CrewAI and HireSquire.
pip install crewai hiresquire langchain-openai
The Multi-Agent Architecture
Our autonomous agency will consist of three specialized agents working in sequence:
- The Job Architect: Analyzes market trends and refines the job description.
- The Screening Specialist (Powered by HireSquire): Ingests resumes and uses the HireSquire API to evaluate them with precision.
- The Outreach Coordinator: Takes the top candidates and generates personalized interview invitations using our Email Generation tools.
Step 1: Defining the HireSquire Tool
Since HireSquire's Python SDK is built with LangChain tool support, integrating it into CrewAI is trivial:
import os
from crewai import Agent, Task, Crew, Process
from hiresquire import get_hiresquire_tools
# Load HireSquire tools
hiresquire_tools = get_hiresquire_tools()
Step 2: Defining the Agents
# The Screening Agent
screener = Agent(
role='Senior Screening Specialist',
goal='Accurately evaluate resumes against the job requirements using HireSquire',
backstory="""You are an expert at identifying technical talent. You use
precision tools like HireSquire to ensure every candidate is scored fairly
based on actual resume data.""",
tools=hiresquire_tools,
verbose=True
)
# The Outreach Agent
outreach = Agent(
role='Candidate Outreach Manager',
goal='Generate compelling and personalized interview invitations for top candidates',
backstory="""You are a master of communication. You take screening data and
turn it into high-conversion outreach emails that candidates actually respond to.""",
tools=hiresquire_tools,
verbose=True
)
Step 3: Creating the Tasks
screening_task = Task(
description='''Screen the 5 resumes in the ./resumes/ folder for a
Senior React Developer role. Requirements: 5+ years experience,
TypeScript, and high proficiency in Tailwind.''',
expected_output='A detailed report of candidate scores and match summaries.',
agent=screener
)
outreach_task = Task(
description='''For any candidate scoring above 85, generate a
professional interview invitation using the HireSquire email generation tool.''',
expected_output='A list of drafted emails for the top-scoring candidates.',
agent=outreach
)
Step 4: Launching the Crew
recruitment_crew = Crew(
agents=[screener, outreach],
tasks=[screening_task, outreach_task],
process=Process.sequential
)
result = recruitment_crew.kickoff()
print(result)
Why This Matters
By offloading the "heavy lifting" of resume parsing and scoring to HireSquire, your CrewAI agents can focus on high-level decision making. You no longer have to worry about prompt-injecting resumes or tokens limit issues when reading large PDFs - HireSquire handles the infrastructure, while your agents handle the strategy.
Autonomous Advantage: With HireSquire's AgentApiKey, you can set daily spend limits for your crew, ensuring your autonomous agency never goes over budget even if it screens thousands of resumes.
Conclusion
The combination of CrewAI's multi-agent orchestration and HireSquire's specialized hiring intelligence creates a powerful, production-ready recruitment engine. Whether you're a startup looking to scale or an HR tech company building the next big thing, this architecture provides the foundation for the future of hiring.