Seagit Forms documentation
Everything a form can ask, everywhere its answers can go, and how to check they arrive.
Start here
Four steps take a form from empty to delivering answers into your own systems. Each links to the guide that covers it in full.
Build it
Drag fields in, or press / anywhere to open the picker. Give each field a readable ID while you are there — it becomes the key your answers are stored under.
Field types and validation →Decide who can answer
Share the link and anyone can respond without an account. Or make the form private, and it returns nothing but a lock screen until the password is entered.
Password protection and settings →Put it where people already are
Share the link, or paste two lines of HTML and the form lives on your own site — resizing itself, with no Seagit chrome around it.
Embed a form on your website →Send answers where you work
Responses are always saved in Seagit. On top of that, POST each one to your own endpoint or post it into a Slack channel.
Webhook payload and testing →
Building a form
What you can ask, and what you can turn on.
Getting responses out
Both destinations are additional — nothing replaces the copy in Seagit.
Planning
Before you build, what this is good at — and what it is not.
Straight to a comparison: vs Google Forms · vs Typeform · vs Jotform · vs SurveyMonkey
What is true of every form
Two guarantees worth knowing before you design around anything else, because they hold no matter which settings or destinations you use.
Your responses are the record
Every submission is stored in Seagit, readable in your dashboard and exportable as CSV for as long as the form exists. No destination can lose you an answer, because none of them is where the answer lives.
Destinations are attempted once
Each gets five seconds, and there are no retries. If your endpoint is down when a response arrives, it will not be re-sent — the response is still safe, but you will need to export rather than wait.
Somewhere else to look
The examples are complete, working forms — a job application, a feedback form and more — if you would rather read a finished thing than a reference. Privacy covers what is stored and for how long.
Common questions
- Do respondents need an account?
- No. Every form has its own link, and anyone with it can answer without signing up or installing anything. Only the person building the form needs an account, via Google or GitHub.
- How do I password-protect a form?
- Password protection is a paid feature. Turn on "Make form private" in settings and set a password. Until the correct one is entered the form returns nothing but a lock screen, so its questions cannot be read by guessing the link. Passwords are stored as a salted scrypt hash and are never returned by any API.
- Where are responses stored?
- Every response is stored in Seagit and stays available in your dashboard and as a CSV export for as long as the form exists. Webhooks and Slack are additional destinations, never a replacement.
- What happens if my webhook is down?
- The submission still succeeds and the response is still saved. Each destination gets five seconds and there are no retries, so a delivery that fails is not sent again — treat destinations as notifications and Seagit as the record.
- How do I test a webhook without building an endpoint?
- Open webhook.site, copy the URL it generates, paste it into your form settings, and submit an answer. The request appears there immediately, headers included, so you can confirm both the payload and your authentication header.
- Why are my webhook keys named component-1787692637208?
- That is the ID generated when a field is created. Hover the field in the editor, click the gear, and set the ID to something like firstName. Do it before collecting answers: existing responses stay under the old key and will not merge with new ones.
- How do I put a form on my own website?
- Paste two lines of HTML: an empty div carrying your form ID, and a script tag loading embed.js. The script finds the div and injects the form, then resizes it as fields expand so there is never an inner scrollbar. If your host strips scripts, a plain iframe works instead with a fixed height. You do not need to configure anything first — a freshly pasted snippet works immediately.
- Can respondents upload files?
- On a paid plan, up to 200 KB per file. File fields are not available on the free plan. Attachments are stored inside the response rather than uploaded separately, so larger files are refused with a clear message. For anything bigger, ask for a link using a URL field.
- Why is my Slack integration silent?
- Almost always because the bot has not been invited to the channel. Slack accepts the message with 200 OK and posts nothing. Send /invite @your-app in the channel, or add the chat:write.public scope.