Prerequisites
- Permission to add integrations in Corelayer
- A monitoring or alerting tool that can send HTTP POST requests
- Access to run
curl, Postman, or another HTTP client from the same network as your alert sender
Step-by-Step Setup
1. Navigate to Integrations
In your Corelayer dashboard, go to the Integrations page.2. Add Custom Webhook
Click the Add Integration button and select Custom Webhook from the list of available integrations. Enter a name for the alert source, such asGrafana Production, Alertmanager, or Internal Monitor.
3. Copy the Webhook Details
Corelayer will generate:- A webhook URL
- A bearer token
- A sample alert payload
- A ready-to-copy
curlcommand
4. Verify the Webhook
Run the generatedcurl command from a machine that can reach the webhook endpoint. For customer-hosted Corelayer deployments, this can be a machine inside your private network.
Corelayer marks the webhook as verified after it receives a valid test request.
5. Configure Your Alert Sender
Configure your monitoring tool to send alert payloads to the webhook URL. Include the bearer token in theAuthorization header:
Alert Payload Format
Custom Webhook expects a canonical JSON alert payload.Required Fields
Optional Fields
Mapping a Provider’s Native Payload
Some alerting tools send their own payload shape and reject arbitrary bodies. For those, use the tool’s custom payload template to emit the canonical fields above. Two rules cover most providers: map the provider’s firing/recovery state ontoaction (trigger when firing, resolve when recovered), and format the timestamp as an RFC 3339 string.
Honeycomb
Honeycomb Triggers send a native payload, so point the trigger at a webhook recipient and set a custom payload template. In the Honeycomb recipient’s Payload template for trigger notifications:Authorization header on the recipient. The {{ if eq .Alert.Status "TRIGGERED" }} mapping sends trigger when the trigger fires and resolve when it recovers, and the date format keeps time a valid RFC 3339 string. The trigger’s .ID stays stable across firings, so it groups repeated alerts through fingerprint. Use Honeycomb’s Send Test on the trigger to confirm the webhook accepts the payload before relying on it.
Grafana
Grafana’s webhook contact point sends a fixed payload, so use its Optional Webhook Settings → Custom payload to emit the canonical fields. A Grafana notification batches the alerts in a group into one request; this template maps the group to a single canonical alert:Authorization: Bearer <your-token>. .Status maps firing to trigger and resolved to resolve; .GroupKey is stable per alert group, so it dedupes repeated notifications through fingerprint. .CommonLabels.severity is passed through when your alert rule sets a severity label, and defaults to info otherwise. Send a test notification from the contact point to confirm the payload is accepted.
How Corelayer Handles Alerts
When Corelayer receives a valid alert:triggeralerts start a Corelayer investigation.- Duplicate
triggeralerts with the same fingerprint are accepted but ignored for a short deduplication window. resolveandacknowledgealerts are accepted and recorded, but do not automatically close Corelayer issues yet.
Managing Webhooks
You can create multiple Custom Webhook sources from the Custom Webhook integration page. For each source, you can:- Copy the webhook URL
- Reset the bearer token
- Reverify the webhook after a token reset
- Enable or disable the webhook
- Delete the webhook source
Customer-Hosted Deployments
For customer-hosted Corelayer deployments, the webhook URL should point to the Corelayer server in your environment. The endpoint does not need to be publicly reachable if your alert sender is also inside your network. It only needs to be reachable from the system sending the alerts. If you use a cloud-hosted alerting tool, such as Grafana Cloud or Datadog, make sure the webhook endpoint is reachable from that service.Troubleshooting
Verification Does Not Complete
- Confirm the generated
curlcommand was run against the exact webhook URL shown in Corelayer - Confirm the bearer token was copied correctly
- Confirm your request includes
Content-Type: application/json - For private deployments, run the test from a machine that can reach the customer-hosted Corelayer server
Webhook Returns 401
The bearer token is missing or incorrect. Reset the token in Corelayer, update your alert sender, and run the generated reverify command.Webhook Returns 403
The webhook may be disabled. Open the Custom Webhook integration page and enable the webhook source.Webhook Returns 400
The JSON payload is malformed or does not match the required alert schema. Check the required fields and supportedaction and severity values. When the sender is a tool with its own payload shape, such as Honeycomb or Grafana, map its native fields to the canonical schema with a custom payload template — see Mapping a Provider’s Native Payload.
Need help? Contact support for assistance with your Custom Webhook integration.