Each survey can POST every completed response to a URL you choose, as JSON, the moment it arrives. You will find it on the builder under Publish and share, as Send responses anywhere.
That is all Zapier, Make, n8n, a Google Sheets script or your own endpoint needs. There is nothing to install and no account to connect.
The request is sent without waiting for a reply. A slow or broken endpoint can never hold up the person answering your survey, and it can never cause them to see an error: their answers are already safely stored on your site before the webhook is even attempted.
What arrives:
{ "event": "survey.response", "site": "https://yoursite.com", "survey_id": 3, "survey": "Customer feedback", "response_id": 412, "email": "someone@example.com", "name": "Sam", "answers": [ { "id": "q1", "question": "What brought you here?", "answer": "A Google search" } ], "at": "2026-09-20 14:02:11" }
Answers arrive with their question text as well as their id, so whatever receives them never has to know your question ids. A question answered with several choices arrives as one comma separated string. If the visitor did not leave an email, the email and name fields are empty strings rather than missing.
Only a http or https address is accepted. Anything else is refused when you save, rather than stored and quietly never called.
Prefer code? Every response also fires the rsv_response_recorded action, and every opt-in fires rsv_lead_captured. Both are covered in the developer guide.