Slack automation that asks before it acts

Build Slack bots that answer @-mentions from a knowledge base, read threads, post to channels and pause for a one-click approval. Connects by OAuth.

Category
Messaging
Connect
Connect with one click (OAuth) · managing connections
Operations
11
Triggers
3

Slack is where your team already is, so it is the best place for a workflow to start and the best place for it to finish. In MadMax it does both: a message, an @-mention or an emoji reaction starts a run, and the run can post to a channel, reply in a thread, react to a message, read the thread for context, or pause until a person clicks Approve. Events arrive through MadMax's published Slack app with no URL to copy and no secret to manage, the bot's own posts never start a run, and testing is real: press Run, @-mention the bot, and that event both runs the draft and becomes the step's sample. Describe it in plain English and MadMax wires the Slack steps, picks your connection and previews every outbound post before activation.

What teams build

  • An app_mention in #help runs get_thread, and an AI agent bound to a knowledge base of your handbook and runbooks answers in the thread, saying so when the answer is not in the docs instead of guessing.
  • A refund request arrives by webhook, an agent summarizes it with the customer's history, and an approval posts the summary to #approvals with Approve and Reject buttons; approved runs continue to the Stripe refund step, rejected ones reply to the requester.
  • A 6 pm schedule runs get_channel_history on #incidents, an agent writes the digest, send_message posts it to #leadership, and add_reaction marks each incident message that made the cut.

How it connects

Click Connect on the Slack card, approve the app in Slack, and you are done. The bot token is stored encrypted and refreshed automatically. Optionally set a default channel on the connection, and any Slack step the AI wires without naming a channel posts there. Connections belong to a workspace and each step picks which one it uses in the Inspector; see managing connections for reconnecting, sharing and what happens when you disconnect.

Related

Every Slack operation MadMax can run

Straight from the integration's manifest, so this list is what the steps on the canvas can actually do today.

Operation What it does
add reaction Add an emoji reaction to a message, the bot's 'seen' / 'done' acknowledgement.
auth test Verify the connection's token and return its identity: the bot's user id, team id, and team name.
get channel history Read a channel's recent messages (newest first) for 'what was discussed in #ops today' questions. The bot must be a member of the channel.
get thread Read a thread's messages (parent first): the context an agent needs before replying in-thread.
get user Look up a Slack user by id (name, display name, email) to address the person behind an event's `user`.
join channel Join a public channel so the bot can read and react there. This is the self-heal behind not_in_channel.
list channels List the workspace's channels (id + name) to resolve a #name to the id the other ops take.
list users List the workspace's people (id, name, real name, email) to resolve a name to a user id for <@U…> mentions.
lookup user by email Find a Slack user by email. Returns the user id for @-mentions (<@U…>) and DMs.
send blocks Post a Block Kit message (buttons, sections). Used by the approval step for Approve/Reject; `text` is the notification fallback.
send message Post a message to a Slack channel or DM.

Slack events that can start a workflow

App mentioned

Fires when a user @-mentions the app's bot user in a channel.

Message posted

Fires when a message is posted to a channel the app is in.

Reaction added

Fires when a member adds an emoji reaction to an item.

Works with

Describe the workflow. MadMax builds it and tests it on your data.

Free to start, no card. Connect your apps, say what should happen in plain English, and watch each step run against real data before anything goes live.