← Spec Hub | Category: Developer APIs
Developer documentation for integrating Make.com ➔ Supabase Webhook Pipeline Specification webhooks into backend applications. Secure your endpoint with HMAC signature checking and payload validation.
Supported Events: resource.created resource.updated resource.deleted event.triggered
Security validation specs for Make.com ➔ Supabase Webhook Pipeline Specification endpoints:
X-Make.com➔SupabaseWebhookPipelineSpecification-Signature: t=1789764052,v1=cff5180c6bd308c4869fb1bb
const crypto = require('crypto');
const expected = crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
const isValid = crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signature));
import hmac, hashlib
expected = hmac.new(secret.encode(), raw_body, hashlib.sha256).hexdigest()
is_valid = hmac.compare_digest(expected, incoming_sig)
{
"id": "evt_make-to-supabase.html_96028",
"event": "resource.created",
"created_at": 1789764052,
"data": {
"resource_id": "res_294",
"status": "active"
}
}
curl -X POST https://your-domain.com/webhook/make-to-supabase.html \
-H "Content-Type: application/json" \
-H "X-Make.com➔SupabaseWebhookPipelineSpecification-Signature: t=1789764052,v1=cff5180c6bd308c4869fb1bb" \
-d '{"id": "evt_make-to-supabase.html_96028", "event": "resource.created", "created_at": 1789764052, "data": {"resource_id": "res_294", "status": "active"}}'
| Status Code | Status Meaning | Integration Action |
|---|---|---|
200 OK | Success | Event payload validated and queued. |
400 Bad Request | Malformed Payload | Check payload structure and JSON formatting. |
401 Unauthorized | Signature Mismatch | Verify secret key and digest computation. |
500 Error | Server Error | Triggers provider automated retry backoff. |
Always process incoming events asynchronously using a message queue. Never perform long-running DB queries or external API calls synchronously within the HTTP response handler.
While signature verification is primary, restricting traffic to published origin IP ranges adds a robust layer of perimeter security.
Store processed event IDs in an atomic storage like Redis with a set expiration. If an incoming ID exists, acknowledge with 200 OK immediately without re-triggering logic.
Your framework might be auto-parsing JSON. HMAC generation requires the exact raw byte buffer of the request body before JSON middleware alters keys or spacing.