Filter job applicants before they reach your ATS
A Make filter checks education and skills before the ATS sees the applicant, so the pipeline fills with people worth calling.
New submission on your job application form
Send the applicant to a Make scenario that filters on required qualifications, adds qualified candidates to your ATS, and emails a confirmation
One-directional. A submission triggers the action — nothing is written back into your form.
A hiring inbox fills faster than anyone reads it, and the applicants who match the requisition sit behind the ones who do not. A Make filter reads the education and skills answers before the ATS ever sees them, so the pipeline fills with candidates worth a call.
Recruiters running several open roles from one form use this to keep screening consistent, since the filter applies the same conditions at three in the morning as it does at noon. Nobody is rejected by the scenario; it only decides what reaches the pipeline first.
Setting it up
- 1
Publish the job application form and either use one form per requisition, or keep Position Applied For as a fixed list so the filter can tell the roles apart.
- 2
In Make, open a new scenario with a custom webhook module as the entry point the Zap will deliver to.
- 3
Add a filter straight after it holding your must-have conditions — for example Highest Level of Education at or above a set option, and Relevant Skills containing a keyword.
- 4
Behind the filter, add your ATS module to create the candidate, mapping Position Applied For to the requisition it should attach to.
- 5
Add an email module after the ATS module so the confirmation only goes out once the candidate record exists and can be referenced.
- 6
In Zapier, set formformform as the trigger app with New Submission, choose the application form and pull a real submission so the answers appear as fields.
- 7
Add Make as the action app, feed it the scenario, and map Full Name, Email Address, Relevant Skills and Available Start Date.
- 8
Test with an applicant who should pass and one who should not, then read Make's execution history to confirm the filter stopped the second before the ATS module ran.
What maps where
Using the Job Application Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.
| Form field | Make |
|---|---|
| Position Applied For | The requisition the ATS module attaches the candidate to |
| Highest Level of Education | First condition on the scenario's qualifying filter |
| Relevant Skills | Second filter condition, matched against your must-have keywords |
| Email Address | Candidate email in the ATS, and the recipient of the confirmation |
| Full Name | Candidate name on the ATS record |
| Available Start Date | Start-date field on the ATS record |
Variations worth knowing
Add a fallback route that writes every non-matching application into a data store instead of letting it end there. Reading that store once a week catches the good applicant whose skills answer used a word your filter did not.
Route on Employment Type before the qualification filter so contract candidates reach a different ATS pipeline with their own conditions. Both routes can share one confirmation email module, so every applicant sees the same reply.
If something isn't arriving
Relevant Skills is free text, and a multi-select answer arrives as one comma-separated string. Use contains rather than equals in the filter, and test each keyword on its own in Make's run history to see which condition is failing.
The email module is running ahead of the ATS module. Chain it directly after, and reference an output of the ATS module in the email body so Make cannot execute it until the candidate record has actually been created.
Frequently asked questions
Does the applicant know a filter looked at their answers first?
Not unless you tell them, and it is worth telling them. The filter decides what reaches the ATS immediately; it does not reject anybody. Writing stopped applications into a data store means a human can still review the ones the conditions missed.
Can I screen on the cover letter text?
You can, but carefully. A Make filter can test whether Cover Letter contains a phrase, though free writing rarely matches cleanly. Conditions on Relevant Skills and Highest Level of Education, which come from set answers, hold up far better over a few hundred applications.
Can one scenario handle several open roles?
Yes. Route on Position Applied For at the top of the scenario and give each role its own filter conditions and ATS requisition. A single Zap on a single form can feed the lot, as long as the position is a fixed list.
Related automations
- Confirm event sign-ups and log the attendee
A registration becomes a calendar entry, a confirmation email and an attendee row, all from one scenario run.
- Open a help-desk ticket and set its priority
One submission creates the ticket, sets its priority from the answer the requester picked, and drops a summary into the support channel.
- Record each order and start fulfilment
Every order is recorded in a data store, turned into an invoice, and passed to whoever picks and packs it.
- Route new leads down enterprise and nurture paths
Each lead enters a Make scenario where a router reads company size and sends enterprise deals one way, everyone else another.
- Tag feedback by score and alert on detractors
Every score is banded and logged in a data store, and anything under your threshold alerts the team straight away.
- Let only qualifying applications reach the hiring manager
A Filter step checks location and hours first, so only qualifying applications create a candidate record and reach the hiring manager.
Build the form first
The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.
Start free