Create a private Slack app for your workspace, give its bot permission to post
messages, install it, copy the bot token, invite the bot to #general, and
configure StandupMD with the bot token plus the channel ID.
Workflow last tested and validated 2026-06-27.
- You only need to post your standup into one Slack channel.
- The app is just for your own workspace, not a public Slack Marketplace app.
chat:writeplus inviting the bot to#generalis the preferred setup.chat:write.publicis not needed unless you want posting to public channels without inviting the bot first.
- From the screen in your screenshot, click Create an App.
- Choose From scratch.
- Set:
- App Name:
StandupMD - Pick a workspace: choose the workspace where
#generallives
- App Name:
- Click Create App.
- In the app sidebar, go to OAuth & Permissions.
- Under Scopes → Bot Token Scopes, add:
chat:write
- Optional: add
chat:write.publiconly if you want the bot to post to public channels without being invited first. For the simplest and safest setup, skip this and invite the bot to the channel. - Scroll up and click Install to Workspace.
- Approve the installation.
- After installation, stay on OAuth & Permissions and copy the Bot User
OAuth Token.
- It should start with
xoxb-. - Do not use an
xoxp-user token. - Do not use an app configuration token.
- It should start with
- In Slack, go to
#general. - Invite the app/bot:
/invite @StandupMD - Get the channel ID for
#general.- Open
#general. - Click the channel name at the top.
- Look for Copy channel ID in the details or more/options menu.
- The ID should look like
C1234567890.
- Open
Prefer using the channel ID over #general when configuring StandupMD, as the
name can change but the ID won't.
Set your token in the shell:
export STANDUP_MD_SLACK_TOKEN="xoxb-your-bot-token"Post with the channel ID:
standup -P slack --post-channel C1234567890Optional config in ~/.standuprc:
StandupMD.configure do |c|
c.post.configure_adapter(:slack, channel: "C1234567890")
c.post.title = "%s -- YOUR NAME"
endThen you can run:
standup -PIf you have multiple users using the same bot, the c.post.title is important
to specify the user posting the standup, since the bot's name is StandupMD.