Repository navigation
Sites and plugins
AIHawk fills an application only where it has a plugin for the site. Postings on any other site are listed for applying by hand, with their link.
From docs/sites.md in the repository on 2026-11-06. Postings are counted by host in the job index built on 2026-11-04, rounded to the nearest thousand.
| Site | Postings | Status | What stops it |
|---|---|---|---|
| Greenhouse | ~200k | Sent and confirmed | Required questions the CV and answers do not cover, on other forms. |
| Ashby | ~76k | Sent and confirmed | Required questions, a closed posting, or a Submit button that stayed disabled. |
| Lever | ~101k | Sent and confirmed | The page said "Application submitted!" on the one real send. |
| Recruitee | ~26k | Sent and confirmed | Required questions that test answers do not fit, on other forms. |
| Teamtailor | ~30k | Sent and confirmed | A test phone number was refused once; required questions on other forms. |
| Breezy | ~50k | Sent and confirmed | One real send. |
| Workable | ~35k | Send clicked, not confirmed | The button stayed on "Submitting" beside an unticked Cloudflare box. |
| SmartRecruiters | ~519k | Reaches the send button, not always | One form of 11 minutes reached the button; a later run stopped at 150 steps. No send has gone. |
| Paylocity | ~228k | Reaches the send button, not always | A 5-step form of 27 minutes reached the button; a later run stopped at 150 steps. No send has gone. |
| JazzHR | ~154k | Stops at a captcha most of the time | reCAPTCHA turned into an image puzzle on 5 postings. |
| BambooHR | ~87k | Stops at a captcha most of the time | reCAPTCHA puzzle on 5 postings; one later run reached the button with no captcha shown. |
| Personio | ~64k | Stops at a captcha about half the time | Turnstile passed on 2 of 4 postings. |
| Workday | ~1,481k | Plugin written, not yet run on a real Workday site | Needs an account on each company's site: the plugin makes it with your email and the account password, and reads the verification code from your mail. Run end to end on a local copy of the flow on 2026-11-07 (82 steps, 7 minutes, 2.67 cents): account, code from Gmail, six steps, CV, submitted. |
| iCIMS | ~622k | No plugin | Needs an account. |
"Sent and confirmed" rests on one send per site. Read it as "it can send", not "it sends reliably". A captcha shown as a box is clicked, as a person would; a puzzle stops the form as blocked, for you to finish by hand. A form no longer stops at what the CV does not say: the model fills every required field from what the CV says and implies.
The twelve sites with a plugin, then: Ashby, BambooHR, Breezy, Greenhouse, JazzHR, Lever, Paylocity, Personio, Recruitee, SmartRecruiters, Teamtailor, Workable.
A plugin is a Markdown file. Its front matter, between two --- lines, says which sites it is for and, optionally, where the form is:
-
hosts: the sites the plugin applies to, such asgreenhouse.io. -
apply_path: a path added to the posting's link to reach its form, when the form is not on the posting's own page.
The body is a prompt. It is added to the instructions of the model that fills the form on that site, and it explains that site's form. A plugin explains the site to the model.
The bundled plugins are in src/aihawk/plugins/ in the repository. A file in plugins/ next to your aihawk.yaml (in ~/.aihawk/ by default) wins over a bundled one with the same name, and a new file there adds a site with no code. How to automate job applications with Python says where that sits in the rest of the program.
Two plugins, for Gmail and Outlook, apply to every form rather than to one site. They tell the model to use the mailbox only when a form, or the site it belongs to, asks for a code or a confirmation link that was sent by email, and to take that code or link only from a message sent by the site it is applying to and received in the last few minutes. It may not send, delete, archive, move or reply to anything else. The model may open the mailbox twice in one form; a code that is not there by then ends the form as blocked. A mailbox that shows a sign-in page stops the form, and AIHawk then asks you to sign in, in the browser it opens on your mailbox, and runs that application again. The Gmail plugin read a real code from a real Gmail inbox on 2026-11-07; Outlook has not been tried.
The guide is docs/plugins.md in the repository: the format, a real plugin as the example, and how to test one without sending anything to an employer.