Formstep

A GitHub issue for every submission

A public bug form, a beta feedback form or a request form for your open-source project can file its own issues. Each submission opens one in the repository you pick, with the title and body you wrote and the answers in GitHub-flavored Markdown.

Updated

How it works

  1. Open the form’s Integrations, pick GitHub Issues, and connect a GitHub account or pick one already connected. Pick the repository, and a milestone if every issue belongs to one.
  2. Write the title and the body. Type @ to insert an answer or the PDF link. The title is plain text up to 256 characters; the body is GitHub-flavored Markdown.
  3. Click Turn on GitHub Issues, then Send test to create a real issue with a [Test] prefix, which you close afterwards.

See the full guide

What the issue carries

A file upload shows its name and a download link. An empty title falls back to “New submission to” followed by the form’s name. Formstep creates one new issue per submission and never comments on an existing one; if you triage by label, add it with your own GitHub automation.

When someone does not finish

On Pro and Business, a public-link response left unfinished for 12 hours, a day, three days or a week can open an issue of its own, with the partial-submission label Formstep creates the first time, and a title and body written for that case.

When delivery fails

GitHub tokens do not expire. If you revoke the grant, the next delivery fails, the connection expires, and the person who set it up gets an email; Reconnect restores it. An archived or deleted repository fails with not found until you pick another. Deliveries are tried up to five times, and after five failures in a row the integration pauses until you fix the cause and click Resume.

The same form can post to Discord or Slack at the same time, and a team on Linear has the same integration there.

Questions about Formstep for GitHub

Something else on your mind? The docs cover every setting, and we answer email.

Read the docs

No. It is a standard OAuth App with three scopes: repo to create issues, read:user to identify you, and read:org to list organization repositories. Issues are created in your name.

Any repository you can push to. Archived and disabled repositories do not show. You can change the repository or the milestone later; changing the repository resets the milestone.

No. GitHub Issues gets new submissions only. For a backfill, use Linear, Notion, Airtable or Google Sheets.

Yes, as typed. An answer with @username notifies that GitHub user, and #123 links to issue 123, so decide whether a public form should be allowed to.

Collect information from anyone.

Publish a sample form, answer it as your recipient would, and watch the answers come back. No account needed.

Read the docs