Webhook setup
Receive real-time data from external tools by creating a webhook endpoint in Genuics.
Webhooks let external tools push data into Genuics in real time. When something happens in another service - a form submission, a payment, a new issue - that service sends a JSON payload to your Genuics webhook URL, and the data lands in your dataset automatically.
This is the best option when you want data to arrive the moment it's created, without waiting for a scheduled sync. Available on Starter plan and above.
How it works
- You create a webhook connector in Genuics and get a unique URL.
- You paste that URL into the external tool's webhook settings.
- When the external tool fires an event, it sends a JSON payload to your URL.
- Genuics receives the payload, maps the fields, and inserts the data into your dataset.
Create a webhook connector
- Go to Setup > Connectors and click Add connector.
- Select Webhook.
- Give your webhook a name (e.g., "Typeform Responses" or "Stripe Payments").
- Choose an existing dataset to send data to, or create a new one.
- Click Create. Genuics generates a unique webhook URL and an authentication token.
You'll see your webhook URL and token on the connector detail page. Copy both - you'll need them in the next step.
Configure the sending tool
Every tool handles webhooks slightly differently, but the general steps are the same:
- Open the settings or integrations page of the external tool (Typeform, Stripe, GitHub, etc.).
- Find the Webhooks section and add a new webhook.
- Paste your Genuics webhook URL.
- If the tool supports custom headers, add an
Authorizationheader with the valueBearer YOUR_TOKEN(replaceYOUR_TOKENwith the token from Genuics). - Save the webhook in the external tool.
Common integrations
Here's where to find webhook settings in popular tools:
| Tool | Where to find it |
|---|---|
| Typeform | Connect > Webhooks on the form settings page |
| Tally | Integrations > Webhooks on the form editor |
| Jotform | Settings > Integrations > Webhooks |
| Stripe | Developers > Webhooks in the Stripe Dashboard |
| GitHub | Repository Settings > Webhooks |
| GitLab | Project Settings > Webhooks |
| Sentry | Settings > Integrations > Webhooks (or Internal Integration) |
| Linear | Settings > API > Webhooks |
Send a test payload
After configuring the external tool, verify the connection works:
- Trigger a test event in the external tool. For a form, submit a test response. For Stripe, use a test-mode event. For GitHub, push a commit or create a test issue.
- Go back to your webhook connector in Genuics and check the Recent deliveries section.
- You should see the test payload listed with a success status. Click it to inspect the raw JSON.
If the delivery shows an error, check the troubleshooting section below.
Security options
Token authentication
Every Genuics webhook includes a unique authentication token. External tools must include this token in the Authorization header. Requests without a valid token are rejected with a 401 Unauthorized response.
Webhook secret verification
For tools that sign their payloads (like Stripe and GitHub), you can add an extra layer of verification:
- On the webhook connector detail page, click Security settings.
- Enter the webhook signing secret from the external tool (e.g., Stripe's
whsec_...value). - Genuics verifies the signature on every incoming request and rejects any payload with an invalid or missing signature.
IP allowlist
If you know the IP addresses that the external tool sends from, you can restrict your webhook to only accept traffic from those addresses:
- On the webhook connector detail page, click Security settings.
- Under IP allowlist, add the IP addresses or CIDR ranges to allow.
- Any request from an IP not on the list is rejected.
Map incoming fields
When Genuics receives a webhook payload, it flattens the JSON and maps each field to a dataset column. You can customize this mapping on the Field mapping tab of the connector:
- Map nested JSON fields (e.g.,
answers.0.text) to named columns - Set field types (Metric, Dimension, Date, Open-end, ID)
- Ignore fields you don't need
See Field mapping for the full guide.
Troubleshooting
| Issue | Solution |
|---|---|
Deliveries show 401 Unauthorized | The external tool isn't sending the correct token. Check the Authorization header. |
Deliveries show 400 Bad Request | The payload format may be unexpected. Inspect the raw JSON in Recent deliveries. |
| No deliveries appear | Confirm the webhook URL is correct in the external tool. Check for typos. |
| Data arrives but columns are empty | Your field mapping may not match the payload structure. Send a test payload and adjust the mapping. |
Next steps
Once your webhook is receiving data, review Field mapping to refine how incoming fields are stored, or check Sync status and troubleshooting to monitor delivery health over time.