Send personalized feedback emails to every job candidate

Automatically reviews resumes and sends each candidate a personalized onboarding or rejection email.

How the work actually flows

It branches. Exactly one path is taken; runs once per one per candidate.

Pattern: Multiple Instances with a priori Run-Time Knowledge (14) · Exclusive Choice (4) · Simple Merge (5)

flowchart TD trig(("run batch of candidates")):::human s0[["pull candidate data"]]:::mi s1["validate and extract resume"]:::task s2["write personalized email"]:::task s3["send email to candidate"]:::svc trig --> s0 s0 --> s1 s2 --> s3 gx{"× is candidate shortlisted"}:::gate s1 --> gx p00["write onboarding email"]:::task gx -->|"shortlisted"| p00 p10["write rejection email"]:::task gx -->|"not shortlisted"| p10 jn{"○ email ready to send"}:::gate p00 --> jn p10 --> jn jn --> s2 out[/"personalized email sent to each candidate"/]:::out pay{{"professional candidate experience at scale"}}:::pay s3 --> out out --> pay s2 -. "failures recorded, run continues" .-> out classDef task fill:#e7f6fe,stroke:#34b8f0,color:#2c2a29 classDef svc fill:#f6f8fa,stroke:#7c8795,color:#2c2a29 classDef mi fill:#e7f6fe,stroke:#0079a8,color:#2c2a29,stroke-width:2px classDef human fill:#fff,stroke:#0079a8,color:#0079a8 classDef store fill:#f6f8fa,stroke:#0079a8,color:#2c2a29 classDef trig fill:#00a4eb,stroke:#0079a8,color:#fff,font-weight:bold classDef trigtime fill:#00a4eb,stroke:#0079a8,color:#fff,font-weight:bold classDef trigdata fill:#8ad4f5,stroke:#0079a8,color:#06314c,font-weight:bold classDef gate fill:#fff,stroke:#e8a23d,color:#6b4708,font-weight:bold classDef out fill:#1f9d6b,stroke:#167a53,color:#fff,font-weight:bold classDef pay fill:#06314c,stroke:#021f33,color:#fff
A stepAn outside serviceRuns once per itemA personOne path onlyPaths rejoinResultPayoff
Build size
Advanced

A larger build with multiple systems, AI reasoning, and custom rules.

Business functions
Email AutomationDocument Processing & OCRSpreadsheet & Database OpsSurvey & FeedbackFile & Cloud StorageHR & RecruitingEducation & Training
Connects
Google SheetsGoogle DriveGmailAzure OpenAI
Featured in

The problem it solves

You want to give every candidate a thoughtful response, but with a stack of applicants that turns into hours of writing nearly the same email over and over. Candidates who never hear back reflect poorly on your company.

Who it fits

HR and recruiting teams who want to send every applicant a personal, professional response without writing each one by hand.

How it works

  1. You run the process for a batch of candidates
  2. The system pulls candidate details and resumes from a spreadsheet and Google Drive
  3. It checks that each resume file is valid and extracts the text
  4. AI writes a personalized email: an onboarding plan for those shortlisted, or a polite rejection with learning resources for those who aren't
  5. Gmail sends each candidate their personalized email automatically
What you get

Candidates who get a personal reply

Every candidate receives a personalized onboarding note or a thoughtful rejection email automatically.

What you get

A personalized email sent to every candidate, plus a log of any resumes that failed to process.

What you need

A Google Workspace account and access to Azure OpenAI's GPT-4o model.

We can build this. But should you?

The hard question is not how to build it. It is whether this is the right thing to build first.

That is what a Fractional Chief AI Officer figures out with you, before anyone writes a line of code.

Let's Talk Strategy

Related automations

Back to the AI Playbook