Integration
Zikit + Custom Webhooks
Every meaningful change Zikit detects can be POSTed as JSON to an HTTPS endpoint you own. Use it to trigger a pipeline, open a ticket, write to your data warehouse, or forward to Zapier / n8n / Make. The payload is small, documented, and versioned via theevent field.
Payload shape
On every meaningful change (above your importance threshold), Zikit sends onePOST withContent-Type: application/json:
{
"event": "change_detected",
"monitor": {
"name": "Competitor Pricing - OpenAI",
"url": "https://openai.com/chatgpt/pricing"
},
"change": {
"summary": "ChatGPT Plus moved from $20/mo flat to $20/mo + usage credits. New Business tier at $25/user/mo.",
"importance": 8,
"changeType": "content"
},
"timestamp": "2026-04-23T14:41:00.000Z",
"source": "zikit.ai"
}event- currently alwayschange_detected. New event types will land as additive values.monitor.name/monitor.url- the page that changed.change.summary- plain-English AI summary (same text that appears in your dashboard).change.importance- integer 1-10. Zikit only POSTs changes at or above your configured threshold.change.changeType-content,price,status, etc.timestamp- ISO 8601 UTC, when the change was detected.
Example handlers
Node / Express
// Example: Express handler
import express from "express";
const app = express();
app.use(express.json());
app.post("/zikit-hook", (req, res) => {
const { monitor, change } = req.body;
if (change.importance >= 7) {
// route high-severity changes to on-call
notifyOnCall(`${monitor.name}: ${change.summary}`);
}
res.status(200).end();
});
app.listen(3000);Python / FastAPI
# Example: FastAPI handler
from fastapi import FastAPI, Request
app = FastAPI()
@app.post("/zikit-hook")
async def zikit(req: Request):
payload = await req.json()
monitor = payload["monitor"]
change = payload["change"]
if change["importance"] >= 7:
notify_on_call(f"{monitor['name']}: {change['summary']}")
return {"ok": True}Reply with any 2xx status to acknowledge. If your endpoint returns non-2xx or times out after 10 seconds, Zikit logs the failure and marks the alert for review - it does not retry automatically (by design, to avoid duplicate-event hell).
Setup
Expose an HTTPS endpoint
Any public HTTPS URL that accepts a JSON POST. Cloud Functions, Lambda behind API Gateway, a Rails controller, Zapier Webhook - all fine. Must be HTTPS; HTTP is rejected. Private IPs and localhost are rejected by our SSRF protection.
Paste the URL into your monitor
In your dashboard, open a monitor’s Alert preferences → Add alert → Webhook, paste the URL, and pick your importance threshold. Save.
Verify with a real change
The next meaningful change on that monitor triggers a POST. Usewebhook.sitefor a throwaway inspection URL during development.
Requirements & limits
- Zikit Business plan ($49/mo) - Webhooks are a Business-tier feature
- HTTPS endpoint with a valid TLS certificate (self-signed not supported)
- Endpoint must respond with a 2xx status within 10 seconds
- One POST per meaningful change - no retries, no ordering guarantee between monitors
- SSRF protection blocks private IPs, loopback, link-local, and non-HTTPS URLs
FAQ
Does Zikit sign requests with HMAC?
Not yet. For now, protect your endpoint with a secret path segment (e.g. /zikit-hook/<random-token>) or an auth header. HMAC signatures are on our roadmap; drop a note at support@zikit.ai if you need them sooner.
Can I forward webhooks to Zapier / n8n / Make?
Yes. Create a “Webhook by Zapier” trigger (or equivalent) in your automation tool, copy its URL, and paste it as the Zikit webhook destination. Works identically to a custom endpoint.
What happens if my endpoint is down?
The delivery is logged as failed and the change is marked un-notified in your dashboard. You can see delivery failures per monitor. We do not queue-and-retry to avoid duplicate events; if you need at-least-once semantics, put a queue (SQS / PubSub) in front of your handler.
Can the payload change?
We only add fields, never remove or rename them. New event types will land as new event values so you can ignore them safely.
Already on Business? Add a webhook to a monitor