List Slack channels for the channel picker
Changed onServes 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.
Request
- Base URLhttps://zernio.com/api
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Query parameters
Zernio profile the channel account will belong to. Must match the profile the OAuth flow was started on when pendingDataToken is used.
Nonce from the OAuth redirect (first connect).
Existing active Slack account (yours or a team member's) whose workspace token is reused.
Start-OAuth mode only: where to send the user after the connect completes. redirectUrl is accepted as an alias.
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
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
- info
- warning
added the new
accountenum value to the/response property for the response status
- warning