A no that comes back for a second round was usually a maybe when it left. That is rarely a failure of firmness but of sequencing — the message went out before the decision was finished, the reader felt the gap, and did the rational thing.
Declines are the messages people rewrite most and send worst. This is the order that makes them land first time.
Decide before you open the message box
Most weak refusals are drafts of a decision rather than reports of one. You type at seventy per cent to hear how it sounds, and out comes "I don't think we can do this right now" — which is not a no. "Right now" is an invitation; "I don't think" is a position with a handle on it.
Readers spot this immediately, because they are looking for it: hedged verbs, a reason phrased as a condition, a timeframe bolted onto the refusal. They push, and pushing is correct: you left the door open by deciding in the draft.
Finish deciding away from the keyboard. If you cannot, say so — "I need until Thursday on this" is a better message than a refusal that is secretly a negotiation.
Lead with the answer
Put the no in the first two sentences. Everything after is support.
The instinct runs the other way. It feels kinder to build up — context, appreciation, how hard the choice was — and arrive at the answer once it is cushioned. It reads as evasion. The reader knows within a sentence what is coming, and every paragraph before it is time spent watching you not say it.
Leading also protects the reader's time, which is most of what politeness in writing is. They can stop after two sentences.
A version of this overshoots: three words and nothing else reads as contempt. The fix is the reason, not delay.
One reason, not three
Give one real reason. Not your best three.
Stacking feels thorough and does the opposite. Three reasons are three things to argue with, and a determined counterpart takes them in order: budget can be found, timing can move, the competing priority is not really a priority. Each rebuttal is reasonable, and after the third the refusal is dismantled without anybody addressing the operative one.
Worse are reasons chosen because they were easier to say than the true one. Decline on price but write about timing and you will be offered a later date — so you refuse twice, with less credibility.
Pick the reason that would still hold if every other one were fixed. If the true reason is not sayable — a confidence, a judgement about a person — refuse without one rather than substitute a decoy. "This isn't something we're going to do", with nothing after it, is more honest and harder to argue with.
Separate the no from the relationship
Two things are communicated, and readers merge them unless you separate them: the answer, and where they stand with you.
Put them in different sentences, and do not let the second soften the first. Warmth wrapped around an answer changes how the answer reads — the mechanism behind the accidental maybe. Warmth stated separately, once the answer is unambiguous, is simply true.
"No on this one. I'd want to work together on the next thing, and I mean that" reads as a firm no from someone who likes you. "We would love to find a way to make something work eventually" reads as a maybe from someone who does not want to say no.
Offer an alternative only if you mean it
The reflex is to close with something — an introduction, a smaller version, a later date. Worth doing when real, harmful when not.
An insincere alternative reopens the conversation you just closed, and creates an obligation you will quietly fail to meet — costing more than a plain refusal would.
One test: if they took you up on it tomorrow, would you do it? If not, delete the sentence. A clean no is a complete message.
Where a fluent draft is dangerous
This is where AI drafting most reliably makes things worse, and the mechanism is specific.
Ask an assistant to decline something and what comes back is usually warm, well-organised and structurally a maybe. A draft reproduces the genre, and the polite decline's genre is the hedged one — answer in paragraph three, several reasons, an alternative you never agreed to. Every failure above, pre-polished.
The polish is the danger. A clumsy maybe is obviously a maybe; a fluent one reads as a considered decision, so it survives review — you are checking whether the wording is good, and the wording is good. The question is narrower. Does this message decide?
Some messages should not be drafted at all, and a refusal sits near that line: the part a model cannot supply is the only part that matters. Write the answer sentence yourself, then use help underneath — the note only you can write applied to the hardest case, and the obligation behind AI-drafted correspondence etiquette: own the sentence the reader will act on.
Make it clear the thread is closing
A refusal is usually the last message in a thread — worth saying rather than assuming.
In RelayLink a package carries a stated response shape — decision, opinion, review, info or fyi. Only fyi lets a thread resolve to idle once the other side has seen it; every other shape leaves it standing as an open obligation, because there is no separate "replied and closed" state. Most refusals reopen for exactly that reason: they never announced themselves as final.
A sent message is sent — nothing recalls it — so the review before it goes is the only place the real question gets asked. Not whether it is warm enough. Whether it is a no.
When it is, send it once and let the thread close.