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.

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 → IntegrationsObservability & alertsNew Relic:

Preferred (keeps tokens out of proxy access logs):

POST https://exhale.kolstromsystems.com/webhooks/newrelic

Send 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, and message.

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


Customer setup

  1. Sign in as adminConnections → IntegrationsNew 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.

Rotate webhook token invalidates the previous URL immediately — 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://exhale.kolstromsystems.com/webhooks/newrelic/${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"issueId":"NR-1","state":"ACTIVATED","title":"High error rate"}'

Full detail (dedupe, env vars, security, Context vs ingest): New Relic webhooks in the repository wiki.

Exhale by Kolstrom Systems LLC