Forms

Build a feedback form, share one link, and let the responses feed the same pipe that opens your pull requests.

Drag fields into a form, publish to a clean public link with no code and no watermark, and collect responses in your dashboard. A response is feedback like any other, so it clusters and can become a GitHub PR you review and merge.

A standalone form tool ends at a responses table. You read the rows on a Friday, tag a few, and the actual work of turning a request into a change is exactly as far away as before anyone filled in the form.

Most feedback forms are easy to stand up and easy to waste. The builder is the cheap part: fields, a publish button, a shareable link. The expensive part is what happens after submit, and that is where the generic tools have nothing to say. They charge 29 dollars a month to drop a branding watermark, ship half a megabyte of script to render a text input, and still hand you a CSV to deal with by hand. So the submissions pile up in a table, you skim them, and the distance between a user asking for something and that something shipping never shrinks. A form should be the front of a pipe, not a parking lot for requests.

How it works

Forms in Usero.

Disclosure: I build Usero, so weigh that. The builder does the boring part well: drag the ten field types (text, long text, email, number, dropdown, multi-select, multiple choice, checkboxes, star rating, linear scale) into order, mark them required, add options, set a brand color, and publish to usero.io/f/<slug>. No watermark, respondent IPs encrypted at rest, responses in a table you export to CSV, and built-in analytics with a view-to-submit funnel. The reason it exists is the next step: a form response is feedback like everything else in Usero, so it runs through the same AI clustering as the widget and your imported GitHub issues. When ten people ask for the same thing, they become one clustered request, and from that cluster you can open a GitHub pull request with a first pass at the fix. You review the diff and merge it yourself. Nothing auto-merges.

No code, no watermark, no bloat

A form needs zero code, unlike the three-line widget. Drag fields, pick a brand color, hit publish, and you get a clean public link at usero.io/f/<slug>. No deploy, no DNS, no "upgrade to remove our logo". The public page follows the visitor OS color scheme and carries your title, description, and color, not ours.

Ten field types and conditional logic

Short and long text, email, number with min/max, dropdown, multi-select, multiple choice, checkboxes, star rating, and a linear scale with end labels. Fields can show conditionally based on an earlier answer (equals, not equals, contains, not empty), so the form adapts instead of asking everyone everything.

A funnel, not just a count

Per form and across all forms you see views, unique visitors, submission rate, average time to complete, and a funnel from viewed to interacted to tried-to-submit to submitted. A form that gets 200 views and 6 submissions is telling you the form is too long, and the funnel shows you exactly where people drop.

The response can become a diff

This is the part a form builder does not do. A form response is feedback in Usero, so it clusters with everything else, and from a clustered request you click Create PR. Usero clones your repo, writes the change on a branch, and opens a pull request that quotes the feedback. A feature request form stops being a list of asks and becomes the front of a pipe that ends in a reviewable PR.

The honest objection

Why not just use a cheap form tool and paste the answers wherever I need them?

If your roadmap is not code, do exactly that. A form tool that ends at a clean responses table is a perfectly good fit and you do not need the PR step. The reason to build the form in Usero is if your product is code in a GitHub repo and you ship it yourself: then the response does not stop at a row, it clusters and can open a draft PR you review and merge. And to be honest about the PR, it is a strong first draft, close to mergeable on small scoped changes and needing edits on big ones, not a finished change to merge blind. If you only want responses in a spreadsheet, a generic form builder is cheaper and fine.

FAQ

Quick answers about forms.

How is a Usero form different from the feedback widget?

The widget is a floating button on your app that catches feedback while someone is mid-task. A form is a standalone page at its own public URL that you share deliberately: a bug intake link, a feature request survey, a churn exit survey. Both land in the same Usero project and feed the same clustering, so you can use either or both.

What is the public form link, and do respondents need an account?

Every form publishes to usero.io/f/<slug>, where the slug is an 8-character id assigned at creation. Anyone with the link can fill it in with no Usero account. You can also embed the form in a cross-origin iframe; it submits to itself either way.

Can I pause a form without breaking the link?

Yes. Each form has an Open / Closed toggle. A closed form still resolves at its URL but shows a "no longer accepting responses" message instead of the fields, and your existing responses are untouched. Flip it back to Open to resume.

Is respondent data private?

Respondent IP addresses are encrypted at rest with AES-GCM, so you never see a raw IP. The free tier includes forms with 1,000 responses a month and no branding watermark on the public page. Pricing is current as of mid 2026, confirm it on the site.

Does a form response really turn into a pull request?

A response is feedback like any other in Usero, so it clusters with duplicate requests from the widget and GitHub issues. From a clustered item you can open a GitHub pull request with a first pass at the fix. You review the diff and merge it through your own branch protection. There is no auto-merge path.

Turn that feedback into a pull request.

Free tier. No credit card. Two-minute install. The AI opens the PR, you merge it.

Get started free