Decline a Work Request by Email with AI, Politely but Clearly
Draft a reply declining another team's extra-work request with AI, without blurring the "no": three steps (draft, find misreadings, revise) and two checks.
Someone asks for an English edition of the manual by next week, and your team can't take it. Ask an AI for a reply and the sentences come out smooth. The trouble is that polishing turns "we can't" into "we'll look into it", or slips in a promise nobody asked for.
[1] Prepare two files. request.txt is the message you received; facts.txt holds your reasons and the one alternative. Writing the reasons, the alternative and "no other promises" yourself, first, is what the method rests on.
Subject: English version of the customer manual Hi, this is B from the planning team.We have a meeting with an overseas client, so could you also prepare an English version of the customer manual by next week? The same structure as the current edition is fine.Please let me know what schedule works.- Reason 1: Everyone on our team is assigned to this month's revision of the current edition and the regular update.- Reason 2: English translation and review are outside what our team does, and we have no one to review it.- The one alternative we can offer: a list of outside vendors who can translate (attached to the email).- Make no other promises. Do not mention dates, schedules or further support.[2] Try a short prompt first: "Write a polite reply declining the request email below", followed by both files. Run with claude -p --model claude-sonnet-5-5 --max-turns 1 --tools "" --setting-sources "" --strict-mcp-config < p0.txt. The body, abridged:
Unfortunately, we won't be able to take on the English version of the customer manual. Everyone on our team is currently assigned to this month's revision of the current edition and the regular update. In addition, English translation and review fall outside what our team handles, and we have no one who could properly review the result.…This run is acceptable. But the prompt gave the model no goal and no list of wordings to avoid, so nothing in it guards the "no". Anthropic's advice on adding context is to explain why an instruction matters, not only give the instruction.
[3] Step 1, the draft. State the goal, then the prohibitions as rules. Append both files after this template in <request> and <facts> tags (template abridged).
Write a draft reply to an extra-work request from B, who works in another department. I cannot take this request and I want to keep the working relationship. The reader must understand "no" from this email alone. Rules:- State the refusal directly within the first two paragraphs, in words that make sense even if the reader stops there, such as "we can't take this on".- Use only the reasons and the alternative listed in <facts>. Do not add dates, time frames, extra support or promises to reconsider.- Avoid softeners such as "we'll look into it" or "if possible".- Polite register, 6-9 sentences. Output the email only.Subject: Re: English version of the customer manual Hi B, Thank you for thinking of us for the English version of the customer manual. Unfortunately, we can't take this on. Everyone on our team is assigned to this month's revision of the current edition and the regular update, so we have no capacity to add anything else. In addition, English translation and review are outside what our team does, and we have no one who could review the result. …[4] Step 2, find misreadings. Don't ask for a fix, only "read it as B and quote the sentences that could be misread". Use a new call with the draft and <facts>. The criteria: (a) reads as postponed, (b) reads as a promise not in <facts>, (c) sounds like blame. If nothing is found, the answer is the single word "None". Splitting draft, review against criteria, and revision into three calls is the self-correction chain in Anthropic's prompt chaining guidance.
Everyone on our team is assigned to this month's revision of the current edition and the regular update, so we have no capacity to add anything else. (a) "this month's" ties the refusal to a time-limited workload, so B may read it as "ask again next month."[5] Step 3, revise. Give the draft, the review and <facts>, and say: fix only the flagged sentences and change nothing else, not even one character. If other sentences move, what you checked in step 2 no longer applies.
Everyone on our team is assigned to the revision of the current edition and the regular update, so we have no capacity to add anything else. …"This month's" is gone, and a line-by-line comparison with the draft shows no other change.
[6] Check two things in the final email.
- Is the refusal inside the first two paragraphs after the greeting?
- Is there anything promised that wasn't in the input (numbers, "later", "next time", "if possible")?
The second is easy to miss by eye, so pull the lines with a script. It only finds candidates; read the flagged lines and decide yourself.
import re, systext = open(sys.argv[1], encoding="utf-8").read().strip()refuse, vague = re.compile(sys.argv[2]), sys.argv[3]lines = text.splitlines()if re.match(r"\W*(제목|Subject)\s*:", lines[0], re.I): lines = lines[1:]paras = [p for p in re.split(r"\n\s*\n", "\n".join(lines).strip()) if p.strip()]if len(paras[0].splitlines()) == 1: paras = paras[1:] # a one-line greeting doesn't countprint("1) refusal in first 2 paragraphs:", "OK" if refuse.search(" ".join(paras[:2])) else "NO")for n, l in enumerate(lines, 1): for m in re.finditer(r"\d+|" + vague, l): print(f"2) line {n}: {m.group(0)!r} | {l.strip()[:50]}")$ K="can't|cannot|not able|unable"$ V="look into|if possible|next time|this month|soon|will get back|reconsider|later"$ python3 -I check_mail.py draft.txt "$K" "$V"1) refusal in first 2 paragraphs: OK2) line 6: 'this month' | Everyone on our team is assigned to this month's r$ python3 -I check_mail.py final.txt "$K" "$V"1) refusal in first 2 paragraphs: OKThe draft's "this month" is flagged and the final email has no flagged line. Note that "this month" is also in facts.txt, so the stated reason can itself leave the "maybe next month" opening, and step 2 caught it here.
Don't use this for contracts, refunds, or damages, where the wording of a refusal ties into legal responsibility. Have the owning department read it first.