Webhooks
Webhooks let Mind One notify external systems in real time when events happen on the platform. Instead of polling the API periodically, your system receives an HTTP call the moment something relevant occurs.
How they work
- You configure an endpoint on your system that accepts
POSTrequests. - You register the webhook in Mind One, specifying the URL and which events to listen for.
- When the event occurs, Mind One sends a
POSTwith a JSON payload to your endpoint. - Your endpoint responds with a
2xxcode to confirm receipt.
Configuration
Webhooks are managed from Account Settings → Webhooks. Only the Admin role can create, edit and delete webhooks.
To create a webhook:
- Click + Create webhook.
- Enter a descriptive name (e.g. Sync notifications).
- Enter the destination URL where Mind One will send requests.
- Select one or more events that will trigger the webhook.
- Click Create webhook.
Available events
| Event | Description |
|---|---|
datagrid.row.created | A new record was created in a sheet |
datagrid.row.updated | An existing record in a sheet was updated |
datagrid.row.deleted | A record was deleted from a sheet |
datagrid.created | A new sheet was created |
datagrid.updated | A sheet’s configuration or metadata was modified |
datagrid.deleted | A sheet was deleted |
datagrid.approved | A sheet was published |
Payload format
All events follow the same structure:
{
"event": "datagrid.row.updated",
"timestamp": "2026-05-25T10:30:00Z",
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"data": { ... }
}| Field | Type | Description |
|---|---|---|
event | string | The event’s name |
timestamp | string | Date and time of the event in ISO 8601 (UTC) format |
tenantId | string | Identifier of the tenant that originated the event |
data | object | Event-specific payload |
Security
Every webhook includes an X-MindOne-Signature header with an HMAC-SHA256 signature of the request body, using the secret configured on the webhook.
X-MindOne-Signature: sha256=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxVerification in Node.js:
const crypto = require('crypto');
function verifySignature(payload, signature, secret) {
const expected = 'sha256=' + crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
}Always validate the signature before processing the payload. Discard requests with an invalid or missing signature.
Retries
If your endpoint doesn’t respond with a 2xx within the time limit (10 seconds), Mind One retries delivery with exponential backoff:
| Attempt | Wait |
|---|---|
| 1 | Immediate |
| 2 | 1 minute |
| 3 | 5 minutes |
| 4 | 30 minutes |
After 3 failed retries, the event is marked as undelivered.
Related
- API Documentation — Public REST API to query and modify data programmatically.
- Connections — Automatic syncing with data warehouses via Autosync.