Skip to content

ExhaleIntegrator documentation

Connect Sources, Context, and Notifications — scrubbed ingest, triage, and on-call calm.

What Exhale does ​

Exhale ingests incoming alert signals from on-call and observability tools, stores scrubbed payloads as Pulses, and produces structured triage guidance for engineering teams.

The API base URL is https://exhaleoncall.com. Webhook URLs in these guides use /webhooks. See API versioning and the changelog.

Tagline: The shock absorber for on-call engineering operations.

A new workspace includes one sample Pulse (source sample, external id SAMPLE-1). It is not an incoming webhook and does not occupy an ingest slot. Pulse reads include is_sample. The first live Pulse archives it. See the changelog.

Connections ​

Customer setup lives in the Exhale app under Connections. Public docs follow the same three hubs:

HubCreates Pulses?Start here
SourcesYesIncoming webhooks
ContextNoTriage enrichment and ticketing
NotificationsNoSlack, Teams, email, SMS

A vendor can appear in more than one hub. Grafana Sources is a webhook contact point. Grafana Context is an API key used later for excerpts.

Stripe billing webhooks are platform-owned and are not documented here.

Shipped ingest paths ​

SourceEndpointGuide
PagerDutyPOST /webhooks/pagerdutyPagerDuty webhooks
JSM Operations (Opsgenie)POST /webhooks/opsgenie (header) or POST /webhooks/opsgenie/{token}JSM Operations (Opsgenie)
Splunk On-CallPOST /webhooks/splunk-oncall (header) or POST /webhooks/splunk-oncall/{token}Splunk On-Call
incident.ioPOST /webhooks/incident-io (header) or POST /webhooks/incident-io/{token}incident.io
GrafanaPOST /webhooks/grafana (header) or POST /webhooks/grafana/{token}Grafana
DatadogPOST /webhooks/datadog (header) or POST /webhooks/datadog/{token}Datadog
Prometheus AlertmanagerPOST /webhooks/alertmanager (header) or POST /webhooks/alertmanager/{token}Alertmanager
New RelicPOST /webhooks/newrelic (header) or POST /webhooks/newrelic/{token}New Relic
SentryPOST /webhooks/sentry (header) or POST /webhooks/sentry/{token}Sentry
HoneycombPOST /webhooks/honeycomb (header) or POST /webhooks/honeycomb/{token}Honeycomb
Elastic ObservabilityPOST /webhooks/elastic (header) or POST /webhooks/elastic/{token}Elastic
DynatracePOST /webhooks/dynatrace (header) or POST /webhooks/dynatrace/{token}Dynatrace
AWS CloudWatchPOST /webhooks/aws-cloudwatch (header) or POST /webhooks/aws-cloudwatch/{token}AWS CloudWatch
Manual webhookPOST /webhooks/manual (header) or POST /webhooks/manual/{token}Manual webhook

Documentation map ​

  1. Connections — Sources, Context, and Notifications
  2. Sources — how ingest works across all incoming webhooks
  3. Context — repos, observability APIs, runbooks, ticketing
  4. Notifications — Slack, Teams, email, SMS
  5. Display & model — which model runs triage and how results appear
  6. Prompt & behavior — custom instructions, severity tone, and context attachment
  7. Quality & feedback — triage ratings, insights, and export
  8. Errors & authentication — structured errors, sessions, tenant API keys
  9. API versioning — /v1 webhook paths and the deprecation policy for later programmatic access
  10. Changelog — integrator-facing release notes

For behavior edge cases not covered here, contact support@exhaleoncall.com.

Exhale by Kolstrom Systems LLC