Votense documentation
Everything a survey can ask, everywhere its answers can go, and how to check they arrive.
Start here
Four steps take a survey from empty to delivering answers into your own systems. Each links to the guide that covers it in full.
Build it
Choose Poll or Survey, then add questions from the picker or by pressing /. Matrix, ranking, NPS, Likert and constant sum sit alongside the standard inputs.
Survey question types →Set the rules
Decide how many times one person may answer and who may see the results — live, after voting, after closing, or only you.
One vote per person →Put it where people already are
Share the link, or paste two lines of HTML and the survey lives on your own site — resizing itself, with no Votense chrome around it.
Embed a survey on your website →Send answers where you work
Responses are always saved in Votense. On top of that, POST each one to your own endpoint or post it into a Slack channel.
Webhook payload and testing →
Surveys, polls and votes
What makes a survey more than a survey: structured questions, a counted result, and rules about who may answer and when.
Building a survey
What you can ask, and what you can turn on.
Getting responses out
Both destinations are additional — nothing replaces the copy in Votense.
Planning
Before you build, what this is good at — and what it is not.
What is true of every survey
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 Votense, readable in your dashboard and exportable as CSV for as long as the survey 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 templates are complete, working surveys — a job application, a feedback survey 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 survey has its own link, and anyone with it can answer without signing up or installing anything. Only the person building the survey needs an account, via Google or GitHub.
- How do I password-protect a survey?
- Password protection is a paid feature. Turn on "Make survey private" in settings and set a password. Until the correct one is entered the survey 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 Votense and stays available in your dashboard and as a CSV export for as long as the survey 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 Votense 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 survey 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 survey on my own website?
- Paste two lines of HTML: an empty div carrying your survey ID, and a script tag loading embed.js. The script finds the div and injects the survey, 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.