Receive data via webhook
A webhook flips the direction of a data connection: instead of Dotwave reaching out to fetch data, you push data to Dotwave whenever you have it. This is ideal for event streams, automation platforms, and scripts that run on their own schedule. Dotwave gives you a unique URL, and anything that can send an HTTP POST can feed a dataset.
What is a webhook endpoint?
When you create a webhook data source, Dotwave generates a unique HTTPS URL. Any service that can send an HTTP POST request — an automation tool like Zapier or Make, or your own application code — sends data to that URL. Dotwave receives the payload and creates or updates a dataset automatically, with no manual import step. The URL is the shared secret between your sender and Dotwave, so treat it as sensitive.
Create a webhook
From the Data sources page, click Add data source and choose Webhook.
Give the webhook a descriptive name so you can recognize the dataset it feeds.
Select JSON or CSV to match what your sender will POST.
Pick Replace (each payload replaces all data) or Append (each payload adds rows to the existing data).
Add a signature secret if you want Dotwave to verify that payloads genuinely came from your sender.
Click Create, then Activate the webhook. Dotwave shows the unique URL to send data to.
Send data to your webhook
Once the webhook is active, POST your payload to the generated URL. Here is a minimal example using curl with a JSON body:
curl -X POST YOUR_WEBHOOK_URL \
-H "Content-Type: application/json" \
-d '[{"col1":"value","col2":123}]'
Replace YOUR_WEBHOOK_URL with the URL Dotwave generated. The same request works from any language or automation tool — the only requirements are the correct URL, the right content type, and a body in the format you selected.
Payload format
The body you send depends on the format you chose when creating the webhook:
- JSON — send either an array of objects,
[{...}, {...}], or an object with adatawrapper,{"data": [...]}. Each object is one row and its keys become columns. - CSV — send standard CSV text with the column headers in the first row, followed by one row of values per line.
Use Append mode for streaming data that arrives in batches. Use Replace for full refreshes where each payload is the complete dataset.
Verifying and securing payloads
If you added a signature secret, configure your sender to sign each request with it so Dotwave can reject anything that does not match. Because the webhook URL is effectively a credential, avoid committing it to source control or pasting it into shared documents. If a URL is ever exposed, delete the webhook and create a new one — the old URL stops accepting data immediately.
In Append mode, each accepted payload adds rows without removing existing ones, so a dataset can grow indefinitely. Plan periodic Replace payloads or downstream filtering if you only care about a recent window of data.
Dotwave