Skip to main content
The Webhooks integration is coming soon. This documentation describes upcoming functionality.Self-service webhook configuration is not currently exposed in Settings → Integrations. Settings → Developer Hub → Webhooks is a non-functional preview only: endpoints are stored in the browser and no production events are delivered. Contact your account manager for availability of supported webhook configuration.
Webhooks allow Living Security to send real-time event data to your custom endpoints. Use webhooks to integrate with SIEM platforms, ticketing systems, data warehouses, and custom automation playbooks.

Overview

When configured, Living Security sends HTTP POST requests to your endpoint whenever selected events occur. Each webhook payload includes:
  • Event type and timestamp
  • Relevant entity data (user, training, playbook)
  • Organization context
  • Cryptographic signature for verification

Supported Events

Webhook Payload Format

All webhooks use a consistent JSON payload structure:

Configuring a Webhook

1

Prepare your endpoint

Create an HTTPS endpoint that:
  • Accepts POST requests
  • Responds with 2xx status within 30 seconds
  • Handles JSON request bodies
  • Verifies webhook signatures (recommended)
2

Navigate to webhook settings

When the Developer Hub preview is enabled for your organization, open Settings → Developer Hub → Webhooks to explore the upcoming UI. The legacy Settings → Integrations → Outbound → Webhooks navigation path is no longer shown in the dashboard menu.
The Developer Hub webhooks page is a prototype. Creating endpoints there does not configure production webhook delivery.
3

Add your webhook endpoint

Click Add endpoint and configure:
string
required
Your webhook URL. Must be HTTPS in production.
string
required
A friendly name for this endpoint (for example, “SIEM Integration”).
array
required
Select which events trigger this webhook.
Click Create endpoint. Living Security generates a signing secret once after creation — copy and store it securely before closing the dialog. You cannot retrieve the full secret again later.
4

Test and verify

Click Send Test Event to verify your endpoint receives webhooks correctly.
Your endpoint returns a 200 status and the webhook shows as “active”.

Verifying Webhook Signatures

Living Security signs all webhook payloads using HMAC-SHA256. Verify signatures to ensure webhooks are authentic:

Retry Policy

Living Security retries failed webhook deliveries with exponential backoff: After 5 failed attempts, the webhook is marked as failing and notifications are paused.

Common Integrations

Splunk

Forward events to Splunk HEC for security analytics and dashboards.

ServiceNow

Create incidents or tasks automatically based on training events.

Jira

Track training compliance as Jira issues for team visibility.

Custom Data Warehouse

Stream events to your data warehouse for custom reporting.

Troubleshooting

  • Verify your endpoint is publicly accessible
  • Check firewall rules allow traffic from Living Security IPs
  • Ensure your endpoint responds within 30 seconds
  • Review your server logs for incoming requests
  • Ensure you’re using the raw request body for verification (not parsed JSON)
  • Verify the secret matches exactly (no extra whitespace)
  • Check you’re comparing the full signature including the sha256= prefix
  • Check your endpoint health and availability
  • Review error responses in the webhook delivery logs
  • Fix the underlying issue, then click Retry to resume deliveries

Best Practices

Process webhooks asynchronously. Accept the webhook with a 200 response immediately, then process it in a background job. This prevents timeouts and ensures reliable delivery.
  • Always verify webhook signatures before processing
  • Implement idempotency—webhooks may be delivered more than once
  • Log all incoming webhooks for debugging
  • Set up monitoring and alerting for webhook processing failures
  • Use a webhook management service (like Svix or Hookdeck) for complex routing needs