MuxForms bug report forms collect steps to reproduce, expected vs actual, severity, and environment metadata from docs embeds and in-app JSON—one engineering inbox instead of scattered email, with webhooks to Linear or Jira when you outgrow search.

Use case

Structured bug reports from users and QA

“It broke” is not a ticket. Engineers need steps, environment, and severity—not a one-line email that support forwarded without context.

Bug report template

FieldPurpose
stepsReproduction path
severityTriage
app_version / osHidden from mobile
screenshot_urlEvidence link

Bug reports sit between feedback and support: users know something failed, but reproducing it requires structure. MuxForms enforces title, steps to reproduce, and optional expected vs actual fields before a row hits engineering@.

Ship the same schema on your docs site (embed.js) and inside the product (POST JSON). Hidden `app_version`, `os`, and `build_number` fields let mobile clients attach metadata automatically so QA does not ask “which version?” on every thread.

Severity select helps on-call triage without adopting a full issue tracker on day one. Critical rows can webhook to Slack #bugs; everything else stays searchable in the inbox until you wire Linear or Jira.

Optional email supports logged-out reporters on marketing sites; require email on in-app forms when you need follow-up. Screenshot links use `url` fields until native file upload matches your plan.

Separate from the general feedback use case: bugs expect reproduction steps and severity; feedback can stay lightweight ratings and comments. Two forms, one account, shared notify if you prefer.

Rate limits and honeypot matter on public bug URLs—scrapers love `/report-a-bug`. Turnstile on the public embed; ingest secret auth on authenticated in-app submit.

422 validation teaches client apps to show field errors when steps are empty—map API errors to your native UI per the React Native collecting-forms guide.

Ready-made template

Create a form named Engineering — Bug report with these fields, then paste the embed on your page. Notify engineering@; webhook to Linear/Jira optional; auto-fill hidden version fields from mobile; public docs embed shares form id with app.

FieldTypeRequired
EmailemailemailNo
SummarytitletextYes
Steps to reproducestepstextareaYes
Expected behaviorexpectedtextareaNo
Actual behavioractualtextareaNo
SeverityseverityselectYes
Screenshot or screen recording linkscreenshot_urlurlNo
Page URLpage_urlurlNo
App versionapp_versionhiddentextNo
OSoshiddentextNo
Build numberbuild_numberhiddentextNo
Leave blank_hphiddentextNo

Embed demo

Illustrative preview—wire your form id after signup.

Preview only — connect embed.js to submit

Schema JSON

{
  "name": "Engineering — Bug report",
  "fields": [
    {
      "name": "email",
      "label": "Email",
      "type": "email",
      "required": false,
      "placeholder": "For follow-up"
    },
    {
      "name": "title",
      "label": "Summary",
      "type": "text",
      "required": true,
      "placeholder": "Short description"
    },
    {
      "name": "steps",
      "label": "Steps to reproduce",
      "type": "textarea",
      "required": true
    },
    {
      "name": "expected",
      "label": "Expected behavior",
      "type": "textarea",
      "required": false
    },
    {
      "name": "actual",
      "label": "Actual behavior",
      "type": "textarea",
      "required": false
    },
    {
      "name": "severity",
      "label": "Severity",
      "type": "select",
      "required": true,
      "options": [
        "Low",
        "Medium",
        "High",
        "Critical"
      ]
    },
    {
      "name": "screenshot_url",
      "label": "Screenshot or screen recording link",
      "type": "url",
      "required": false
    },
    {
      "name": "page_url",
      "label": "Page URL",
      "type": "url",
      "required": false,
      "placeholder": "Where it happened"
    }
  ]
}

Embed snippet

<div data-form-id="FORM_UUID"></div>
<script src="https://www.muxforms.com/embed.js" defer></script>

Common questions

Bug report vs feedback form?
Use bug-reports for repro steps and severity; feedback for general product sentiment.
Replace Jira?
No—MuxForms is intake; webhook or export into your tracker.
In-app shake-to-report?
POST JSON with pre-filled version fields and user-entered steps.
Attach images?
Use screenshot_url links today; check plan for file field support.

Create the form for this job.

Then clone the pattern for the next site or app.

Upgrade to Pro