Slack
Overview
Section titled “Overview”The Slack integration lets Monday Morning post formatted project updates and activity digests to your Slack channels. Your AI agent can share status updates, completed tasks, and periodic summaries directly to your team’s Slack workspace — keeping everyone informed without leaving your coding environment.
Prerequisites
Section titled “Prerequisites”- A Slack workspace where you have permission to install apps
- A Slack app with a Bot User OAuth Token
- The bot must be invited to the channels where it will post
Step 1: Create a Slack App
Section titled “Step 1: Create a Slack App”- Go to api.slack.com/apps
- Click Create New App > From scratch
- Name the app (e.g., “Monday Morning”) and select your workspace
- Under OAuth & Permissions, add the following Bot Token Scopes:
channels:read— view basic channel infochannels:history— read channel message historygroups:history— read private channel historyusers:read— view user infochat:write— post messages
- Click Install to Workspace and authorize the app
- Copy the Bot User OAuth Token (starts with
xoxb-)
Step 2: Invite the Bot to Channels
Section titled “Step 2: Invite the Bot to Channels”In Slack, invite the bot to each channel where you want it to post:
/invite @Monday MorningOr open the channel, click the channel name at the top, go to Integrations, and add the app.
Step 3: Configure in Monday Morning
Section titled “Step 3: Configure in Monday Morning”Create the integration config file at .mm/integrations/slack.json in your project:
{ "bot_token": "xoxb-your-bot-token-here", "default_channel": "#engineering"}Alternatively, configure it through the Monday Morning desktop app under Settings > Integrations > Slack.
You can also set the token as an environment variable:
export SLACK_BOT_TOKEN="xoxb-your-bot-token-here"Step 4: Verify the Connection
Section titled “Step 4: Verify the Connection”Ask your AI agent to post a test message:
Post a message to Slack saying "Monday Morning is connected"The agent will call mm_slack_post_update. If configured correctly, you will see the message in your default channel.
Available Tools
Section titled “Available Tools”| Tool | Description |
|---|---|
mm_slack_post_update | Post a formatted message to a Slack channel. Supports Slack mrkdwn formatting. |
mm_slack_digest | Generate and post a formatted activity digest (daily or weekly) to a Slack channel. |
Configuration Options
Section titled “Configuration Options”The Slack plugin supports additional project-level settings:
| Setting | Description | Default |
|---|---|---|
default_channel | Channel used when no channel is specified in tool calls | — |
digest_frequency | Automatic digest frequency: off, daily, or weekly | off |
digest_time | Time of day to post automatic digests (e.g., 17:00) | 17:00 |
Common Workflows
Section titled “Common Workflows”Post a project status update
Section titled “Post a project status update”Post a Slack update to #engineering summarizing what was completed todayThe agent gathers recent activity and calls mm_slack_post_update with a formatted summary.
Send a weekly digest
Section titled “Send a weekly digest”Send a weekly activity digest to the #project-updates channelThe agent calls mm_slack_digest with period: "weekly", which compiles task completions, spec progress, and commit counts into a formatted Slack message.
Post to a specific channel
Section titled “Post to a specific channel”Post to #client-updates that the API redesign spec is 80% completeThe agent calls mm_slack_post_update with the specified channel, overriding the default.
Troubleshooting
Section titled “Troubleshooting”“not_in_channel” error
The bot has not been invited to the target channel. Run /invite @Monday Morning in that channel.
“invalid_auth” error Your bot token is invalid or the app has been uninstalled. Reinstall the app and generate a new token at api.slack.com/apps.
“channel_not_found” error
The channel name may be incorrect, or the bot does not have channels:read scope. Double-check the channel name (include the # prefix) and verify scopes.
Messages not appearing
Ensure the bot has chat:write scope and has been invited to the channel. Private channels require the groups:history scope as well.
“No channel specified” error
Either pass a channel parameter in the tool call or set a default_channel in your Slack config.