Skip to main content
Scrubbe integrations connect your existing toolchain to the incident management pipeline. Each integration follows the same general pattern: initiate an OAuth flow or supply credentials, handle the provider callback, and optionally register a webhook for real-time event delivery. All endpoints require Authorization: Bearer <accessToken> unless noted, and live under /api/v1/integrations.

Slack

POST /integrations/slack/connect

Initiate the Slack OAuth flow. Returns a redirect URL that takes the user to Slack’s authorization page.

GET /integrations/slack/oauth/callback

OAuth callback. Slack redirects to this URL after the user grants access. Exchanges the authorization code for a workspace token and stores the integration.
string
required
Authorization code provided by Slack.
string
required
CSRF state token returned by Slack to verify the request origin.
This endpoint is called automatically by Slack during the OAuth redirect. You do not need to call it directly from your application code.

POST /integrations/slack/webhook

Register or update the Slack webhook endpoint used for receiving notifications from Scrubbe in a Slack channel.
string
required
The Slack Incoming Webhook URL.
string
Override the default channel from the webhook URL. Example: "#incidents".

GitHub

POST /integrations/github/connect

Initiate the GitHub OAuth App flow. Returns the GitHub authorization URL.

GET /integrations/github/callbacks/github

OAuth callback. GitHub redirects here after the user authorizes the app. Completes token exchange and stores the integration.
string
required
Authorization code from GitHub.
string
required
State token for CSRF verification.

POST /integrations/github/webhook

Register a GitHub webhook so Scrubbe receives push, pull request, and deployment events.
string
required
The repository to watch. Example: "acme/api-service".
string[]
GitHub event types to subscribe to. Defaults to ["push", "pull_request", "deployment_status"].

GET /integrations/github/repos

List all GitHub repositories accessible with the connected GitHub account.

GitLab

POST /integrations/gitlab/connect

Initiate the GitLab OAuth flow.

GET /integrations/gitlab/callback

OAuth callback. GitLab redirects here to complete the authorization flow.
string
required
Authorization code from GitLab.
string
required
State token for CSRF verification.

POST /integrations/gitlab/webhook

Register a GitLab webhook for push, merge request, and pipeline events.
string
required
The GitLab project ID or path. Example: "42" or "acme/api-service".
string[]
GitLab event types to subscribe to. Defaults to ["push", "merge_requests", "pipeline"].

GET /integrations/gitlab/projects

List all GitLab projects accessible with the connected account.

Google Meet

POST /integrations/google/meet/connect

Initiate the Google OAuth flow to enable automatic Google Meet link generation for incident war rooms.

GET /integrations/google/meet/oauth/callback

OAuth callback. Google redirects here after authorization to complete the token exchange.
string
required
Authorization code from Google.
string
required
State token for CSRF verification.

SMS and WhatsApp

POST /integrations/sms/connect

Connect an SMS provider to enable text message alerts for on-call engineers.
string
required
E.164 formatted phone number to receive SMS alerts. Example: "+14155552671".
string
SMS provider to use. Example: "twilio".

POST /integrations/whatsapp/connect

Connect a WhatsApp number for incident notifications.
string
required
E.164 formatted WhatsApp number. Example: "+14155552671".
The WhatsApp number must be registered with the Scrubbe business account in the WhatsApp Business API before connecting.

List integrations

GET /integrations/:userId

List all active integrations for a given user.
string
required
The ID of the user whose integrations to retrieve.
string
Integration type. One of: SLACK, GITHUB, GITLAB, GOOGLE_MEET, SMS, WHATSAPP.
string
Connection status. One of: ACTIVE, DISCONNECTED, ERROR.