
How to Say No to a Feature Request Without Losing the Customer
9 min readUpdated July 2026
On this page▾
A customer takes ten minutes out of their day to write up a feature request. They explain their use case, maybe even sketch how it could work. And you know, the moment you read it, that you’re never going to build it.
Now you have two options. You can let the request sit in “under review” forever and hope they forget about it. Or you can tell them no.
Most teams pick the first option because it feels safer. It isn’t. A request that sits untouched for a year tells the customer you either didn’t read it or didn’t care. A clear, well-reasoned no tells them you read it, thought about it, and respected them enough to be honest.
This guide covers why a good no builds trust instead of destroying it, the four components every good no contains, copy-paste templates for the three most common situations, and the phrases that make even a justified no sound dismissive.
Why a Clear No Beats a Vague Maybe
The instinct to avoid saying no comes from a reasonable fear: this customer pays us, and rejecting their idea might push them to cancel. So teams hedge. “We’ll add it to the backlog.” “Great idea, we’ll consider it.” “Maybe in a future release.”
The problem is that customers remember. Six months later they check in — “any update on that feature?” — and now you’re having the same conversation again, except this time you’ve also wasted six months of their patience. The vague maybe didn’t avoid the disappointment. It deferred it and added a broken expectation on top.
A clear no does the opposite. It closes the loop immediately. The customer might disagree with your decision, but they can now make informed choices: adjust their workflow, use a workaround, or — in the worst case — evaluate other tools. That last outcome sounds scary, but a customer who leaves because your product genuinely isn’t built for their use case was going to leave anyway. The no just saved you both a year of friction.
There’s a second-order effect too. When you say no publicly on a feedback board, every other customer watching learns something about you: this team makes real decisions and communicates them. That’s rarer than it should be, and users notice. A board full of honest “declined” statuses signals a healthier product than a board where everything has been “under review” since 2023.
The Anatomy of a Good No
Every effective rejection of a feature request contains four parts. Miss one and the message lands worse than it needs to.
1. Acknowledge the specific request. Not “thanks for your feedback” — that’s what auto-responders say. Reference what they actually asked for and, if they shared one, their use case. This proves a human read it. One sentence is enough: “Thanks for laying out how you’d use per-project permissions — the agency use case makes sense.”
2. Give a clear decision. Say the actual words. “We’re not going to build this” or “this isn’t something we plan to add.” Softening the decision into ambiguity (“it’s not on the roadmap right now”) reads as a maybe, and you’ll have this conversation again.
3. Explain the real reason. This is the part most teams skip, and it’s the part that determines whether the no builds trust or burns it. You don’t need a paragraph — one or two honest sentences. Common real reasons: it serves too few users to justify the maintenance cost, it conflicts with the product’s direction, it would add complexity for everyone to serve an edge case, or it’s a product category you’ve deliberately decided not to enter. Customers can handle any of these. What they can’t handle is no reason at all.
4. Point somewhere useful. End with the next-best thing: a workaround, an integration, an existing feature that gets them 80% of the way, or — honestly — a different tool that does what they need. If nothing exists, say what would change your mind: “If this gets significant votes from teams with your setup, we’d revisit it.”
That’s the whole formula. Acknowledge, decide, explain, redirect. It fits in five sentences.
Template: The Permanent No
Use this when the request conflicts with your product’s direction or serves a use case you’ve deliberately decided not to support. This is the hardest no to write and the most important one to write clearly.
Hi [name],
Thanks for the detailed request — the [use case] scenario you described makes complete sense, and I can see why [feature] would help there.
I want to be straight with you rather than leave this in limbo: we’re not going to build this. [Product] is focused on [core direction], and [feature] would pull us toward [what it conflicts with] — a direction we’ve deliberately decided not to take. Building it well would mean maintaining it forever, and it would serve a small slice of users at the cost of complexity for everyone else.
What might help instead: [workaround, integration, or alternative tool]. It’s not identical to what you asked for, but it covers [the core need].
I know this isn’t the answer you were hoping for. Thanks for caring enough about the product to write it up.
The line “I want to be straight with you rather than leave this in limbo” does a lot of work. It frames the rejection as respect, which is exactly what it is.
Template: The Not-Now No
Use this when the idea is good but it’s genuinely not happening in the next couple of quarters. The trap here is accidentally promising a timeline. Don’t. Say what would move it up instead.
Hi [name],
This is a solid idea, and you’re not the only one asking — [feature] comes up regularly.
Honest status: it’s not in our current plans, and I don’t want to say “soon” when I can’t back that up. Our next few releases are focused on [current priority], and this doesn’t make the cut against those.
What actually moves things like this forward is demand we can see. I’ve left the request open on our feedback board — if it keeps collecting votes and use cases, that’s exactly the signal that changes our prioritization. If we do pick it up, everyone who voted gets notified automatically.
Thanks for pushing on this.
Note what this template doesn’t do: it doesn’t say “maybe next quarter,” doesn’t say “it’s on the roadmap,” and doesn’t create any expectation you’ll have to walk back. The customer knows exactly where things stand and what would change them. This is also why routing requests through a voting board beats handling them in scattered emails — the “keep voting” redirect only works if votes actually drive your prioritization.
Template: The Workaround-Exists No
Use this when you won’t build the feature but the customer’s underlying problem is solvable today. Lead with the solution, not the rejection — the customer cares about their problem, not your roadmap.
Hi [name],
Good news first: you can get most of what you’re after today. [Step-by-step workaround, 2–3 sentences, or a link to a doc.]
On the feature itself — a built-in [feature] — we’ve decided not to add it. The workaround above covers the core need, and a native version would mean [honest cost: settings sprawl, maintenance, edge cases] for something the current approach already handles.
If the workaround breaks down for your use case, reply and tell me where — that’s the kind of detail that would make us reconsider.
The last line matters. “We said no” and “we stopped listening” are different things, and this line keeps the door open without reopening the decision.
What Never to Say
Some phrases show up constantly in feature request rejections and reliably make things worse.
“We’ll add it to the backlog.” Everyone knows the backlog is where requests go to die. If you mean no, say no. If you mean “this needs more demand,” say that.
“Due to overwhelming demand for other features…” You’re telling the customer that other customers matter more than they do. The prioritization is real; the framing is insulting.
“This doesn’t align with our vision.” Fine as a category of reason, useless as a sentence. What vision? Aligned how? If you use direction as your reason, name the direction: “We’re building for small teams, and this is an enterprise-scale feature.”
“Great idea! Unfortunately…” If it were a great idea, you’d build it. Customers hear the hollowness. “Interesting idea” or “makes sense for your case” is honest; reflexive flattery before a rejection isn’t.
Nothing at all. The worst response is silence. A request that sits in “open” for eighteen months with no comment does more damage than any rejection could, because it converts one disappointed customer into one disappointed customer who also thinks you ignore people.
Blaming resources forever. “We’re a small team” is a fair reason once. As a permanent answer to every request, it stops being a reason and starts being an excuse — and it invites the response “so when you’re bigger, you’ll build it?” Only use it when it’s the true blocker and pair it with what would change.
Where You Say No Matters
An email rejection helps one customer. A public rejection helps every customer who ever thinks of the same idea.
If you track requests on a public feedback board, decline them there: mark the request as declined, post your reasoning as a comment, and leave it visible and searchable. The next person with the same idea finds your answer before they even submit — and instead of a duplicate request, you get either silence or a comment explaining why your reasoning misses their case. Both are better than starting over. Tools built for this workflow, like fdback, notify everyone who voted when a status changes, so a single well-written decline reaches every person who cared about the request — not just the one who happened to email you.
Public declines also keep you honest. It’s easy to write a lazy rejection in a private email. It’s much harder when fifty voters will read it.
FAQ
Should I say no publicly or privately?
Publicly, whenever the request lives on a public board — the reasoning helps every future user with the same idea, and voters deserve to hear the decision too. Reserve private responses for requests tied to confidential context (a specific customer’s contract, security details) or for high-value accounts where a personal follow-up alongside the public decline is worth the time.
What if the customer threatens to cancel?
Take it seriously but don’t reverse the decision because of the threat. Ask what the underlying problem is — sometimes a workaround or integration genuinely solves it. If the product truly doesn’t fit their needs, a graceful exit beats a resentful renewal. Reversing a no under pressure also teaches customers that threats work, which is a lesson you don’t want to scale.
How long should I wait before declining a request?
Long enough to think, not long enough to look like avoidance. If the decision is obvious, a few days is fine — an instant rejection can feel like you didn’t consider it. If you’re genuinely unsure, say so honestly (“we’re discussing this internally”) and set yourself a deadline to decide. What you shouldn’t do is use “under review” as a place to hide indefinitely.
Can a declined request ever come back?
Yes, and you should say so when it’s true. Products change direction, user bases shift, and a no from two years ago can become a yes. Keep declined requests visible and searchable rather than deleting them — if circumstances change, reopen the request and the votes and context are still there.
More insights to explore

Nolt vs Sleekplan 2026: Which Budget Feedback Tool Grows With You?
Nolt is $29/mo for one board with no changelog; Sleekplan starts free but meters seats and views. Which budget feedback tool still fits in a year?

Canny vs Productboard vs Featurebase 2026: Three Tools, Two Different Jobs
Canny bills per tracked user, Featurebase per seat, Productboard per maker. A three-way breakdown of pricing, features, and which tool fits which team.

Public Product Roadmap: The Complete Guide for SaaS Teams
Learn how to build a public product roadmap that reduces churn, builds trust, and turns users into advocates. Step-by-step guide with examples and tools.

Canny vs Featurebase 2026: Which Feedback Tool Should You Pick?
Canny bills per tracked user, Featurebase per seat plus AI fees. Side-by-side pricing tables, feature comparison, and which tool wins for your team size.

Feature Request Response Templates: 10 Copy-Paste Replies for Every Situation
Ten copy-paste feature request response templates for every situation: acknowledging, planned, shipped, duplicates, declines, and workarounds.

Featurebase Pricing Explained: What You Actually Pay in 2026
Featurebase runs $29–$99 per seat monthly, plus $0.49 per AI resolution and $69/mo to remove branding. Real totals by team size — and a $15 flat alternative.