Available Events
Register a Webhook
Create a webhook endpoint by sending aPOST to /webhooks with your URL, the events you want to receive, and a secret for signature verification:
Registration Parameters
string
required
The HTTPS URL Fliqr AI will POST events to. Must be publicly reachable. HTTP (non-TLS) endpoints are not accepted.
array
required
An array of event names to subscribe to. At least one event is required. Use
["*"] to subscribe to all events.string
required
A secret string you choose. Fliqr AI uses this to compute an HMAC-SHA256 signature for every delivery, which your server uses to verify authenticity. Store this as an environment variable.
Webhook Object Fields
string
Unique identifier for the webhook registration. Use this ID to update or delete the webhook.
string
The delivery URL.
array
The list of subscribed event names.
string
active or disabled. Webhooks are automatically disabled after repeated delivery failures.string
ISO 8601 timestamp when the webhook was registered.
Event Payload Structure
Every event delivery is an HTTP POST with a JSON body following this structure:string
A unique identifier for this specific event delivery. Use this for idempotency — if you receive the same
id twice, discard the duplicate.string
The event name, matching one of the subscribed event types.
string
ISO 8601 timestamp when the event occurred on the Fliqr AI platform.
object
The event payload. Schema varies by event type. Always contains
contact_id and channel at minimum.Verify Webhook Signatures
Fliqr AI signs every delivery with an HMAC-SHA256 digest of the raw request body, using your webhook secret. The signature is sent in theX-Fliqr-Signature header. Always verify this before processing:
webhook-server.js
Use
crypto.timingSafeEqual (or your language’s equivalent constant-time comparison) rather than a simple string equality check. Standard string comparison is vulnerable to timing attacks.Retry Policy
If your endpoint returns anything other than HTTP200, or does not respond within 10 seconds, Fliqr AI marks the delivery as failed and retries automatically:
After 5 consecutive failures, the webhook is automatically disabled and you receive a notification email. Re-enable it from Settings → Webhooks once your endpoint is healthy.
Respond Quickly, Process Asynchronously
Your endpoint must return200 within 10 seconds. For any processing that takes longer — database writes, downstream API calls, or sending follow-up messages — push the event body onto an internal queue and return 200 immediately:
What’s Next
Contacts
Use the Contacts API to look up and update contact records when you receive a webhook event.
Webhook Integrations Guide
Step-by-step guide for connecting Fliqr AI webhooks to popular platforms and serverless functions.