Appearance
New Relic
New Relic notification webhooks (Alerts workflows) POST JSON to Exhale. Each tenant gets a unique HTTPS URL token. Exhale scrubs the payload, upserts a Pulse (source=new_relic), and runs triage when the issue state maps to activated / open / similar.
Not the same as Context New Relic: Connections → Context → New Relic is a separate connector (connect/test shipped; APM fetch at triage still open). Connections → Integrations → New Relic (this guide) creates Pulses from webhook deliveries only.
See Incoming integrations for how New Relic fits alongside PagerDuty, Datadog, and Manual webhook.
OpenAPI: POST /webhooks/newrelic (header token) and POST /webhooks/newrelic/{token}.
Endpoint
After Connect in Connections → Integrations → Observability & alerts → New Relic:
Preferred (keeps tokens out of proxy access logs):
POST https://exhale.kolstromsystems.com/webhooks/newrelicSend header X-Exhale-Webhook-Token: {token}.
Path form (also supported):
POST https://exhale.kolstromsystems.com/webhooks/newrelic/{token}Design partners may substitute https://exhale-staging.kolstromsystems.com as the host.
token— opaque URL segment; this token authenticates the delivery.- Response: 202 Accepted with
pulse_id,status,created, andmessage.
Unknown tokens return 404. Disabled or expired-trial tenants return 403.
Customer setup
- Sign in as admin → Connections → Integrations → New Relic.
- Click Connect New Relic and copy the webhook URL.
- In New Relic, open Alerts → Workflows, add a Webhook destination, and paste the Exhale URL.
- Use a custom payload template with
issueIdandstate(workflow variables such asand). - Route issue activations and closures to that webhook.
- Send test alert creates a synthetic pulse and marks the integration configured.
Rotate webhook token invalidates the previous URL immediately — update New Relic after rotating.
Payload shape
| Field | Required | Notes |
|---|---|---|
issueId | Yes (or incident_id) | Stable id for dedupe (source=new_relic) |
state | No | ACTIVATED, CLOSED, open, … |
title / issueTitle | No | Pulse title |
Lifecycle mapping
| New Relic state | Pulse status |
|---|---|
| Activated, Created, open, active | Received → triage |
| Closed, Resolved, OK | Resolved |
Example
bash
TOKEN="your-url-token"
curl -i -X POST "https://exhale.kolstromsystems.com/webhooks/newrelic/${TOKEN}" \
-H "Content-Type: application/json" \
-d '{"issueId":"NR-1","state":"ACTIVATED","title":"High error rate"}'Related
Full detail (dedupe, env vars, security, Context vs ingest): New Relic webhooks in the repository wiki.