Webhooks let you receive real-time HTTP notifications when events occur in your Kakiyo campaigns. Use them to sync data with your CRM, trigger automations, or build custom integrations.
Available Events
Event | Description |
| Agent sends a message to a prospect |
| Prospect responds to an agent |
| Agent sends a connection invitation |
| Prospect accepts a connection invitation |
| Wildcard: receive all events |
Setting Up a Webhook
Navigate to Webhooks in the sidebar.
Click Create Webhook.
Fill in the configuration:
Name: A label for your webhook (e.g., "CRM Sync")
URL: The HTTPS endpoint that will receive the POST requests
Secret (optional): A shared secret for HMAC signature verification
Events: Select which events to listen for
Payload Format
Every webhook delivery sends a POST request with Content-Type: application/json:
{
"event": "linkedin.message.received",
"teamId": "team_12345abcde",
"timestamp": "2025-07-15T10:30:00.000Z",
"data": {
"agentId": "...",
"campaignId": "...",
"chatId": "...",
"prospectId": "...",
"message": "...",
"timestamp": "..."
}
}Security: HMAC Signature Verification
If you configure a secret, every delivery includes an X-Kakiyo-Signature header containing an HMAC-SHA256 signature of the JSON payload. Verify it server-side by computing the same HMAC using your secret over the raw request body.
Retry Logic and Auto-Disable
Retries: Up to 3 retries with exponential backoff (1s, 2s, 4s). Each attempt times out after 10 seconds.
Auto-disable: After 4 consecutive failures, the webhook is automatically disabled. You will receive an email notification. Re-enabling the webhook resets the failure counter.
Credit Cost
Each successful webhook delivery consumes 2 credits. Failed deliveries do not consume credits.
Testing
Use the API to test your webhooks before going live:
POST /v1/webhooks/testsends a test payload to all active webhooks for a given event.GET /v1/webhooks/test/example/:eventreturns an example payload without triggering anything.
