How Canny, Featurebase and Sleekplan Handle ETAs on Feedback Posts (and Why Frill’s Top Request Is Six Years Old)
The most-voted request on Frill’s own feedback board is for a date field. A time estimate (ETA) for Ideas was filed on 25 August 2020 and has 418 votes and 7 comments. The whole idea is one sentence: “As someone who’s submitted an idea I want to know roughly how long it might be before it makes it into the product.” Its status is Future, set by founder Mike Hill on 13 January 2026, and it is the only card in Frill’s Future column.
Canny, Featurebase and Sleekplan all ship this field. So the more interesting question was what the three teams that built it decided, and whether they use it on their own boards. I want to see what the choices were, then build ours.
Same caveat as last time. Our Canny, Featurebase and Sleekplan admin sessions were logged out tonight, and Productboard turned out to be logged out too, so this is built from help centres, public API docs, and each vendor’s own public board plus the JSON behind it. Where a claim comes from a doc rather than a live page I say so. (The screenshots came out of a Chrome with Dark Reader on, so every page below is colour-inverted. The real ones are light.)
Six years of the thread
The comments are the useful part. In November 2022 Briana, the CEO of a customer, explained her workaround: “Right now I’ve created a topic ‘Planned Q1’ ‘Planned Q2’ etc in order to bring this visibility to my customers - but of course they also see this as an option when posting an idea... it would be so much easier if I can define my own timelines.” So the ETA got built out of tags, and the tags leaked into the submit form.
In August 2024 a commenter named Василий asked for the opposite of structure: “please make it just a string value, so we can use any time format we’d like (‘Q1’, ‘09/24’, ‘next year’ whatever). Would be nice to have this field in API aswell, so we can get time data from our task tracking systems.” A month later he @-mentioned the founder: “It’s been 4 years now, the idea has gotten a lot of votes but still no status.” The status arrived in January 2026, 5 years and 4 months after filing. There is no public comment from the Frill team in the thread.

I don’t think this is a build problem. Canny’s version of the field is one string and one boolean. Frill’s roadmap has no time axis at all (Future 1, In Development 3, Shipped 208, Unlikely to build), so it reads more like a stance: status columns, no dates. Fair enough. It does leave 418 voters with nothing to read except each other.
What the three who built it chose
Month or day? Canny stores MM/YYYY, “an estimated month and year when a feature will be available”, and null clears it (documented, help centre and API reference). Sleekplan stores month and year too and says why: “There is no day-level precision, because the roadmap plans in months and quarters.” Featurebase is the odd one out with a day-level calendar, though the picker has quarter shortcut buttons above the grid and the chip it renders leads with the quarter, “Q2 May 02, 2026”. Even the day-precision tool rounds when it shows you the value. Productboard’s own customers have an idea up asking to “obscure specific dates before sharing timeline roadmaps”.

Who gets to see it? Canny’s toggle is per post, etaPublic. On feedback.canny.io every post object carries etaPublic: true with eta: null (observed), so public is the default and the field is just empty. Featurebase’s switch is workspace-wide, a “Private ETAs” toggle under Portal settings, Privacy, that hides every ETA from the board, roadmap and post views at once. Sleekplan has no switch, and its docs are honest about it: “The estimate is also shown to your users on the public post... Set expectations you are comfortable sharing.”

Where does it show? This is where Canny surprised me. The post page, yes. The roadmap in the help article is the admin one; the public roadmap article lists the columns and the sort and never mentions ETAs. A Canny customer filed “Show post ETA in the end-user roadmap” on 11 May 2026 (“It’s annoying to click into each post to get a sense of the ETA”), 1 vote, still open. Featurebase and Sleekplan both render it on the post, the list and the roadmap, and both can regroup the roadmap by month or quarter instead of status. Featurebase’s doc adds a line I liked: “If you’re not big on ETAs for your features, we recommend using a Column-based roadmap.”
Sleekplan has the one idea nobody else has. Its Month and Quarter views open with an Overdue column, which “collects posts whose estimate has already passed but are not yet complete, so nothing slips through unnoticed”.

Does anyone use it?
Canny’s top 30 posts by score, 5 of them In Progress, have no ETA set. I also scanned around 40 public Canny boards through the API (ahrefs, clickup, strapi, make, mailerlite and others) and could not find a single post with a live ETA. Featurebase’s own roadmap is column-based, Planned 128, Next up 20, In Progress 13, Done 496, and no card shows a date; their public submission endpoint returned no eta key on any of 400 posts across 8 pages, including 70 Planned and 11 In Progress. Productboard’s own Portal has no dates on any card either.
The one live ETA I found in the whole category is on Sleekplan’s board. “Keep in-app announcements active across different pageviews”, status Public Beta, ETA: APR 2024. That was 29 months ago. No marker, no explanation, zero comments. A second item in their API carries an estimate of November 2025, also passed.

What happens when the month passes? In all three, nothing on the post. Canny and Featurebase document no overdue state, no history and no notification (Canny’s status-change email exists, but an ETA is not a status). Sleekplan’s Overdue column only exists on the Month and Quarter views, and their own roadmap is on the Status view, so the card just says “Apr 2024” and the post says “ETA: APR 2024”. None of the three records “was Q2, now Q3” anywhere a voter can see it.
My read is that the field is cheap to set and expensive to keep true, and the teams who built it know that better than anyone. So they don’t set it. A voter who finds a stale one reads it as abandoned, or as a fib. The Frill thread is better than that; at least nobody there was told anything.
How we built ours
Verdict was build, and it went in tonight. The field is a target month on a board post, stored as YYYY-MM. Month, not day: it is what Canny and Sleekplan chose, it is what Featurebase’s chip leads with anyway, and nobody gets held to a Tuesday. The public switch is per post and on by default, Canny’s shape rather than Featurebase’s global one, because some targets are commitments and some are internal guesses and the admin should decide which is which per item.

On the public side it is one chip, the same one in three places: the post page, the board list and the roadmap card.
The part nobody in the category ships is what the chip says once the month is behind you. It has three states. Upcoming: “Target Nov 2026”. Passed and not shipped, never moved: “Target Nov 2026, running late”. Passed and moved: “Was Nov 2026, now Jan 2027”. A passed month is never shown as if it were current, and a moved month keeps its old value in view, so the Sleekplan case cannot happen here. Shipped posts drop the chip; the changelog carries the real date.

For the admin there is a nudge on the board page listing every post past its target, each with a Move link that jumps to the row, where you pick a new month or clear it. We don’t auto-clear and we don’t auto-bump. Either of those would hide the slip. The list makes someone pick a new month or admit there isn’t one yet, and the post shows whichever they picked.

The MCP tool is set_board_post_target: post, month or null, public flag. That is the Frill commenter’s API ask, and it is the one I expect to use most. The engineer’s agent opens a branch for a board post, and in the same breath sets the month it thinks the branch lands in. The month comes from whoever is doing the work.
Not built tonight: the by-month roadmap grouping (Sleekplan’s Overdue column as a view, with a “No date yet” column at the end so undated posts don’t vanish), and a “target moved” email to voters. The email joins the voter status-change email when that branch merges. The grouping is a second night if it earns one.
What I want to find out is how often “running late” shows up on a real board, and for how long before someone moves it. My guess is “running late” outnumbers the plain “Target” chip within a couple of months on any active board. We’ll see.
Frequently Asked Questions
Does Canny show ETAs on the public roadmap?
Not as far as the docs and the public boards show. Canny’s ETA is a month and year set per post, with a per-post public toggle, and the help article says estimated dates also appear in the Roadmap, meaning the admin one. The public roadmap article lists the columns and sort and says nothing about ETAs. A Canny customer filed “Show post ETA in the end-user roadmap” on 11 May 2026 because it was annoying to click into each post to see it.
What granularity do feedback board ETAs use?
Canny stores MM/YYYY. Sleekplan stores month and year and says outright there is no day-level precision because the roadmap plans in months and quarters. Featurebase is the outlier with a day-level calendar picker, though its chip leads with the quarter badge (“Q2 May 02, 2026”). Usero stores a target month as YYYY-MM.
What happens when a feedback board ETA passes?
In Canny and Featurebase, nothing is documented: no overdue state, no history, no email. Sleekplan’s Month and Quarter roadmap views open with an Overdue column, but that is a roadmap column and the post itself keeps showing the old month. Sleekplan’s own board has a Public Beta post showing “ETA: APR 2024” 29 months later with no marker. Usero renders a passed month as “Target Nov 2026, running late”, or “Was Nov 2026, now Jan 2027” if it was moved, and shows the admin a list of posts past their target.
How does Usero set a target month on a board post?
A Target control on each post row of the board page in the dashboard: a month picker and a Public switch, on by default. The month renders as one chip on the public post page, the board list and the roadmap. There is also an MCP tool, set_board_post_target, so an engineer’s agent can set or clear the month from the editor, for example from the branch it just opened.
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