This repository contains a tiny script that uses the browser-use agent to apply to every currently open position at Zapier in one go.
- Python 3.11 or 3.12 (per the upstream
browser-usequick-start; Python 3.13 currently works for most features but the optionalmemoryextra still requires <3.13). - API key(s) for the LLM you want the agent to run on (e.g.
OPENAI_API_KEY).
Follow these steps—copy-paste friendly and OS-agnostic:
-
Clone & enter the repo (skip if you already have the files):
git clone https://github.com/yourname/zapier-automation.git cd zapier-automation -
Create a virtual environment (recommended):
python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate
-
Install Python dependencies:
pip install -r requirements.txt
-
Install Playwright browsers once (headless Chromium will be downloaded):
playwright install chromium --with-deps --no-shell
-
Add your LLM key(s)—create a
.envfile with at least:OPENAI_API_KEY=sk-...
-
Patch browser_use - open .venv\Lib\site-packages\browser_use\controller\service.py and delete the below block of code:
if await browser_session.find_file_upload_element_by_index(params.index) is not None:
msg = f'Index {params.index} - has an element which opens file upload dialog. To upload files please use a specific function to upload files '
logger.info(msg)
return ActionResult(extracted_content=msg, include_in_memory=True, success=False, long_term_memory=msg)Done! You are ready to run the script.
# Uses all defaults (Auto Matione, ai.automation@example.com, etc.)
python apply_zapier_jobs.py
# Override just the email and location
python apply_zapier_jobs.py --email jane.doe@example.com --location "Berlin, Germany"
# Override everything
python apply_zapier_jobs.py \
--legal-first-name "Jane" \
--legal-last-name "Doe" \
--preferred-first-name "Jane" \
--preferred-last-name "Doe" \
--email "jane.doe@example.com" \
--location "Berlin, Germany" \
--work-authorization "I am authorized to work in the country due to my nationality." \
--how-heard "Zapier Website" \
--how-heard-details "Wade Foster's tweet about hiring AI automation engineers"The script fills all required Zapier application fields and uses a standard response about being an AI automation engineer responding to Wade Foster's tweet for any optional text fields.
The agent will spin up a headless Chromium instance, navigate to Zapier's career page, and submit applications to every single job posting. Duplicate submissions are avoided automatically.
This repository is a tongue-in-cheek response to Wade Foster's tweet. Use at your own risk. Flooding applicant-tracking systems may violate their terms and conditions.