This repository uses the OpenAI Agents SDK to build a small multi-agent system that can help you conduct research and draft cold emails for jobs and internships. We've set this up to use your existing Chrome browser with current logins, so if you don't have Chrome please install Chrome and login to your Google / Gmail account.
The goal of this workshop is to draft and send a cold email to us (we'll give an email address) using this Agent system to conduct research on the job posting, customize it with context about you from your resume, and then email us using the Computer Agent via Gmail in your browser.
May the best cold AI generated email win :)
Install a few prerequisites on your computer:
Log in to your Gmail account in Chrome if you're not already logged in.
Next, configure your agent:
- Copy the
.env.example
file to create a new.env
in the root of the repo. Fill in the OpenAI API Key that we'll provide during the workshop. - Update
RESUME_PATH
atspecialized_agents/constants.py
as needed. - Adjust the job posting you want to apply for in the
constants.py
file.
Next install the Python dependencies and then run the shell script and python script for the Agents:
# Install dependencies
uv sync
# Install Playwright Chromium dependency
uv run playwright install
# If you want to run your local Chrome, run the bash script
./start_chrome_debug.sh
# Run the Agents
uv run -m specialized_agents.planning_agent
After you get a sense for how it will work, we encourage you to jump in and adjust the prompts to craft a perfect cold email to us (the stock prompts will draft a pretty mediocre cold email).
The agent connects to your existing Chrome browser via Chrome DevTools Protocol (CDP):
start_chrome_debug.sh
starts Chrome with remote debugging enabled on port 9222- Agent automatically connects to your existing Chrome session
- All your current tabs, logins, and extensions remain intact
- If connection fails, falls back to launching Playwright browser
Required:
OPENAI_API_KEY=your_key_here
Optional:
CHROME_DEBUG_PORT=9222 # Change debug port if needed
- Chrome must be running with remote debugging enabled
- Default debug port is 9222 - change if port is in use
- If connection fails, agent falls back to Playwright browser (if you need to use Playwright, you'll need to login to Gmail on playwright as well)