Feedback & research
Bug report form template
What broke, how to see it, and how bad it is — with screenshots attached and blockers routed to their own ending.
- 7 questions
- about a minute
- Logic
- Several endings
- Hidden fields
- File upload
- Welcome screen
Free forever, with unlimited responses. No credit card.
What's in this template
-
What went wrong, in a sentence?
-
What were you doing when it happened?
Step by step, if you can — it's the fastest way for us to see it too.
-
03 Long text
What did you expect to happen instead?
-
How much is it getting in your way?
Pick one
-
05 File upload
Got a screenshot or a screen recording?
Optional, but it saves a lot of back and forth.
Up to 3 files
-
06 Dropdown
Where did it happen?
With “Other”
-
Where can we reach you about it?
Why these questions
Most bug reports arrive as "it's broken". This form gets the three things an engineer needs to fix it without a round of emails: what happened, how to make it happen again, and what should have happened instead.
It starts with a one-line summary, which becomes the title in your tracker. Then what were you doing when it happened?, asked step by step, because steps to reproduce are the fastest route to a fix. What did you expect instead? is optional, but it often shows that the "bug" is a confusing design, which is just as worth knowing.
How much is it getting in your way? is written in the reporter's words rather than as "severity": they can't work at all, they can work around it, it's annoying, or something just looks off. Everyone knows which one applies to them, and you get a priority you can sort by.
Then an optional file upload takes up to three screenshots or screen recordings, stored with the report. After that come where it happened (browser or app) and an email to reply to.
The ending depends on the answer, through logic and several endings. Anyone who said they can't work at all finishes on a screen saying the bug has gone to the engineer on call. Everyone else is told it's logged. Edit the "on call" promise to match what your team can really do.
Wiring it up: send every report to your issue tracker with a webhook, and
turn on notifications so blockers reach someone at once. The template also
records user_id and app_version as hidden fields when your app
passes them in the link.
How the logic works
Each rule is checked once its question is answered, and the first one that matches decides where the respondent goes next. How logic works
- After “Where can we reach you about it?”: if the answer to “How much is it getting in your way?” is “I can't work at all”, finish on the “We're on it.” ending.
Make it yours
- Logic Answers decide what comes next, so each person only sees what applies to them.
- Several endings Different answers finish on different screens.
- Hidden fields Records user_id, app_version from the form's link with each response.
- File upload Respondents attach files that are stored with their answers.
- Welcome screen Opens with a title, a line of context and how long it takes.
- Design Your colours, font and corners, and a picture or video on any screen.
- Encryption Turn it on and personal answers are encrypted at rest.
- Email notifications Teammates hear about each response as it's completed.
- Webhooks Send every response to your own systems, signed.
- Embedding Put it on your site inline, as a popup or as a slider.
Questions people ask
Can people attach screenshots or videos?
Yes, up to three files per report. Free forms take files up to 10 MB each, which covers screenshots and short recordings, and Premium takes up to 25 MB.
Can bug reports go straight into our issue tracker?
Send each report to a webhook, and your tracker or an automation tool can create the issue. File names come with the payload, and editors can download the files from the response.
How does the form treat a blocker differently?
A logic rule on the last question checks the "I can't work at all" answer and sends those reports to their own ending, which tells the reporter it's being handled urgently.
Can I record the app version automatically?
Yes. Add ?app_version= to the link your app opens. The template stores it with each report as
a hidden field, so nobody has to look it up.
Related templates
- Feedback & research NPS survey template The one-number loyalty survey, with a follow-up that changes depending on the score.
- Feedback & research CSAT survey template Rate the experience, then say why — unhappy answers get a follow-up before the form moves on.
- Feedback & research Product feedback survey template What people use, what they'd rank first, and what's missing — with a follow-up when an answer is thin.
- Feedback & research Customer effort score (CES) survey template How easy was it to get help? One 1–7 question, then what made it easy or what got in the way.
- Feedback & research Feature request form template Collect feature ideas with the job behind them: what they want, what it's for and how much it matters.
- Feedback & research Cancellation survey template Why people leave, asked kindly: one main reason, then the follow-up that fits it — price, a gap or a competitor.
More feedback & research templates →
Also in: Forms · For product teams · For founders