Connect Slack to vidbyte-cli

Configure a PKCE-enabled Slack app, approve user scopes in a browser, and read a limited page of channel history from the CLI.

1. Configure a Slack app for local PKCE

Create or use a Slack app that supports PKCE for a public desktop client and permits the CLI's localhost callback. Set its client ID as `VIDBYTE_SLACK_CLIENT_ID` before login. This flow requests Slack user scopes; it does not install a bot or request bot scopes.

Default scopes cover reading channel and private-group history, direct-message history, basic user and team information. Workspace membership, channel visibility, app approval, and granted scopes still limit what you can read.

Set the Slack client ID

bash
# macOS / Linux export VIDBYTE_SLACK_CLIENT_ID="your-slack-client-id" # Windows PowerShell $env:VIDBYTE_SLACK_CLIENT_ID = "your-slack-client-id"

2. Connect the workspace

Run login from an interactive terminal. The CLI starts a temporary localhost callback, opens Slack's authorization page, and uses PKCE and state validation to complete the sign-in. After Slack verifies the user and workspace, the CLI saves the token in the OS keyring. You can add `--name` to label this workspace connection.

Connect and verify Slack

bash
vidbyte-cli connections login slack vidbyte-cli connections login slack --name team-slack vidbyte-cli connections status team-slack vidbyte-cli connections list

3. Read a limited page of channel history

Use the Slack channel ID, such as `C0123456789`; arbitrary URLs are not accepted. The default page is 50 messages. Set `--limit` from 1 to 100 to request a smaller or larger first page. Slack only returns conversations available to the connected user and granted scopes.

Read recent messages

bash
vidbyte-cli connections read slack channel C0123456789 vidbyte-cli connections read slack channel C0123456789 --limit 25 vidbyte-cli connections read slack channel C0123456789 --connection team-slack

4. Remove the connection

Log out by connection name to revoke the Slack token where possible and remove the local token and metadata.

Disconnect Slack

bash
vidbyte-cli connections logout team-slack