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
| Category | Event Key | Description |
|---|---|---|
| Messaging | message.received | Notification when a customer sends a message via WhatsApp. |
| Messaging | message.sent | Confirmation when a message is successfully sent from the account. |
| AI | agent.replied | Notification when the AI agent generates and sends a response. |
| Orders | payment.received | Confirmation of a successful payment capture. |
| CRM | lead.qualified | Notification 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.