Webhooks let Survio send a survey response to any tool your team already uses — the moment someone submits it. No exports, no copy-pasting, no waiting. As soon as a response comes in, Survio sends it straight to the address you choose.
👋 You don’t need to be technical to use this. If you’re not sure where to start, open the Webhooks page and click Get expert setup — tell us what you’d like to happen, and our team will build it, test it, and hand you a working webhook. No code required. Or connect with our tech team via email: techsupport@survio.com
Here’s the whole idea in one picture: a response comes in, and Survio delivers it to every tool you’ve connected — all at once, in real time.
What can you do with a webhook?
A webhook is just a delivery address. Once you connect one, every new survey response is sent there automatically. What happens next depends on the tool on the receiving end. A few of the most common setups:
Save unhappy customers: a low score instantly alerts your team and flags the contact in your CRM — so you can reach out and fix it before that person leaves a bad public review.
Never miss a lead: a “Get a demo” response appears in your CRM (HubSpot, Salesforce, Pipedrive…) the moment it’s submitted — no manual entry.
Protect your brand: a 1-star response pings your team in Slack, Teams, or email within seconds, so nothing slips through.
Handle complaints automatically: negative feedback becomes a support ticket in your customer support system.
Keep your reports live: every response is fed straight into a spreadsheet, data warehouse, or BI dashboard you’ve set up — so your own reports stay current without any manual export. Survio sends the data; the dashboard itself is one you build or connect on your side.
Here are a few of those setups end to end — from the response arriving, to what the tool does with it, to the action your team takes:
Customer feedback
Employee feedback
How to add a webhook
Webhooks are a Premium feature. If you don’t see the option described below, you may need to upgrade your plan first.
To connect a webhook you need one thing: an endpoint URL. That’s simply the web address your other tool listens on for incoming data. You don’t create it yourself — the tool on the receiving end (Slack, Zapier, Make, n8n, your CRM, or your own system) generates it for you, and you paste it into Survio. If you’re not sure where to get it, that’s exactly what Get expert setup is for.
Step 1 — Open the Webhooks page
Open your survey, go to Get responses, then select Webhooks under “Automations & Integrations” in the left sidebar.
Step 2 — Click “Add a webhook”
Click the + Add a webhook button in the top right. A window opens asking for the endpoint URL — the address of the tool or automation platform (e.g. Zapier, Make, n8n, or your own server) where Survio should send response data.
Step 3 — Paste your webhook URL
Paste the URL your tool gave you into the Webhook URL field.
The URL must start with https:// — plain http:// links aren’t accepted, and the URL can’t contain a username or password.
Step 4 — (Optional) Add HTTP headers
Some tools need an authentication key or token sent along with every request. Click + Add header, then enter a header name (for example X-Api-Key) and its value. You can add up to 20 headers per webhook. Once saved, header values are masked and can’t be viewed again — only replaced.
Not sure if you need this? Most people don’t. Only add a header if your receiving tool specifically asks for an API key or token to authenticate — for example, a header named X-Api-Key with a secret value the tool gives you. If you’re unsure, leave it empty, or ask whoever manages that tool.
Step 5 — Save
Click Save webhook. Your new webhook appears in the “Your webhooks” list, switched ON by default. From this moment, every new response to this survey is sent to that URL automatically.
Managing your webhooks
Turning a webhook on or off
Use the toggle next to a webhook to pause or resume it at any time. This doesn’t delete anything — it just stops (or restarts) deliveries. Note that pausing and resuming does not resend anything that arrived while it was off.
Editing a webhook
Click Edit to change the URL or update headers. Existing header values show as dots for security — you’ll need to re-enter a value if you want to change it.
Deleting a webhook
Click the trash icon next to a webhook to remove it.
Deleting a webhook is permanent. We can’t restore a deleted webhook, and we can’t resend responses that came in while it was deleted or paused — those deliveries are gone. Make sure nothing important still depends on the connection before you remove it.
What data does a webhook send?
Every time someone submits your survey, Survio sends an HTTPS POST request to your webhook URL with a JSON body containing:
The event type (currently, this is always a new survey response)
The ID of the survey the response belongs to
The full response: a unique response ID, the submission timestamp, the respondent’s email (if collected), the channel the response came through (e.g. direct link, email, QR code, pop-up), the response language, any custom URL parameters (like UTM tags), and the answer to every question
This is the same data structure used across Survio’s API, so if your tool already understands Survio responses, it will understand webhook payloads too. Here’s what a delivery looks like, with example data:
How many webhooks can I add?
The number of webhooks per survey depends on your plan:
Plan | Webhooks per survey |
Free | Not available |
Mini | 1 |
Standard | 3 |
PRO Business / Enterprise / Custom | 10 |
Both active and paused webhooks count toward this limit — turning one off doesn’t free up the slot, only deleting it does.
Webhook deliveries also count against your plan’s response quota. If you run out of responses for the period, deliveries pause automatically and resume at your next billing cycle — your responses are still recorded in Survio either way.
