Skip to content

Webhooks ​

Kealink can post to a URL of yours whenever an alert opens or closes, alongside the alert email. Ask your Kealink contact to set your company's webhook URL. It must start with https://.

Slack ​

Give a Slack incoming webhook URL (https://hooks.slack.com/...) and Kealink posts a Slack message with the alert, its detail and a link to the machine.

Any other URL ​

Kealink sends POST with Content-Type: application/json and User-Agent: Kealink-Alerts/1, one request per alert:

json
{
  "event": "alert.opened",
  "alert": {
    "id": "01j9x5a1b2c3d4e5f6g7h8j9k0",
    "kind": "high",
    "openedAt": "2026-10-24T02:15:00.000Z",
    "closedAt": null,
    "triggerValue": 92.4,
    "machine": { "id": "01j9x4n7k2b3q8r5t6v7w8x9y0", "name": "CNC 3" },
    "device": null,
    "point": { "label": "Spindle temperature", "unit": "°C", "lowLimit": null, "highLimit": 90 },
    "company": "Your company",
    "link": "https://app.kealink.co.nz/machines/01j9x4n7k2b3q8r5t6v7w8x9y0"
  },
  "subject": "Alert: Spindle temperature high on CNC 3",
  "text": "The same message as the alert email, as plain text."
}
FieldMeaning
eventalert.opened or alert.closed
alert.kindhigh, low or offline
alert.pointThe reading, or null for an offline alert
alert.deviceThe gateway the machine is on, when it has one
alert.linkThe machine in your portal

Delivery ​

  • Sent right after the alert email: once when the alert opens, once when it is back to normal.
  • Your endpoint has 10 seconds to answer with a 2xx status.
  • Best effort: a failed delivery is not retried. Use the alerts API to catch up after an outage on your side.