Skip to content

Trigger rotations with webhooks

An incoming webhook is a unique URL plus a secret key that lets external systems (CI pipelines, schedulers, incident tooling) trigger actions on a rotation without going through Slack.

  1. Open the dashboard at app.roundrobinbot.eu and go to your rotation’s details page.
  2. Click Settings, open Integrations, and choose Webhooks.
  3. Copy the Rotation Webhook URL and the Secret API Key. The key is hidden by default; use the eye button to reveal it or the copy button to copy it directly.

The Webhooks page under a rotation’s Integrations settings, showing the hidden secret API key with reveal and copy buttons, the rotation webhook URL, and an example cURL command

The same URL and key are shown on every visit. If the page shows only the deprecation notice, this rotation has no webhook: use an API key.

Send an HTTP POST to the webhook URL, replacing ACTION with one of the actions below. Authenticate with the secret key in a webhook-key header. If the action takes parameters, pass them in the query string.

Terminal window
curl -i -X POST \
-H "webhook-key: YOUR_SECRET_KEY" \
"https://api.roundrobinbot.eu/webhook/YOUR_WEBHOOK_PATH/rotate"
Action URL segment Query parameters What it does Public API replacement
Rotate rotate None Advances the rotation to the next user on duty. POST /v1/rotations/{rotationId}/rotate
Set on duty setonduty email (required): the Slack email address of the user to put on duty Sets an explicit user on duty. The user must be a member of the rotation. PUT /v1/rotations/{rotationId}/on-call
Mention mention userId (required): Slack user ID of the person asking for help; channelId (required): Slack channel ID where the mention is answered; message (optional): free-text context Opens a mention on the rotation, notifying whoever is on duty, exactly as if the bot had been mentioned in Slack. See What are mentions?. None. Mention the bot in Slack, or connect an AI assistant.

For example, to set a specific user on duty:

Terminal window
curl -i -X POST \
-H "webhook-key: YOUR_SECRET_KEY" \
"https://api.roundrobinbot.eu/webhook/YOUR_WEBHOOK_PATH/[email protected]"
Situation Result
Missing webhook-key header 401 Unauthorized
Wrong secret key Request rejected as invalid access code
Unknown action in the URL 404 Not Found
Rotation is disabled Request rejected; enable the rotation first
setonduty with a missing email, an email that matches no Slack user, or a user who is not a rotation member Request rejected with a validation error explaining the problem