How Canny Handles Unanswered Posts: A 2016 Request From Their Cofounder, Still Open
The oldest open request I know of on a feedback board was filed by the person who built the board. In August 2016 Sarah Hum, Canny’s cofounder, posted Unanswered posts reminders on feedback.canny.io: “Sometimes posts get lost and end up not being responded to. It would be great to have a section in the dashboard with unanswered posts ranked by number of upvotes.” It has 140 votes and it’s still Under Review.
I wanted to see what happened to it. Canny has shipped a lot in ten years, and a post with the founder’s name on it doesn’t usually sit there by accident. So I read the thread, went through their docs for anything that does the job, and pulled the 20 newest posts on their board to see how the Canny team handles it themselves.
A caveat on method first. Our Canny research account was logged out tonight (Featurebase and Sleekplan too), and this series has a rule of never logging into anything mid-run, so this one is built from the public board, their help centre and the data embedded in their post pages. Where a claim comes from a doc rather than a screen I say so.
The thread
The status history is on the page. It was marked Planned. About a year later cofounder Andrew Rasmussen moved it back to Open: “I only downgraded it to ‘open’ because it was marked as ‘planned’ a year ago and we never got around to it.” He added that “snazzy admin filtering/sorting” was coming and this would fit in nicely. Then Sarah set it to Under Review with a question for the voters: a list of every post without an admin response, or only ones over X votes?

The voters answered her, and they were consistent. One: “I would imagine it like the ‘Only show untagged posts’ feature (then you could filter by newest/hot/etc). In Google Play/iOS App Store, I use the ‘Without Developer Response’ filter kind of like a ‘checklist’ of reviews that I need to reply to, so personally I’d rather see a full list rather than one that’s filtered by # of upvotes.” Another: “I’d like to see every post and comment without a reply, our volume is still quite small so that wouldn’t be overwhelming.” A third: “A few posts have been lost in the ether for me.”
So the ask was a full list with no vote threshold, sortable like any other view, and used as a checklist. The “ranked by upvotes” was Sarah’s framing; the voters wanted everything and their own sort. We ended up building it their way.
What Canny has instead
The filtering Andrew promised did ship. The board filters doc lists User Segment, Date Range, Boards, Status, Companies (by name or by account owner), Tags, Categories and Owner, with sorts for Trending, Top, MRR, Newest, Oldest and Opportunities. That is a proper filter rail, and reply state isn’t in it.

The nearest thing is stale posts. “A post becomes stale when it has one of the active statuses for more than 4 weeks” (Under Review, Planned, In Progress by default). Admin-only, top three on the dashboard. I like it, but it measures a different gap. A stale post is one you promised something on and then went quiet. An unanswered post is one nobody ever spoke to, and since it never left Open, it never goes stale.

Then there are the admin report emails (daily by default: new posts, milestones, status changes) and the Slack and Teams integrations (new posts, votes, status changes). Both fire on activity, and I couldn’t find anything that fires on a post that has had none. Post owners exist too, so a post can have a name against it, but nobody tells the owner they have gone quiet.
What they built instead
This is the part I didn’t expect. Canny’s Autopilot launch post has a section called Smart Replies: “Autopilot responds to every feedback post with intelligent questions that sound like you.” Read next to the 2016 request, that is one answer to it: instead of a list of the posts nobody replied to, a guarantee that there aren’t any.
I wanted to see if they run it on their own board. Canny’s public post pages embed their data in window.__data, and every comment object carries an aiGenerated flag. So I fetched the 20 newest posts on feedback.canny.io (3 August to 14 September 2026; one 404ed) and counted.
19 of 19 have exactly one team reply, all under Sarah Hum’s name and avatar with the team badge, and all 19 carry aiGenerated: true. None of the 19 had a status change. Nothing on the public page says the reply was generated.

The replies themselves are good. On a post that was clearly meant for some other company’s board (“Desktop version”), the reply gently pointed them elsewhere. On a post whose entire body was “Personalized deployment”, it spent two sentences guessing the person meant open source or self-hosting, which is probably right. Every user who posts gets a warm reply within the hour, in the founder’s voice, and the “lost in the ether” feeling from the 2016 thread is gone for them.

What I keep turning over is the flip side. The 2016 request was for a list of the posts nobody had replied to. What shipped puts a reply on every post, so a team that wants to know which posts a human hasn’t looked at yet has a harder job than it did in 2016. The list Sarah asked for would be empty.
How we built ours
Verdict was build, and it went into a PR the same night. Our public board already had the pieces: an official reply flag on comments, a status-changed timestamp on posts, votes. What it didn’t have was anything that looked at the absence of those. (It also turned out nothing in the dashboard set the official flag, which the docs claimed it did. Fixed tonight, see below.)
The definition is the voters’ one. A post is awaiting reply when it is public, not merged, the team has never changed its status, and there is no official comment on it. Internal notes don’t count, since the person who posted can’t see them. That is the whole rule, and the same function drives the dashboard view, the reminder and the MCP tool.

On the board posts page there is now an Awaiting reply view next to All posts, with a count. Every row shows votes and how many days it has been sitting there, votes first (the ranking Sarah asked for, on the full list the voters asked for). Each row has a reply box, so you answer from the list. A reply from there is an official comment, signed with the board name and carrying the Official Response badge on the public post, and the row leaves the list. (Signing as the board rather than the person was forced on us: our user table has no name column. It also avoids the thing I was uneasy about on Canny’s board, a founder’s face on words they didn’t write.)

The reminder is a board setting: “Remind us about unanswered posts” with a days field, default 7, off until you turn it on. Once a day the sweep finds posts that crossed the line, stamps them, and emails the team one list: title, votes, days of silence, a link to each post and a button to the view. One email per post, ever. If you ignore it there is no second email; the post just stays in the list.

The MCP tool is list_unanswered_board_posts, same rule, sorted by votes, with a minimum-days filter. That is the one I expect to use most: “what have we not replied to” from inside the editor before a release, then reply from the dashboard.
Deliberately not built: a reply bot. Canny’s Smart Replies are the most polished version of that idea I have seen, and I understand why a bootstrapped team running a board with 1,776 active posts would want it. But a reply in the founder’s name with no label is a decision a customer should make on purpose, and I didn’t want to make it for them. This feature shows the gaps and leaves the reply to a person.
Verification: typecheck clean, 2,579 unit tests (the new ones cover the rule, the settings codec, the sweep against a fake database and the email), a Playwright spec on desktop and mobile Chrome that seeds posts, replies from the list, checks the badge on the public page and round-trips the setting, and a curl smoke of the page actions and the MCP tool. The pre-existing bug: our docs said team replies show as official responses, and nothing in the product ever set the flag. Now two things do, the reply box above and a comment from a logged-in team member on the public post page.
I’d like to know what a list like this looks like after a month on a real board. My guess is the top of it will be the awkward posts, the ones nobody wanted to answer, rather than the highest-voted ones. We’ll see.
Frequently Asked Questions
Does Canny have an unanswered posts filter?
No. The board filters page lists User Segment, Date Range, Boards, Status, Companies, Tags, Categories and Owner, and the sorts are Trending, Top, MRR, Newest, Oldest and Opportunities. There is no filter on whether the team has replied. The request for one has been on Canny’s own board since August 2016, filed by cofounder Sarah Hum, with 140 votes and a status of Under Review.
What are Canny stale posts?
A post becomes stale when it has held an active status (Under Review, Planned or In Progress by default) for more than 4 weeks. The admin dashboard shows the top three. It measures how long a status has been held, so a post that is still Open with no team words on it is never stale by this definition.
What does Canny Autopilot Smart Replies do?
Canny’s words: Autopilot responds to every feedback post with intelligent questions that sound like you. On Canny’s own board, 19 of the 20 newest posts had one reply, all under cofounder Sarah Hum’s name and avatar, and every one carried aiGenerated: true in the page data. The public page shows no AI label.
How does Usero show unanswered board posts?
An Awaiting reply view on the board posts page in the dashboard: every public, unmerged post with no official team comment and no status change, sorted by votes, with the days of silence on each row and a reply box inline. A board setting turns on a reminder email to the team after N days (default 7), sent once per post. The same list is available to editors through the list_unanswered_board_posts MCP tool. Nothing replies on your behalf.
Continue reading
How Canny and Featurebase Carry Customer Demand to the Engineering Ticket, and How We Built Ours
Canny shows voters, companies and MRR on a post, but every tracker integration is on Pro and the docs only describe a link on the issue. Featurebase’s Jira panel shows votes live, and its Copy as prompt includes the author’s email. We built a Demand block for issues and AI pull requests: companies, MRR, must-haves and two voter quotes for Linear, Jira and private repos, counts only for public GitHub repos, no emails ever.
6 min read
How Canny Groups Votes by Company, and How We Built Ours
Canny’s “Show votes grouped by company” request has 198 votes and was marked complete in August 2026 by pointing at a new Ideas view. We tested where Canny and Featurebase show the company behind a vote, then built a company count, a Most companies sort and a grouped voter list.
7 min read
How to Recruit Participants for User Research Without a Panel
Recruit participants for user research by writing a behavioural screener and working through sources cheapest first: your own users, their communities, referrals from people close to them, then a paid panel. How many to recruit, what to pay, and how to run a referral round without paying for junk sign-ups.
6 min read
Build a feedback loop your team actually uses
Usero collects, clusters, and turns user feedback into shipped fixes.
Get started free