Services & Integrations

A Service in onduty.sh is any component of your infrastructure that you want to monitor. This could be a monolithic application, a microservice, a database, or even a third-party API.

Creating a Service

  1. Navigate to Services > New Service.
  2. Name: Give it a clear, descriptive name (e.g., Payments API, Redis Cluster).
  3. Description: Optional, but helpful for context.
  4. Escalation Policy: Choose how alerts for this service should be routed.

Integrations

Every Service has a unique Integration Key. This key is used to authenticate alerts sending data to this specific service.

Generic Webhook

The most flexible way to integrate is via our generic webhook API.

Endpoint:

bash
POST https://onduty.sh/events/webhook/[YOUR-INTEGRATION-KEY]

Payload:

json
{
  "title": "High Error Rate",
  "description": "500 errors > 5%",
  "severity": "critical",  // critical, error, warning, info
  "details": {             // Optional arbitrary JSON
    "region": "us-east-1",
    "host": "web-01"
  }
}

Prometheus / Alertmanager

You can configure Alertmanager to send webhooks to onduty.sh.

yaml
receivers:
- name: 'onduty-webhook'
  webhook_configs:
  - url: 'https://onduty.sh/events/webhook/[YOUR-INTEGRATION-KEY]'

Datadog

In Datadog, look for "Webhooks" integrations.
1. Create a new Webhook.
2. Name: onduty-payments-api
3. URL: https://onduty.sh/events/webhook/[YOUR-INTEGRATION-KEY]
4. Payload: Use the JSON format above.

New Relic

Use "Webhook" notification channels in New Relic workflows.
1. Destination: Webhook
2. Url: https://onduty.sh/events/webhook/[YOUR-INTEGRATION-KEY]
3. Payload Template:

json
{
  "title": "{{ issueTitle }}",
  "description": "{{ issueDescription }}",
  "severity": "critical"
}