---
title: "Complete a Slack workspace OAuth install"
method: GET
path: "/v1/slack/connections/callback"
tags: ["Slack Connections", "tier:free"]
---

# Complete a Slack workspace OAuth install

`GET /v1/slack/connections/callback`

## Request

- Base URL: `https://api.particle.pro`
- URL: `https://api.particle.pro/v1/slack/connections/callback`
- Auth: none required

Slack redirects the user's browser here with code+state. Exchanges the code for a bot token, persists the connection, and 302s back to the originating surface's UI with connection_id and status query params.

## Query parameters

- `code` string: Authorization code from Slack.
- `state` string: State token issued by /initiate, HMAC-signed and TTL-bounded.
- `error` string: Set by Slack when the user denied or the OAuth flow errored.

## Response `default`

Error

## Other responses

- `302`: Found

---

[API](https://skmtc.dev/particle/apis/particle-api.md) · [All operations](https://skmtc.dev/particle/apis/particle-api/llms.txt) · [OpenAPI document](https://skmtc.dev/particle/apis/particle-api/revisions/416ba82ab9d7?raw)
