Post a job, share one application form, and let AI screen every résumé against the job description. Qualified candidates get an interview invite with your Calendly link; everyone else gets a polite decline — and your hiring channel sees a summary in Slack.
Free · no credit card · connects your Gmail + Slack
Installing the recipe provisions all of this in your workspace — ready to run.
Dedicated pipeline tracker — every applicant lands here with AI score, screening summary, and live status (applied → screened → interview_invited / rejected). The two forms each create their own response sheets; this table is the workflow-managed system of record.
HR-facing form — title, department, hiring-manager email, and full JD. Publishing creates the form's own response sheet, which IS the Job Openings store. The candidate form's job dropdown reads from this sheet.
Candidate-facing form — name, email, job position (dropdown from a fixed list of 7 roles, identical to the post-job form), location, years of experience, skills, resume upload, and optional cover letter. Submission fires the Screen & Notify workflow.
Fires on every candidate submission. Looks up the matching JD from the Post Job Opening sheet, writes the raw application to the Candidates table, runs GPT to score the resume against the JD + skills + experience, branches on qualified/rejected, sends the right Gmail (interview invite BCCs the hiring manager and includes the hiring manager's Calendly link for the candidate to self-schedule, rejection is plain), and posts a one-line summary to Slack #hiring.
Send interview invites (BCC: hiring manager) and rejection emails to candidates
Notify the hiring channel with the AI screening summary for every applicant
HR opens the Post Job Opening form and submits a new role: - Job title - Department - Hiring-manager email - Full job description The submission lands in the Openings sheet automatically — no copy-paste required.
Share the published Job Application form on your careers page or in outbound posts. Candidates submit: - Name and email - The role they're applying for (dropdown — the same 7 roles HR can post) - Resume upload - Skills, years of experience, and a short cover note
Every application submission triggers the Screen & Notify workflow automatically. Nothing needs to be manually re-triggered — the form is the trigger.
The workflow looks up the matching job description in the Openings sheet using the role the candidate selected. It also pulls the hiring-manager email so the right person is notified later. If no matching opening exists, the workflow exits gracefully — nothing is created and no one is emailed.
GPT runs against {resume + skills + experience + job description} and returns: - score — fit out of 10 - summary — one-paragraph candidate read - qualified — true / false The full application + AI verdict is written into the Candidates table with status screened.
If the candidate is qualified, Gmail sends an interview invite (BCC: hiring manager) containing the hiring manager's Calendly link — captured on the Post Job Opening form. The candidate clicks it and books a slot that works for them. No back-and-forth, no calendar event to manage. The candidate row is updated to status interview_invited.
If the candidate isn't qualified, a Gmail step sends a plain, polite rejection email. The row is updated to status rejected. No interview event is created.
Either way — qualified or rejected — the workflow posts a one-line summary to your hiring channel: - Candidate name - Role applied for - AI score and decision Swap Slack for Discord or Telegram at install — the message format stays the same.
Install the recipe, connect Gmail and Slack, and post your first role in two minutes.