Last updated: Jun 08, 2026

Subscribing to Webhooks

Subscribing to Webhookslink

Create and manage webhook subscriptions to receive event notifications.

  1. Navigate to SettingsIntegrationsWebhooks
  2. Click Create Webhook
  3. Configure the webhook
  4. Save

Webhook Configurationlink

Field Description
status ACTIVE (delivers enabled) or INACTIVE (delivers paused). Default: ACTIVE
event Event to subscribe to. Must be one of the Available Events.
url Target endpoint URL where the paylod is delievered.
method Which HTTP method (POST or PUT) to use for delivering the payload. Default: POST
secret Optional secret key used to generate a HMAC-SHA256 hash of the request body, so receiver can verify authenticity of the webhook.

Note: Have in mind that by subscribing for (anything)_STATE_CHANGED along with any other state related topic, you will receive both notifications (for the specific event and for the generic (anything)_STATE_CHANGED event). E.g.: if you subscribe for FAILURE_STATE_CHANGED and FAILURE_CLOSED, you will receive two notifications whenever a Work Order is completed.

URL Requirementslink

Your webhook URL must:

  • Use HTTP or HTTPS (give preference for HTTPS)
  • Be publicly accessible
  • Accept POST or PUT requests (according to what you configured)
  • Return 2xx status within 30 seconds (max timeout)
  • Handle JSON content type

Testing Locallylink

For local development, you can use a tunnel service, like Ngrok:

# ngrok
ngrok http 8080

Copy the HTTPS forwarding URL from the agent console and use it to configure the webhook.

Best Practiceslink

  • Use descriptive URLs. E.g.: https://your-app.com/hooks/infraspeak/failures, rather than https://your-app.com/hook.
  • Subscribe only to events you need, and route them to specific handlers.
  • Configure secrets to verify authenticity of the webhook.
  • Monitor webhook health to avoid webhook auto-deactivation.