This project automates the process of finding and drafting outreach messages to recruiters using a multi-agent system powered by CrewAI.
-
Install Dependencies:
pip install -r requirements.txt
-
Environment Variables: Create a
.envfile in the root directory or set the variables.Required:
OPENAI_API_KEY: API key for your LLM provider (e.g., OpenAI).
Optional:
TAVILY_API_KEY: API key for Tavily Search (required for real search).MOCK_SEARCH: Set toTrue(case-insensitive) to use mock search results (no API key needed).DATABASE_URL: Connection string for SQLAlchemy (defaults tosqlite:///recruiter_outreach.db).
Run the script with the company name and target role:
python main.py --company "Google" --role "Software Engineer"- Cache Check: Checks the local database for recent outreach (last 24 hours).
- Research Agent: Finds recruiters using Tavily (or mock data).
- Ranking Agent: Selects the top 3 relevant recruiters.
- Copywriter Agent: Drafts a personalized LinkedIn DM for each.
- Output: Prints the result as JSON and saves it to the database.
The output is a JSON list:
[
{
"recruiter_name": "Name",
"linkedin_url": "URL",
"reason_for_ranking": "Reason...",
"draft_message": "Message..."
}
]