← All use cases

Access & approvals

Privileged requests, decided on a phone and written to the audit log.

9:41
Roundtrip
Awaiting approval

Grant prod DB access to Sam?

A privileged, time-boxed request — needs a yes and a reason.

Requester
Sam R.
Resource
prod-db
Scope
read-write
Window
1 hour
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

    Someone requests something privileged — production access, an elevated role, a spend over the auto-approve limit. The decision needs an accountable human and a paper trail.

  2. 2
    Ask

    The ask

    The approver gets the who, the what, and the scope, plus Approve / Deny and an optional reason field. A form captures the justification right alongside the decision.

  3. 3
    Response

    What comes back

    The verdict and the reason return signed to your webhook, so the grant is applied automatically and the whole exchange is recorded for audit — not reconstructed from a DM.

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": [
    "approvals"
  ],
  "notification": {
    "title": "Access · prod DB",
    "body": "Sam requests prod DB access for 1h — needs a yes + reason."
  },
  "content": {
    "title": "Grant prod DB access to Sam?",
    "description": "A privileged, time-boxed request — needs a yes and a reason.",
    "status": {
      "label": "Awaiting approval",
      "tone": "warning"
    },
    "sections": [
      {
        "type": "keyvalue",
        "columns": 2,
        "items": [
          {
            "label": "Requester",
            "value": "Sam R."
          },
          {
            "label": "Resource",
            "value": "prod-db",
            "mono": true
          },
          {
            "label": "Scope",
            "value": "read-write"
          },
          {
            "label": "Window",
            "value": "1 hour"
          }
        ]
      }
    ],
    "actions": [
      {
        "id": "approve",
        "label": "Approve",
        "style": "primary",
        "opensDetail": true
      },
      {
        "id": "deny",
        "label": "Deny",
        "style": "destructive"
      }
    ]
  },
  "response": {
    "mode": "required",
    "webhook": "https://api.example.com/roundtrip"
  }
}
9:41
Roundtrip
Awaiting approval

Grant prod DB access to Sam?

A privileged, time-boxed request — needs a yes and a reason.

Requester
Sam R.
Resource
prod-db
Scope
read-write
Window
1 hour
POST https://api.example.com/roundtripsigned · form
{
  "requestId": "req_8Kx2…",
  "channel": "approvals",
  "kind": "form",
  "action": "approve",
  "values": {
    "reason": "Debugging the failed migration on prod-db"
  },
  "respondedAt": "2026-06-20T16:41:09Z"
}

Wire up Access & approvals

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

More use cases