To reject a candidate properly, tell them as soon as the decision is made, on the channel they used, in a short message that names them and the role, gives one neutral reason, and says whether you will keep or delete their data. Do not compare them with other candidates, and do not cite any reason unrelated to the job. This guide gives templates for each stage, send-by targets, a list of safe reasons, and a way to reject hundreds of applicants without writing each message by hand.
How scores and decisions are produced is covered in the interview scorecard template. This article starts after the decision is made.
When and how to reject, by stage
One template for every stage feels cold to someone who sat two interviews, and too heavy for an applicant who dropped at CV screening. Match the message to the time the candidate invested.
| Stage dropped | Send by | Channel | Contents |
|---|---|---|---|
| CV screening or must-have criteria | 3 working days after the posting closes or screening ends | Automated email or WhatsApp | Thanks, not moving forward, option to keep data |
| First-round interview | 2 working days after the interview | Email or WhatsApp with the candidate's name | Thanks, not moving forward, one neutral reason |
| Interview with the manager | 2 working days, or the same day if the candidate is waiting | Phone call, then a written note | Short reason, feedback offer, talent pool option |
| Offer withdrawn or headcount filled | Same day | Phone call from the recruiter | Honest explanation and an apology for the uncertainty |
The timings are practical targets, not legal requirements. Mekari Talenta, an Indonesian HR software vendor, suggests one to two weeks after the last interview as a reasonable ceiling (Talenta). In high-volume hiring, candidates usually apply to several employers at once, so the sooner you reply, the less time they spend waiting.
If you have no decision yet, send a holding message. One sentence is enough: "Our team is finishing interviews until Friday and we will update you by Monday at the latest."
Rejection templates you can use
Replace the items in square brackets. The wording is neutral, with no religious or cultural greeting to swap out.
1. Dropped at CV screening or must-have criteria
Subject: Update on your application for [role] at [company]
Hello [name],
Thank you for applying for [role] at [company]. After reviewing all applications, we cannot move your application to the next stage because the requirements of this role are closer to other candidates' experience.
We will delete your application data once recruitment for this role ends. If you would like us to contact you about other roles, reply "agree" and we will keep your data for [12] months.
We appreciate your time and hope you find the right role.
[recruiter name], [company]
2. Dropped after the first-round interview
Subject: Outcome of your [role] interview at [company]
Hello [name],
Thank you for taking the time to interview for [role] on [date]. We assessed all candidates against the same criteria, and you will not move to the next stage. For this role we need experience closer to [main requirement of the role].
If you would like the assessment points from your interview, reply to this message and we will send a summary within two working days.
Thank you again, and we wish you well.
[recruiter name], [company]
3. Dropped at the final stage, with feedback
Send this after the phone call, not instead of it.
Hello [name],
As we said on the phone, you were not selected for [role]. Across two interviews you showed [a specific strength, for example how clearly you explained the workflow]. For this role, our assessment of [one job criterion, for example handling daily targets] is still below what we need.
We would like to stay in touch for similar roles. If you agree, we will keep your contact details and profile summary for [12] months, and you can ask us to delete them at any time at [email address].
[recruiter name], [company]
4. Strong candidate, but the headcount is filled
Hello [name],
Your interview went well, but the headcount for [role] has been filled by candidates who finished earlier. This is not a judgment of your ability. If a similar need comes up in [period], we would like to contact you first. Reply "agree" if you are happy for us to keep your data for [12] months.
Use this template only when it is true. Do not use "headcount filled" to cover another reason.
5. Candidate did not attend or reply
Hello [name], we tried to reach you about your [role] interview on [date] and have not heard back. We are closing the role to candidates who have not confirmed by [date]. If you are still interested, reply before then and we will find a slot.
This closes the matter politely, and a candidate who was genuinely unavailable still has a way back.
6. Short WhatsApp message
Hello [name], thank you for joining the [role] selection at [company]. For now you will not move to the next stage. We appreciate your time and wish you success. If you would like to be remembered for other roles, reply "agree".
7. Phone script for final-stage candidates
- Introduce yourself and ask if they have a minute.
- State the decision first: "We are not able to offer you this role."
- Give one job-related reason and one real strength.
- Ask whether they want written feedback, then thank them.
- Send the written follow-up within an hour, using template 3.
Get to the decision in the second sentence. A candidate waiting for news has already guessed the outcome.
Reasons that are safe to give, and ones that are not
Article 5 of Indonesia's Law No. 13 of 2003 on Manpower says every worker has equal opportunity, without discrimination, to obtain a job. In practice, any reason you write should trace to a job criterion, not to a personal characteristic.
| Reason | Safe? | What to write instead |
|---|---|---|
| Experience in [task] is below what the role needs | Yes | Use as written |
| Score on [competency] is below the threshold | Yes, if the threshold is written down | Name the competency, not another candidate's number |
| Schedule or location does not fit | Yes | Cite the requirement stated in the posting |
| Another candidate was a closer fit | Yes | Do not name them or give their scores |
| Too old or too young | No | Drop it and assess ability |
| Marital status or plans to have children | No | Drop it |
| Religion, ethnicity, physical appearance | No | Drop it, unless it is a stated requirement that is inherent to the job |
| "Not a culture fit" | Avoid | Replace with observable working behavior |
| Result from an AI detection tool or a single suspicion | Avoid | Follow the fair procedure before deciding |
Questions you should not ask in an interview, and what to ask instead, are in the interview questions article. The same rule applies to rejection messages: if you should not ask it, you should not use the answer as a reason.
Giving feedback without creating new problems
Candidates often reply to a rejection with one question: what was missing? Three rules keep the answer useful and safe.
- Draw from the scorecard. An answer tied to written criteria cannot be dismissed as personal taste. Write one strength and one gap, one sentence each.
- Never share other candidates' scores, rankings, or an interviewer's raw notes. That is another person's data and internal material.
- Do not promise outcomes. "If you add experience handling daily targets, a future application will be stronger" is fine. "Apply again and you will be hired" is not.
A useful example: "Your answer on handling an angry customer was well organized, but it did not mention follow-up after the issue was resolved. That is one of the criteria for this role." A useless one: "Not enough chemistry."
Rejecting hundreds of candidates at once
In mass hiring, hundreds of candidates per opening may drop out. Writing each message is unrealistic, and sending nothing leaves hundreds of people waiting. A workable flow:
- Group rejections by the stage where candidates dropped and use one template per group.
- Merge the name and role as variables. A bulk message that opens with "Dear candidate" reads like spam.
- Send in one batch within one working day instead of trickling out over two weeks. Avoid late-night sends.
- Separate candidates who had a human or AI interview. They spent real time, so their message carries one neutral reason, not the CV-screening template.
- Set up one email address or number for replies, and decide who reads it and when. Some candidates will answer.
- Log the send date and the data deletion date in your system.
To thin applicants before this step, see bulk resume screening. For how to split work between people and automation, see automated candidate screening.
Candidate data after a rejection
A rejection is also a decision about data. The provisions that matter most under Indonesia's Law No. 27 of 2022 on Personal Data Protection (PDP Law):
- Article 43(1): data must be deleted once it is no longer needed for its purpose, consent is withdrawn, the person requests it, or the data was obtained unlawfully.
- Article 21(1): when relying on consent, the controller must tell the person, among other things, the purpose, data types, retention period, and their rights.
- Article 16(2)(b): processing must match its purpose. Keeping data for other roles beyond the original application is a new purpose.
- Article 10(1): a data subject may object to a decision based solely on automated processing that has a significant effect.
In Malaysia, the Personal Data Protection Act 2010 (PDPA) works along the same lines. The Notice and Choice Principle in section 7 requires telling applicants the purpose of collection, and the Retention Principle in section 10 stops you keeping data longer than needed for that purpose. Keeping an unsuccessful applicant's data for a talent pool goes beyond the original recruitment purpose, so ask for their consent first and say how long you will hold the data. Check the current amended text with your counsel.
That means writing down three things as policy:
- How long you keep rejected candidates' data. Neither law gives a fixed number for applicants, so you set it, write it, and tell candidates. For example: until the role closes, plus a set period to handle questions.
- Talent pool only for candidates who agreed, with a stated retention period. Without consent, delete.
- A human review route for automated rejections. If a role rejects candidates automatically based on a score, say so in your privacy notice and give an address for objections.
For the full picture, see the guide to Indonesia's PDP Law and AI screening. This article is not legal advice, so check how it applies to your company with legal counsel.
Common mistakes
- Sending nothing. Candidates draw their own conclusions, and "ghosted after the interview" stories travel faster than stories about a tidy process.
- Promising "we will contact you when something opens" with no intention or system to follow through.
- Keeping every candidate's data forever "just in case".
- Naming other candidates or their scores, or giving reasons tied to age, marital status, or looks.
- A manager telling the candidate no through a personal chat with a different reason from the official record. Route it through the recruiter.
- Deleting a candidate from your system before the rejection is sent, so you have no proof of when it went out.
Where Inhire fits
Inhire (getinhire.com) is an AI screening and AI interview platform for high-volume hiring. The Inhire AI interviewer runs the first-round voice interview, and every candidate gets a transcript, audio, and a score per criterion with the quotes behind it. That gives you material for one reason sentence and feedback you can trace to criteria rather than impressions. In manual mode, your recruiter moves or rejects each candidate, and in automatic mode candidates scoring below the lowest threshold you set are rejected straight away, so keep a review route for anyone who objects. What a rejection says and when it goes out stays your team's decision.
Start free on one open role, or read the interview scorecard template to build criteria you can explain to candidates.