Feedback reaches GitHub. Reporters hear back.

Capture the report and browser context, group repeats, create one useful GitHub issue, then ask the reporter if the fix worked.

Free plan, no card. Sign in with GitHub or email to start.

One report. One issue. One closed loop.

  1. 01

    Capture the real context

    Your endpoint records the report, page, browser, app version, and reporter details your team needs.

  2. 02

    Relay it to GitHub

    Repeated reports are grouped, by AI on Indie and Pro. New problems become issues, and repeats become comments on the original.

  3. 03

    Verify the fix

    When the issue closes, opted-in reporters get an email asking if the fix worked, within your plan's email limits. If it still fails, form-relay reopens the issue.

the missing workflow

An inbox is only the first step

A form inbox captures the report. Connecting it to engineering work and following up takes more setup.

Capture browser and release context
Usually missing
form-relay
Group repeat reports
Triage by hand
form-relay
Create or update the GitHub issue
Copy and paste
form-relay
Follow up after the issue completes
Easy to forget
form-relay
Reopen if the fix failed
Rarely tracked
form-relay

feedback in · tracked issue · reporter follow-up

The feedback work your team should not do by hand

Each step keeps the report, GitHub issue, and reporter in sync.

Useful report context

Keep the page, browser, platform, app version, and reporter message together. Your team starts with evidence, not a follow-up question.

Duplicate grouping

Exact repeats are grouped on every plan. Indie and Pro also use AI to connect reports that describe the same underlying problem.

GitHub App connection

Install the GitHub App, select the repositories it can access, and choose one from the dashboard. No personal access token setup.

One issue, richer history

The first report creates the issue. Later reports add structured comments with fresh context instead of filling the backlog with copies.

Reporter verification

When GitHub closes the issue as completed, form-relay emails opted-in reporters and asks whether their problem is resolved. Issue closure does not confirm a deployed release.

Automatic reopen

A “still broken” response reopens the linked GitHub issue with the reporter’s verification result, so the failure is not lost.

One request starts the relay

Send JSON from a client or server. Keep the API key server-side when reporter access is not already authenticated.

curl -X POST https://forms.devxgroup.io/api/v1/submit/product-feedback \
  -H "x-api-key: fr_live_AbCdEfGhIj12" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "alex@example.com",
    "message": "Save button does nothing",
    "_feedback": {
      "pageUrl": "https://app.example.com/settings",
      "appVersion": "1.4.0",
      "notifyReporter": true
    }
  }'

Questions you'll have

Stop losing the last half of the feedback loop.

Connect GitHub, choose a repository, and send your first report. Your Free workspace does not need a card.

Start free