SyncFlo AI
Real-time Events

Outbound Webhooks

SyncFlo uses webhooks to notify your application in real-time when events occur within your integration. Register a secure endpoint to start receiving data.

Webhook Architecture

SyncFlo sends signed
POST
requests with JSON payloads to your registered URL. Your server should respond with a200 OKstatus to acknowledge receipt.

Setup Process

1

Create Endpoint

Host a public HTTPS URL capable of receiving POST requests.

2

Register URL

Add your endpoint URL in the Developer Dashboard.

3

Select Events

Choose the event types your application needs to monitor.

4

Verify Secret

Securely store the signing secret for signature validation.

Signature Verification

For security, always verify the authenticity of requests using the signature headers provided.

X-SyncFlo-Event
Identifies the type of event being delivered.
X-SyncFlo-Signature
HMAC SHA256 signature generated with your secret.
X-SyncFlo-Timestamp
Unix timestamp to prevent replay attacks.

Verification Logic (Node.js)

const crypto = require('crypto');

function verifyWebhook(secret, payload, signature) {
  const hmac = crypto.createHmac('sha256', secret);
  const digest = Buffer.from(
    hmac.update(payload).digest('hex'), 
    'utf8'
  );
  const sig = Buffer.from(signature, 'utf8');

  return crypto.timingSafeEqual(digest, sig);
}

Event Catalog

CategoryEvent KeyDescription
Messagingmessage.receivedNotification when a customer sends a message via WhatsApp.
Messagingmessage.sentConfirmation when a message is successfully sent from the account.
AIagent.repliedNotification when the AI agent generates and sends a response.
Orderspayment.receivedConfirmation of a successful payment capture.
CRMlead.qualifiedNotification when a lead is auto-qualified by the AI.

Delivery & Retries

Synchronous acknowledgment is required. If a delivery attempt fails, SyncFlo will retry up to 8 times with exponential backoff over a period of 24 hours.