Dashboard

How to Prompt AI to Write a Rejection Email

Rejection emails fail by being vague or reckless. Set the disclosure level first, then constrain the model. Template, worked example, and what never to automate.

Steve Jefferson
Steve Jefferson
Developer Advocate
11 September 20261 min read

How to Prompt AI to Write a Rejection Email

Ask a model to write a rejection email and it will hand you something warm, generic and faintly insulting. We were impressed by your background, we had many strong candidates, we wish you every success. Nobody believes it, and the person reading it learns nothing.

The fix is not a better tone instruction. It is realising that a rejection email has exactly one hard variable, how much of the real reason you disclose, and that your prompt has to set that deliberately instead of leaving it to a model that will always choose the safest possible nothing.

Set the disclosure level first

Before any drafting, decide which of these you are sending. They are different emails, not different tones of the same email.

  • Level 0, no reason. Appropriate for high-volume early-stage rejections where you genuinely did not evaluate the person in depth. Honest, short, and not pretending otherwise.

  • Level 1, category only. We went with someone who has more experience in the specific stack. True, general, gives the reader one usable signal.

  • Level 2, specific and actionable. For finalists, people who invested real time, and anyone you might want to hire later. Names the actual gap.

Most bad rejection emails are a Level 2 situation handled with Level 0 language. The person did four interviews and a take-home, and got the same paragraph as someone who was screened out on their CV. That is where resentment comes from, not from the rejection itself.

Going the other way has its own cost. Detailed reasons on a hiring decision can create a record you have to stand behind, and anything touching age, health, family status, nationality or similar should never appear in writing regardless of whether it influenced anything. If you are unsure whether a reason is safe to state, that uncertainty is itself the answer: drop to Level 1.

The prompt

Give the model the facts, the level, and the constraints. It is not a creative task, it is a controlled one.

Write a rejection email.

Context: [role or request], [how far they got], [how much time they invested], [any prior relationship].

Decision: [what you decided and, privately, why].

Disclosure level: [0, 1 or 2 from the definitions above].

Rules:

Deliver the decision in the first two sentences. No preamble.

State the decision as final. Do not imply it is under review.

No false encouragement. Do not say we will keep you in mind unless we actually will.

No compliments that contradict the decision.

Do not mention anything about the person outside their work.

Under 150 words. Plain sentences.

Sign-off: [your name, and whether you are open to a reply].

The two rules doing the most work are first two sentences and no false encouragement. Models default to burying bad news after a paragraph of warm-up, which reads as cowardice, and to softening the ending with an implied future that does not exist, which is the line people quote back at you six months later.

Worked example: candidate after a final round

Input to the model: senior support role, four stages including a take-home, strong on writing and empathy, decided against because they had never worked without a manager and the role is the only support person in the company. Disclosure level 2. We would consider them again at a larger stage.

What a vague prompt produces:

Thank you so much for taking the time to interview with us. We were genuinely impressed by your experience and it was a very difficult decision, but unfortunately we have decided to move forward with another candidate at this time. We'll definitely keep your details on file for future opportunities. Best of luck with your search.

Four stages of someone's life, answered with a form letter. The phrase at this time is also doing quiet damage: it implies a door that is not open.

What the structured prompt produces:

Hi Priya, we are not moving forward with your application for the support lead role. I wanted to tell you why, because you put real work into this.

Your written communication was the strongest we saw, and the take-home was the only one that caught the billing edge case. The deciding factor was that this role is the entire support function for now, with no one above you to escalate to, and your experience has been in teams with a manager in the loop. That is a gap in this specific job, not a gap in you.

If we get to the point of hiring a second support person, I would like to talk again, and I mean that literally rather than politely. Happy to answer questions if useful.

Same decision, same length band, completely different relationship afterwards. Note what the prompt prevented: no it was a difficult decision, no we were impressed by your background, no on file.

The other two rejections you send

Declining a vendor or proposal. Here the useful disclosure is the criterion, not the competitor. Tell them what decided it, price, timeline, missing capability, and do not name who won. Add one rule to the prompt: do not invite them to come back with a better price unless you want a negotiation, because a model will add that line by default.

Declining a client request. The hardest of the three, because you are saying no while keeping the relationship. The prompt needs one extra instruction: offer exactly one alternative, or none. Models like to offer three, which reads as bargaining and reopens the thing you just closed. If the request was in scope and you are declining anyway, the apology belongs at the start and should be one sentence. Our template for prompting AI to write a customer apology email covers that shape in more detail.

What not to let the model write

  1. Reasons you did not actually use. A model asked for specific feedback will invent plausible feedback. If you did not evaluate their system design, do not let a sentence about their system design into the email.

  2. Scores or rankings. You were fourth out of five is information nobody asked for and you cannot un-send.

  3. Anything about the person rather than the work. Put this in the prompt as a hard rule, because the training data is full of rejection emails that do exactly this.

  4. Future promises. We will keep you in mind is either a commitment you will forget or a lie you have automated.

The general principle: a rejection email is one of the few places where the model's instinct toward warmth actively hurts you. Constrain it rather than ask it to be honest, because agreeableness is a trained default and instructions work better than appeals.

Make it yours before you send it

Run the draft past two checks. Would you be comfortable if the recipient posted it publicly, which most rejected candidates now do at least privately to friends. And does it sound like you, or like a company? A rejection written in house style reads as a policy; one written in a person's voice reads as a decision someone made. If you send these regularly, feeding the model two of your own past emails is faster than describing your tone, which is the same technique as prompting AI to match your brand voice.

Frequently asked questions

Should I tell a candidate the email was drafted with AI?

No, and the question usually signals the email is not finished. You wrote the decision and the reasons; a tool helped with the sentences. What matters is that every factual claim in it is one you would defend out loud.

How fast should a rejection go out?

Fast, and faster the earlier the stage. The main complaint is silence, not rejection. If a decision is made, the email should follow the same day at early stages and within two days after a final round, because the gap is where people build up a story about what happened.

Can I use one prompt for every rejection?

One template, three disclosure levels, and real context each time. What you cannot do is one output for every rejection, which is what produces the letter everyone recognises. Consistency of structure is good; identical text is what makes it feel like a machine wrote it, and it is what makes any hiring rubric you built feel pointless from the outside.

What if they reply asking for more detail?

Decide your policy before you send, not in the moment. If you offered to answer questions, answer them consistently with what you wrote and add nothing new. Improvising extra reasons under pressure is how a clean rejection becomes an argument. Writing the role clearly in the first place, as in our notes on prompting AI for a job description, cuts the number of these conversations more than any email template will.

For the underlying technique, see our guide to prompt engineering technique.

How did this land?

About the author

Steve Jefferson
Steve Jefferson

Developer Advocate

Steve builds something with Swarmz every week and writes up what worked, what broke, and what he'd do differently. Tutorials and hands-on guides are his lane.

Share

Get the next post in your inbox

One email a month. Product updates, engineering posts, and the best of Built with Swarmz.

I agree to receive emails about AI building tips and Swarmz product news. Unsubscribe any time.

How to Prompt AI to Write a Rejection Email | swarmz.net