The Lab · Vault · Blueprint · About 10 minutes

Your agent posts to Slack.

The full Slack Web API from your terminal: 306 methods and 33 skills, posting as a named bot, never as you. One workspace where you are allowed to install a bot. Ten minutes once you have the token.

In plain English

Slack is where your team talks. This blueprint gives your agent a way in: a small command-line tool that reads, searches and posts, always as its own named bot, never as you. You create one Slack app, install it to a workspace you control, type its token once, and from then on you say what you want in plain words: "summarise that thread before I reply", "find the messages about the outage", "post this update to the test channel". Your agent runs the commands. You say yes before anything is posted where people will see it.

What you get

slack-cli connected to one workspace, with 306 API methods and 33 skills: post, thread, search, upload, react, and a raw call for anything not wrapped yet.

Why it matters

A bot with its own name. Nobody confuses an agent's post with something you typed, and there is no server to keep running: a CLI on a token just works after a restart.

How it works

One app in Slack's dashboard with the smallest scopes that do the job, one token typed by you, one auth test that proves it. Read first; a test channel for the first post.

Your seat

You create the app and hold the token. Your agent posts, reads and searches; you say yes before anything goes to a real channel, gets archived, invited or removed.

Bring one workspace and one bot. Here's the shape.

Perk
No Slack yet? There's a Slack deal in the perks library.

Perks come with The Lab and get claimed from your dashboard: no second account, no second login. Open Perks, search for Slack, read the terms, claim the code. Then come back here.

Open Perks →Search the library for Slack

One Slack workspace where you are allowed to create and install an app. Your own is simplest; a company workspace only if the admins let you install apps. In Slack's app dashboard you create a new app, pick the workspace, and add the bot scopes. For a first read-and-write smoke test the blueprint lists ten: chat:write, channels:read, channels:history, groups:read, groups:history, im:read, im:history, reactions:write, files:write, users:read. Start with the smallest set that supports what you want; you can add more later.

Install the app to the workspace and copy the Bot User OAuth Token. It starts with xoxb-. That token is the bot's identity, so it gets typed into your terminal by you, and it never goes anywhere else.

Never
Never paste the bot token into the chat.

Your agent will tell you exactly where to type it. You type it there, yourself. Anything you save or share uses the blueprint's placeholders (xoxb-PASTE_BOT_TOKEN_HERE, <YOUR_WORKSPACE_NAME>, <CHANNEL_ID>) on purpose.

What happens in the ten minutes?

Five steps. Your agent does the typing, except the part in your browser; here is what goes by on the screen so none of it is a stranger.

  • It installs the toolkit. One Python package, slack-toolkit. That is where the slack-cli command comes from.
  • You make the app, in the browser. Slack's app dashboard: new app, your workspace, the bot scopes, install, copy the token. Your agent narrates; you click.
  • It asks you for the token, once. You type it into the terminal yourself. The CLI saves it as a local profile called student, set as the default, and never asks again.
  • It checks the pipe. An auth test that returns the bot's name and workspace, then a list of ten conversations. If those two come back, the connection is real.
  • It installs the 33 skills, then you restart. Into your app's skill folder, so /slack-post and friends exist from the next session on.
You'll see
These are the real commands, in the order they run.
python3 -m pip install slack-toolkit
slack-cli config set-profile student --bot-token "xoxb-PASTE_BOT_TOKEN_HERE" --workspace-name "<YOUR_WORKSPACE_NAME>"
slack-cli config set-default student
slack-cli api auth.test
slack-cli conversations list --limit 10
slack-cli skills install

If the auth test fails, the token was pasted with a space or the app was never installed to the workspace. Those are the two.

Note
Codex works the same way.

The commands are identical. The install and the auth test cross the network, so in Codex's sandbox those steps ask before they run. Say yes.

What you can ask your agent, from now on

Six asks that work on day one. Each one reaches for a skill the toolkit installed. Copy, paste, read what comes back.

A post, to a test channel first

Use /slack-post to draft an update about [the thing] for the test channel I name. Show me the draft first; post only after I say go.

Before I reply

Use /slack-thread to summarise this thread in five plain sentences, then tell me the one thing that still needs an answer: [paste the thread link].

Find it

Use /slack-search to find recent messages about [the topic], newest first, and quote the three that matter.

Upload a file

Use /slack-file-upload to upload this local report to the test channel, with one line saying what it is. Ask before uploading.

A method you do not know

Use /slack-dynamic to find the right Slack API method for [what I want], and explain what it would do before calling anything.

A raw call, carefully

Use /slack-api-expert to plan this raw API call, show me the parameters first, and wait for my yes.

Words you now own

  • Bot token. The xoxb- string that is the bot's identity. You type it once; it lives in a local profile.
  • Scope. One permission the bot has, such as chat:write. The app only gets the scopes you add.
  • Channel ID. Slack's internal name for a channel, a code rather than the # name. Commands take the code; the blueprint keeps it a placeholder in anything shared.
  • Thread. The replies under one message. The skills can read a thread whole and reply inside it.
  • Block Kit. Slack's way of laying out a richer message. /slack-post can build one.
  • Raw API call. Any of the 306 methods, called directly when no wrapped command exists for it. Always with the parameters shown first.

Before you post anything

Four habits the blueprint asks for, because a bot that can post can also post in the wrong place.

  • A test channel first. The first post goes somewhere nobody minds. Make one for the bot.
  • The smallest scopes. Add a scope when a workflow needs it, not before.
  • A person says yes before anything loud. Posting to a real channel, archiving, inviting, removing, or changing many things at once: your agent asks, you answer.
  • Nothing from Slack goes into git. No exports, no message archives, no channel or user IDs, no tokens. Ask your agent to search any Slack-related file for xoxb- and IDs before it is committed.
Never
Never commit a token, a workspace export, or real channel and user IDs.

Your workbench is private, and this is still the rule. Placeholders in anything you save; the real values live in the profile on your machine.

Fair questions

FAQ
Does it post as me?

No. Every post comes from the bot, under the bot's name. That is the point: nobody mistakes an agent's message for yours.

FAQ
Can I use my company's Slack?

Only if you are allowed to install apps there. If you are not, use a workspace you own; a free one takes two minutes to create.

FAQ
Is there a workshop for this one?

No. Not scheduled, and it does not need one: the files are complete on their own. If a Tuesday ever walks it live, that session links from this page.