This is the piece that separates collecting data from doing something with it. A lead becomes a CRM record, a work request becomes a ticket, a registration becomes a calendar entry, and nobody retypes anything.

How it works

Setting it up.

01

Paste the URL

Open the Zapier or Make card on the form and paste the endpoint. Both are plain JSON POSTs to whatever URL you give them, so either one also delivers to your own service.

02

Add a signing secret

Optionally set a secret, and each delivery carries an X-Questionful-Signature header, sha256=<HMAC-SHA256 of the body>. Submit one test response and recompute it at your end before you trust anything.

03

Receive the payload

The body carries the event, the form (uuid and title), the response (uuid and submitted time), every answer as question / name / value, and a flat data map of name to value.

04

Watch the deliveries

Every attempt is logged as recent activity on the form, so a failing endpoint is visible rather than silent.

What you get

Included, on every plan unless noted.

  • JSON POST to any publicly routable URL
  • Optional HMAC-SHA256 request signing via X-Questionful-Signature
  • Full answer list plus a flat name-to-value map in every payload
  • Uploaded files delivered as signed download links
  • Delivery attempts logged as recent activity on the form
  • Google Drive filing and Zapier / Make cards alongside it
  • No API key, no SDK, no developer account. It is a URL you paste
What it does not do

We would rather you find this out here than after signing up.

  • Delivery runs inline with the submission: 15 second timeout, 2 attempts, and no later retry (a downtime window loses those deliveries
  • Recent activity keeps the last 20 rows per form
  • The endpoint must be publicly routable; internal and loopback addresses are rejected by the SSRF guard
  • There is no generic "Webhook" card) use the Zapier or Make card with your own URL
  • No public REST API for reading responses back yet, no API tokens, and no JavaScript SDK
FAQ

Form Webhooks: common questions.

Does Questionful support webhooks?

Yes. The Zapier and Make cards are plain JSON POSTs to any URL, so either one delivers to an endpoint of your own. There is no separate webhook card to look for.

How do I send form responses to my own endpoint?

Open the Zapier or Make integration card on the form and paste your URL. Both are plain JSON POSTs, so neither requires an account with those services. The card is just a webhook with a name on it.

Are webhook requests signed?

They can be. Set a signing secret and every delivery carries X-Questionful-Signature: sha256=<HMAC-SHA256 of the body>, which your endpoint verifies before trusting the payload.

What happens if my endpoint is down?

Delivery happens inline with the submission with a 15 second timeout and two attempts. There is no later retry, so a prolonged outage loses those deliveries. The attempt is logged on the form so you can see it happened.

What is in the payload?

The event name, the form uuid and title, the response uuid and submission time, an answers array of question / name / value objects, and a flat data object mapping field names to values. Uploaded files arrive as signed download links.

Is there a REST API as well?

Not yet. There are no API tokens, no OAuth provider, and no JavaScript SDK. Webhooks and the standalone HTML export cover the developer-facing cases today.

Try it on the free plan.

Unlimited forms and 100 responses a month. Paid plans from €19.

No credit card required.