The short answer: describe the fields once, then open the form from any button with one line. StareGlare shows it in a panel, in the visitor's language if you translated it, and every answer lands in your inbox as a report you can reply to.
When is a custom form better than a bug report?
- When you need specific answers: "Which store should we add?", "Which file do you want imported?"
- When the same request comes in often and you want each one to look the same.
- When a request needs a web address or an email address, checked before it is sent.
Step 1: Create the form
Contact us for a workspace and create an app. Then open Feedback › Forms in its sidebar and press Make a form:
- Pick a starting point: Contact us, Join the waitlist, Feature request, Quick survey, Suggest something or Blank.
- Give it a title, then change the questions: rename them, tick Required, add more with the buttons under them (short answer, long answer, pick from a list, email, web link), and move or delete them from each one's ⋯ menu.
- Write the thank-you message. The preview beside the editor shows the form, and what people see after sending, as you type.
- Press Save form.
Under More settings you can pick how answers arrive (Feedback, Bug or Question), the language it's written in, and a title for each report with an answer in it, such as "Import: Things 3".
Step 2: Open it from your site
<!-- The widget must be on the page: -->
<script src="https://stareglare.com/widget.js" data-app="your-app" async></script>
<!-- Then either a button with no script of your own: -->
<button data-snag-open data-snag-form="importer">Request an import</button>
<!-- or one line from your own code: -->
<script>document.querySelector('#import').onclick = () => Snag.open({ form: 'importer' });</script> The widget can hide its own floating button if you only want your
buttons. Without the widget, link to /r/your-app?form=importer. Put on your site beside each form in the dashboard has all three, ready to copy.
Step 3: Translate it
Under More settings › Other languages, add a language and translate the texts and questions, and a list's answers in the same order. Visitors in a language without a translation see the form's own language, and a picked option always arrives as you wrote it. The widget around it already speaks 17 languages.
Step 4: Work through the answers
Answers arrive in the inbox like any report, with the page and browser attached. Reply by email, label them, or let Claude work through them. Claude can also create and change forms for you over MCP. Turning a form off or deleting it makes its buttons show the usual report form instead, so no link breaks.
Questions
How do I add a custom form to my website without a backend?
Build the form in StareGlare, then open it from your page with Snag.open({ form: "key" }) or a button with data-snag-open and data-snag-form. The StareGlare widget shows the form and stores what people send; you write no server code.
What fields can a form have?
Short text, long text, web address, email and a choice from a list of options, each optional or required. A form can have up to 12 fields, and an app up to 20 forms. An email field is where your replies go.
Where do the answers go?
Each answer arrives in the inbox as a report of the kind you chose: idea or feedback, bug, or question. You can reply, label it or let Claude work on it like any other report.
Can I link to a form from an email or a menu?
Yes. Every form has its own address on the app's report page: /r/your-app?form=key. It works without the widget.
Related guides
- How to add a bug report button to your website
- How to collect bug reports from a macOS app
- How to get crash reports from a macOS app
- How to collect bug reports from a Godot game
- How to track JavaScript errors on your website
All 7 guides, from the first report to the fix.