---
title: "Begin a browser connect flow"
method: POST
path: "/integrations/connect"
tags: ["Integrations"]
---

# Begin a browser connect flow

`POST /integrations/connect`

Begin a browser connect flow for an OAuth or app-installation provider. Returns a vendor URL to open in a browser and an attempt to poll; the vendor exchange completes server-side and no token ever reaches the caller.

## Request body

- object
  - `organizationId` string — Organization to connect in. Auto-filled from CLI and SDK context when omitted. User tokens must supply it unless the credential's fixed scope resolves it; secret keys may omit it (the key's organization applies).
  - `provider` 'slack' | 'github' | 'linear' | 'pagerduty' | 'victorops' | 'rootly' | 'incident_io' | 'webhook' | 'teams' | 'bitbucket' | 'jira', required — Browser-auth provider to connect (oauth or app_installation). Must report `browserConnectSupported: true` in the provider catalog.
  - `displayName` string — Optional display name for the resulting connection.
  - `projectId` string — Project the completed connection defaults its routing to. Must belong to the organization.

## Response `201`

OK

- object
  - `url` string, required — Vendor authorization (or app installation) URL to open in a browser signed into the Sazabi dashboard as the same user.
  - `attemptId` string, uuid, required — Connect attempt to poll via `integrations.getConnectAttempt` while the browser flow completes.
  - `expiresAt` string, date-time, required — When the attempt expires if the browser flow never completes.

---

[API](https://skmtc.dev/sazabi/apis/sazabi-public-api.md) · [All operations](https://skmtc.dev/sazabi/apis/sazabi-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sazabi/sazabi-public-api/revisions/1d12b71c735a/schema)
