Connect

List Slack channels for the channel picker

Changed on

Serves the channel picker of the Slack connect flow. Slack's OAuth installs the bot into a workspace, not a channel, so after the redirect the caller lists the workspace's channels here and finalizes one with POST /v1/connect/slack.

Served by a dedicated route that shadows GET /v1/connect/{platform} for slack.

Parameters

Send exactly one of:

  • pendingDataToken: first connect. The nonce from the OAuth redirect, bound to the same profileId.
  • accountId: add another channel to a workspace already connected. The existing Slack account's workspace token is reused, no re-OAuth.

With neither, the endpoint behaves like GET /v1/connect/{platform} and returns authUrl and state to start the OAuth flow.

Channels

Channels are read live from Slack (conversations.list, public and private, archived excluded, up to 2,000).

isMember says whether the Zernio bot is already in the channel. A public channel is joined automatically on finalize; a private one must be invited (/invite @Zernio) first.

get/v1/connect/slack

Request

Query parameters

profileIdstring required

Zernio profile the channel account will belong to. Must match the profile the OAuth flow was started on when pendingDataToken is used.

pendingDataTokenstring

Nonce from the OAuth redirect (first connect).

accountIdstring

Existing active Slack account (yours or a team member's) whose workspace token is reused.

redirect_urlstring uri

Start-OAuth mode only: where to send the user after the connect completes. redirectUrl is accepted as an alias.

scopesstring
Example:posting

Start-OAuth mode only. Comma-separated permission areas to request instead of the full Slack scope set, same semantics as scopes on GET /v1/connect/{platform}. Omit it to request everything.

  • posting: installs the bot with the channel scopes it needs to post.
  • messaging: adds the history, DM and reaction scopes the inbox reads.
  • analytics, comments, ads: add nothing on Slack.

Response

Channel list (picker mode), or the OAuth URL when neither pendingDataToken nor accountId is sent

OR

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • warning

      added the new account enum value to the / response property for the response status