Webhooks
ScaliQ can POST JSON to your HTTPS URL when events occur.
Setup
- Open app.scaliq.ai/api-mcp → Webhooks
- Create a subscription: name, HTTPS URL, events, optional campaign filter
- Optionally set a signing secret (you choose the string)
Default max 5 webhooks per workspace. Manage subscriptions in the dashboard (not via REST in v1).
Events
| Event | When |
|---|---|
reply.received | Prospect replied |
connection.accepted | Connection accepted |
lead.tagged | Lead tagged (manual or auto) |
account.disconnected | LinkedIn account disconnected / failed |
Payload shape
{
"id": "evt_...",
"type": "reply.received",
"createdAt": "2026-07-24T05:00:00.000Z",
"data": {
"campaignId": "search_abc",
"leadId": "lead_xyz",
"accountId": "acc_...",
"linkedinUrl": "https://www.linkedin.com/in/jane-doe/",
"fullName": "Jane Doe",
"messageText": "Thanks, interested in learning more.",
"tag": null
}
}
data fields present depend on the event (messageText on replies; tag on tag events; etc.). messageText may be truncated (~4000 chars).
connection.accepted (example)
{
"id": "evt_...",
"type": "connection.accepted",
"createdAt": "2026-07-24T05:00:00.000Z",
"data": {
"campaignId": "search_abc",
"leadId": "lead_xyz",
"accountId": "acc_...",
"linkedinUrl": "https://www.linkedin.com/in/jane-doe/",
"fullName": "Jane Doe",
"messageText": null,
"tag": null
}
}
lead.tagged (example)
{
"id": "evt_...",
"type": "lead.tagged",
"createdAt": "2026-07-24T05:00:00.000Z",
"data": {
"campaignId": "search_abc",
"leadId": "lead_xyz",
"accountId": "acc_...",
"linkedinUrl": "https://www.linkedin.com/in/jane-doe/",
"fullName": "Jane Doe",
"messageText": null,
"tag": "Interested"
}
}
account.disconnected (example)
{
"id": "evt_...",
"type": "account.disconnected",
"createdAt": "2026-07-24T05:00:00.000Z",
"data": {
"campaignId": null,
"leadId": null,
"accountId": "acc_...",
"linkedinUrl": null,
"fullName": null,
"messageText": null,
"tag": null
}
}
Signing (optional)
When you set a signing secret in app.scaliq.ai/api-mcp, every delivery includes:
X-ScaliQ-Signature: <your-secret>
The value is exactly the string you entered (e.g. password1234) — not an HMAC, not sha256=<hex>.
n8n: Header Auth → header X-ScaliQ-Signature, value = that same secret.
If no secret is set → deliveries are unsigned (no X-ScaliQ-Signature header).
Delivery
- Up to 3 attempts with backoff
- At-most-once (not guaranteed if the worker dies mid-flight)
- Failures never block ScaliQ inbox / tagging flows