docs · slack five minutes, six steps

connect slack.

macro uses Slack to reach you where you already work: drafts to review, approvals to decide, runs that need attention. Slack has no simple personal API key — instead you create a small app that belongs to your workspace and give macro its token. You need permission to install apps in your workspace, and about five minutes.

the six steps

01

create the app

Go to api.slack.com/appsCreate New AppFrom scratch. Name it macro and pick your workspace.

The app is yours, in your workspace. macro never sees it — only the token you paste at the end.

02

give it one scope

In the app's sidebar: OAuth & Permissions → scroll to Bot Token Scopes → add chat:write.

Optional: also add chat:write.public — the bot can then post to any public channel without being invited, and you can skip step 05.

03

install it to the workspace

Top of the same page: Install to WorkspaceAllow. Slack shows you exactly what the app may do — just the one scope you gave it.

04

copy the token

After installing, the same page shows a Bot User OAuth Token. It starts with xoxb-. Copy it — this is the credential macro needs.

05

invite the bot to your channel

In the channel where macro should post (for example #gtm), type /invite @macro.

Skip this if you added chat:write.public in step 02 — except for private channels, which always need the invite.

06

paste it into macro

In macro: Settings → connections → the Slack card → connect → paste the token. The connection flips to connected on the spot, and every Slack step your macros take now goes through it.

when a message doesn't arrive

Slack reports app-level problems inside an OK-looking reply, so macro's run record is where the truth lives: open the run, flip to technical depth, and read the response on the Slack step.

the response says not_in_channel

The bot isn't in that channel. Type /invite @macro in the channel, then retry the step from the run.

the response says channel_not_found

The channel name is misspelled, or it's a private channel the bot can't see. Check the name (including the #), and for private channels invite the bot first.

the response says invalid_auth or token_revoked

The token was rotated or revoked in Slack. Get a fresh one (steps 03–04 again — reinstalling regenerates it) and paste it via reconnect on the Slack card.

the message arrives twice

It shouldn't: every send carries an idempotency key, and macro never silently retries a delivery it can't account for. If you see a true duplicate, the run record will show two distinct steps — read it and write us: hello@macro.co.

how the token is kept

macro stores the token encrypted and never shows it again — not in the app, not in run records, not in logs. Saving it is a one-way door: it can be replaced or removed, never read back.

You stay in control on both ends: remove credential on the Slack card takes it out of macro, and revoking the app in Slack's settings shuts it off at the source.