← All use cases

Incidents & on-call

Turn an alert into an owner, not just a notification.

9:41
Roundtrip
Firing

Checkout error rate 11%

Payments are failing and users are affected for 4 minutes.

Service
payments-api
Error rate
11%
Region
us-west-2
Duration
4 min
The round trip

A notification that opens into a decision

Every Roundtrip request is one loop: something happens, a person decides on their phone, and the decision lands back in your app, signed.

  1. 1
    Trigger

    The trigger

    A monitor crosses a threshold. A one-way alert would fire into a channel and scroll past; the question of who is actually handling it stays open.

  2. 2
    Ask

    The ask

    On-call gets a card with the affected service, the error rate, and the duration, plus Acknowledge / Escalate. Acknowledging claims the incident; escalating routes it onward.

  3. 3
    Response

    What comes back

    The decision and the responder's identity return via webhook, so your system records who owns the incident and when — captured, not guessed from a thread later.

The API

One request out, one signed response back

The card on the phone is rendered straight from the request body, not a mockup. When the recipient responds, Roundtrip POSTs a signed event to your webhook and retries until it lands.

POST /roundtrip/v1/requests200 OK
{
  "channels": [
    "incidents"
  ],
  "notification": {
    "title": "Checkout · degraded",
    "body": "Error rate 11% for 4 min — needs an owner now."
  },
  "content": {
    "title": "Checkout error rate 11%",
    "description": "Payments are failing and users are affected for 4 minutes.",
    "status": {
      "label": "Firing",
      "tone": "danger",
      "loud": true
    },
    "sections": [
      {
        "type": "keyvalue",
        "columns": 2,
        "items": [
          {
            "label": "Service",
            "value": "payments-api",
            "mono": true
          },
          {
            "label": "Error rate",
            "value": "11%"
          },
          {
            "label": "Region",
            "value": "us-west-2"
          },
          {
            "label": "Duration",
            "value": "4 min"
          }
        ]
      }
    ],
    "actions": [
      {
        "id": "ack",
        "label": "Acknowledge",
        "style": "primary"
      },
      {
        "id": "escalate",
        "label": "Escalate",
        "style": "destructive"
      }
    ]
  },
  "response": {
    "mode": "required",
    "webhook": "https://api.example.com/roundtrip"
  }
}
9:41
Roundtrip
Firing

Checkout error rate 11%

Payments are failing and users are affected for 4 minutes.

Service
payments-api
Error rate
11%
Region
us-west-2
Duration
4 min
POST https://api.example.com/roundtripsigned · tap
{
  "requestId": "req_8Kx2…",
  "channel": "incidents",
  "kind": "tap",
  "action": "ack",
  "respondedAt": "2026-06-20T16:41:09Z"
}

Wire up Incidents & on-call

Get an API key and send your first request in the next few minutes.

More use cases