Skip to content

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.

This is ingest (creates Pulses). For entity and issue enrichment at triage time, see New Relic context.

Not the same as Context New Relic: Connections → Context → New Relic is a separate connector (connect/test and APM fetch at triage are shipped). Connections → Sources → New Relic (this guide) creates Pulses from webhook deliveries only.

See Sources for how New Relic fits with the other incoming webhooks.

On the hosted app, use the URL Connections copies. It starts with https://exhaleoncall.com/webhooks/. The customer host does not publish /v1/webhooks/....


Endpoint ​

After Connect in Connections → Sources → Observability & alerts → New Relic:

Preferred (keeps tokens out of proxy access logs):

POST https://exhaleoncall.com/webhooks/newrelic

Send header X-Exhale-Webhook-Token: {token}.

Path form (also supported):

POST https://exhaleoncall.com/webhooks/newrelic/{token}
  • token — opaque URL segment; this token authenticates the delivery.
  • Response: 202 Accepted with pulse_id, status, created, and message.

Unknown tokens return 404. Disabled or expired-trial tenants return 403.


Customer setup ​

  1. Sign in as admin → Connections → Sources → New Relic.
  2. Click Connect New Relic and copy the webhook URL.
  3. In New Relic, open Alerts → Workflows, add a Webhook destination, and paste the Exhale URL.
  4. Use a custom payload template with issueId and state (workflow variables such as and ).
  5. Route issue activations and closures to that webhook.
  6. Send test alert creates a synthetic pulse and marks the integration configured.

See New Relic's official guide: Alerts notification integrations.

Rotate webhook token replaces the previous URL right away. Update New Relic after rotating.


Payload shape ​

FieldRequiredNotes
issueIdYes (or incident_id)Stable id for dedupe (source=new_relic)
stateNoACTIVATED, CLOSED, open, …
title / issueTitleNoPulse title

Lifecycle mapping ​

New Relic statePulse status
Activated, Created, open, activeReceived → triage
Closed, Resolved, OKResolved

Example ​

bash
TOKEN="your-url-token"
curl -i -X POST "https://exhaleoncall.com/webhooks/newrelic/${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"issueId":"NR-1","state":"ACTIVATED","title":"High error rate"}'

See Errors & authentication for structured errors, 413 size limits, Redis delivery dedupe, and token rotation. Context New Relic (Connections → Context) is a separate connector and does not receive this webhook.

Exhale by Kolstrom Systems LLC