Usertick
Webhooks

Survey answers sent to your own endpoint

Send each survey answer to your own endpoint as signed JSON, with the answers, the AI reading and the person, from a workflow step or a survey event you choose.

Feedback for the systems you build

When the tool you need isn't on the list, or the tool is your own, a webhook sends each answer to an address you control. Your code receives the survey, the answers, the AI reading, the person and the status as JSON.

Every delivery is signed in the Standard Webhooks format, so your endpoint can check it came from Usertick, and carries an ID that stays the same across retries, so your endpoint can drop a duplicate.

A webhook can run as a workflow step, which sends the answers its conditions pick, or as a survey event set in Settings, which sends one event, such as a status change or a theme that spikes, for the surveys you choose.

Plan
Every plan, 1 endpoint on Free
Sends to
A public https address you add in Settings
Events
New answers, AI readings, status changes, corrections, urgent answers and theme spikes
Signed
HMAC-SHA256 in the Standard Webhooks format

Two ways to send, one payload

A workflow step or a survey event, both with the same signed body and the same retries.

A workflow step

Add Send to a webhook to a workflow and choose the webhook. The answers its conditions pick go out when the workflow starts, after the AI reading or when the answer turns urgent.

Survey events in Settings

Give a webhook one event: a new answer, an AI reading, a status change, a correction, an urgent answer or a theme spike. Choose the surveys, and filter by type, urgency or theme.

Deliveries you can check

Each webhook lists its deliveries with the request and the response. A failed delivery is retried by itself, and Send again resends one with the same ID.

What Usertick sends to your endpoint

Each delivery is a POST with a JSON body and these headers.

  1. 01webhook-id, webhook-timestamp and webhook-signature, the Standard Webhooks headers
  2. 02X-Usertick-Event and X-Usertick-Attempt, and X-Usertick-Test on a test
  3. 03type, the event, such as response.created or response.status_changed
  4. 04data, the answer: the survey, the site, the page, the device, the answers, the files, the AI reading, the person, the status and the assignees
  5. 05change, what changed and who changed it, on a status change or a correction
The body of a delivery
POST your endpoint
{
"id": "6f1d2c3b:n1",
"type": "response.analyzed",
"createdAt": "2026-10-16T10:42:07Z",
"data": { "survey": { … }, "answers": [ … ], "ai": { … } }
}

The id matches the webhook-id header and stays the same across retries and Send again.

Set up a webhook in three steps

Add the endpoint once, then send to it from any workflow or survey event.

  1. 1

    Add the webhook

    In Usertick, open Settings, then Developers, then Webhooks, select New webhook and enter a name and an https address. Save the signing secret, which shows once.

  2. 2

    Choose what it sends

    Give it a survey event with its surveys and filters, or add Send to a webhook to a workflow.

  3. 3

    Send a test

    Send test posts a ping to the endpoint, and Payload sample shows the body built from the survey's newest answer.

Rotate secret replaces the signing secret, and the old one keeps signing for 24 hours while you update your endpoint.

Read the setup guide

Frequently asked questions

Webhooks come with every plan, along with workflows. Free has 1 webhook endpoint, Starter 3, Pro 10 and Business 25.

Compute the HMAC-SHA256 of the id, the timestamp and the body with your secret, and compare it with the webhook-signature header, as the Standard Webhooks libraries do.

Usertick tries again after 30 seconds, 2 minutes, 10 minutes, 1 hour and 6 hours. After 5 failed deliveries in a row, your team gets a notice that the webhook is failing.

A webhook in Settings sends one event, so add another webhook with its own address for another event. A workflow step can send to any webhook you added.

No. Every delivery has the same signed body and headers, so your endpoint reads the fields it needs from the JSON.

For 30 days, and Settings lists the last 7 days with the request, the response and Send again.

More integrations

Listen better, act faster, and build what truly matters.

Start free, see what your customers mean, and get each answer to the person who can act on it.

  • 150 responses a month on Free
  • Every channel and AI analysis
  • No card needed