
Post: How to Automate Candidate Feedback Emails Without Sounding Robotic
To automate candidate feedback emails without sounding robotic, trigger on an ATS “declined” event, draft the message from the reason code and scorecard data, and route every draft to a human for a quick approval before it sends. Automation handles timing and assembly; the human keeps the voice. This is the engine of a scalable feedback process.
Before You Start
You need three things in place before you build anything: standardized reason codes, structured scorecards, and an ATS whose API exposes a declined event. Confirm all three. Automation built on top of messy data does not produce good feedback faster — it produces bad feedback faster, at scale, which is worse than the manual process it replaced. If your interviewers are not scoring candidates consistently yet, fix that first with structured scorecards, because the scorecard is the raw material every drafted message is built from.
The principle underneath all of this is automation first, then AI. You standardize the process — codes, scorecards, templates — and only then layer AI on top to handle the language. Reverse that order and you get the generic AI slop everyone complains about.
Step 1: Catch the Trigger
In Make.com, set a watcher on your ATS for the “candidate declined” event. The payload carries the candidate name, the role, the reason code selected at the decision, and the scorecard data. This event is the starting gun for the entire flow. If your interviewers are not scoring consistently yet, fix that first with structured scorecards, because the trigger is only as useful as the data it carries.
If your ATS cannot emit a real-time event, a scheduled poll that checks for newly declined candidates every few hours works nearly as well. The candidate experience does not depend on instant firing — it depends on the message arriving within your SLA, which a periodic poll comfortably satisfies.
Step 2: Select the Template by Reason Code
Route the reason code to its matching template deterministically. Skills gap routes to the skills-specific template; stronger-candidate-selected routes to the close-decision template; role-closed routes to the no-fault template. Same code, same template, every time. This determinism is a feature, not a limitation — it guarantees consistency across every recruiter and every candidate, which is both a quality safeguard and a legal one.
Build this routing as a simple lookup in Make.com: reason code in, template ID out. Because it is deterministic, it is trivial to audit. Anyone can verify that a given reason code always produces the appropriate category of message, which is exactly the kind of documented consistency that protects the organization.
Step 3: Draft With AI on Top of Structure
Pass the scorecard observation and the selected template to an AI step that rewrites the structured note into warm, plain language inside the template. This is the one place AI belongs in the flow, and its role is narrow and important: it phrases a message whose content has already been decided. The AI is not choosing the reason for rejection, not selecting the competency, not making any judgment about the candidate. The scorecard and reason code already made every decision. The AI only makes the decided message sound like a person wrote it.
Give the AI step tight instructions: keep it to the strength and growth area provided, anchor everything to the role, and never introduce a claim not present in the scorecard data. With those guardrails, the AI reliably turns “Competency: communication, score 2/5, observation: case presentation lacked clear structure” into a warm, specific sentence a candidate can actually use.
Step 4: Insert a Human Approval Step
Send the draft to the recruiter’s approval queue. They read it, adjust a sentence if needed, and approve. This single step is what separates a thoughtful message from the “generic AI rejection” candidates dread, and it is the step teams are most tempted to cut to save a minute. Do not cut it. The approval step is the entire difference between a system that respects candidates and one that processes them. Total human time is under a minute per candidate, which is sustainable even at high volume.
The queue also catches the rare bad draft — the case where the scorecard data was thin or the AI phrasing missed. A human glance prevents that edge case from ever reaching a candidate, which keeps the whole system trustworthy. One person can clear a day’s queue in the time it used to take to write two rejections by hand.
Step 5: Send and Log
On approval, the email sends and the system logs the timestamp against the candidate record. That timestamp feeds your response-rate and time-to-response metrics, which prove the process runs and runs on time. The candidate receives a specific, timely, human-sounding message — indistinguishable from one a recruiter wrote from scratch, because in the way that matters, a recruiter did.
Logging closes the loop operationally. With every sent message timestamped, you can report the percentage of interviewed candidates who received feedback within SLA — the single number that turns “we treat candidates well” into a measured fact.
How to Know It Worked
Read ten sent messages blind, mixed with a few a recruiter wrote by hand. If you cannot reliably tell which were automated, it worked. Then check your time-to-response metric — it should sit comfortably inside your SLA without anyone rushing or watching a clock. And watch your response rate climb toward the percentage of interviewed candidates you intend to reach, which for a well-built system is effectively all of them.
Common Mistakes
- Removing the human approval step to save a minute — this is exactly how you recreate the cold form letter you were trying to escape
- Letting the AI choose the reason or the competency instead of phrasing a message already decided by the scorecard
- Building the automation before reason codes and scorecards are standardized, which scales bad data instead of good feedback
- Over-instructing the AI to be effusive, which produces gushing, obviously-generated praise
- Skipping the logging step, which leaves you unable to prove the process works
How This Stays Human at Scale
The fear driving this whole topic is that automation makes feedback cold. It is worth being precise about why this design does the opposite. The coldness candidates complain about comes from messages with no real substance — a template fired with no specific reason, no observed detail, nothing that proves a human ever considered them. This flow is built to carry exactly that substance: the actual competency, the actual observation, phrased warmly and approved by an actual person. The automation removes the friction that was preventing the human touch, not the human touch itself.
Scale is where this matters most. A recruiter can write three heartfelt rejections by hand on a quiet Friday. The same recruiter facing forty rejections on a Monday writes vague one-liners or nothing at all — not from indifference, but from impossibility. The automated flow gives that recruiter the ability to send forty specific, human-approved messages in the time three used to take. Counterintuitively, candidates get more personal feedback after automation, because the system makes the personal touch affordable at a volume where it was previously impossible.
Expert Take
Automation first, then AI — the order is not negotiable. People want to bolt AI onto chaos and call it a feedback system. It produces exactly the generic slop everyone hates, because the AI is being asked to invent substance it does not have. The structure has to come first: reason codes, scorecards, deterministic template routing. Only once that scaffolding exists does AI earn a role, and its role is narrow — make the human-decided message sound human. Keep the approval step forever. The minute you cut it to save time is the minute you become the thing candidates complain about online. I have watched teams shave that step and within weeks they are the cautionary tale in someone’s LinkedIn post about being processed by a machine.

