<- All posts

How Canny Handles Unanswered Posts: A 2016 Request From Their Cofounder, Still Open

Will Smith··8 min read

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 Unanswered posts reminders post on feedback.canny.io. 140 votes, status Under Review, authored by Sarah Hum, with the activity feed below showing her question to voters and the replies from Emerald Giraffe, Compatible Sawfish and Accurate Gorilla.
ScreenshotThe request as it stands in September 2026. Filed August 2016, 140 votes, Under Review, 9 comments, the newest from 2024.

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.

Canny help centre article Board filters, listing the filters available in the Feedback tab: User Segment, Date Range, Boards, Status, Companies, Tags, Categories and Owner.
ScreenshotThe filter rail from the help centre. Eight filters and six sorts, none of them about whether anyone replied.

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.

Canny help centre article Stale posts, with a screenshot of the admin dashboard where a Stale posts card is outlined in red beside New posts, and a second screenshot of the Roadmap and Statuses settings with Active statuses highlighted.
ScreenshotStale posts, from the docs. Four weeks in an active status. A post that never left Open does not qualify.

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.

A post titled Invite Sorting on feedback.canny.io with one vote, and a reply from Sarah Hum with a team badge: Thanks for sharing this. Sorting the invite log by email domain would make it much easier to review invites at a glance. I have shared this with the team as a feature request. We will let you know if we have an update.
ScreenshotA typical one. Restate the request in a sentence, then "I’ve shared this with the team as a feature request." The page data marks it aiGenerated: true. There is no label on the page.

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.

A post titled open source on feedback.canny.io whose body is two words, Personalized deployment, and a reply from Sarah Hum guessing the author is asking about an open source option or a self hosted deployment.
ScreenshotA two-word post gets a two-sentence reply. Still Sarah Hum, still aiGenerated: true.

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.

The Usero public board page in the dashboard, Posts card with a segmented control reading Awaiting reply 2 and All posts 4. Two rows: Slack alert when a post passes 10 votes, 27 votes, no reply for 14 days, with a drafted reply in its textarea; and Export votes to CSV, 3 votes, no reply for 9 days, with an empty reply box. Each row has a Set status select and a Reply button, and a helper line reading Posted publicly as Dev Client.
ScreenshotOurs. The Awaiting reply view on the board page, ranked by votes, with the reply box in the row.

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 public post page on the Usero board after the reply: the post Slack alert when a post passes 10 votes, and below it a comment signed Dev Client with a blue Official Response badge, reading Thanks for the votes on this one. We are scoping it for next sprint and will post an update here.
ScreenshotThe same reply on the public post, signed with the board name and badged Official Response.

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 Board Settings card on the Usero public board page: Board Name Dev Client, URL slug devboard, and below a switch labelled Remind us about unanswered posts, on, with the helper Email the team once when a post has had no reply for 7 days, and a status line On. Reminds after 7 days.
ScreenshotThe reminder is one switch in Board Settings. Off by default, seven days when on.

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.

Build a feedback loop your team actually uses

Usero collects, clusters, and turns user feedback into shipped fixes.

Get started free