Use cases by system22 use cases

AI agents in Slack, built as your own internal app

In most builds in this library Slack is not the product. It is where the human step happens: the invoice that needs approval, the lead worth a call, the Monday brief, the draft reply a person checks before it goes out. That is why so many use cases here touch it, from weekly KPI briefs to a company knowledge assistant and plain-English questions over your database.

Two platform decisions shape how to build for Slack. The official Slack MCP server is generally available, with search, messages, canvases, lists, users and file uploads, but only Marketplace-published or internal apps may use it. And since 29 May 2025, commercially distributed apps that are not on the Marketplace can call conversations.history and conversations.replies once a minute, 15 messages at a time, while internal customer-built apps keep 50 or more requests a minute and 1,000 objects.

The consequence is structural: an app built for your workspace and installed only there has more access than an unlisted third-party bot. So I build Slack agents as internal apps in the client's own workspace, owned by the client, with a private AI gateway behind them where model access needs central control.

What to build around Slack

Building in Slack: events, buttons and threads

  • Acknowledge within three seconds

    Slack expects events and button clicks to be acknowledged within three seconds, and it retries events that are not. The app answers at once, queues the work, and posts the result when the lookups and the model are done.

  • Socket Mode behind a firewall

    The Events API needs a public HTTPS endpoint. Socket Mode opens an outbound connection instead, which suits an internal app running next to the ERP rather than on the open internet.

  • Buttons that act once

    Approve, edit and reject are Block Kit buttons whose payload carries the ID of a pending action. A second click, or a retried request, finds the action already done and changes nothing.

  • Permissions follow the person

    An assistant answering from Slack, Drive or SharePoint should see only what the person asking may see. The build resolves the user's identity and filters sources before retrieval, not after the answer is written.

What to switch on before building a Slack app

  • Slack's own AI for catching up

    Slack's built-in AI features summarize channels and answer questions from workspace history. If catching up on conversations is the problem, try those first.

  • The MCP server for assistant users

    If people already work in Claude or ChatGPT, connecting the official Slack MCP server through an internal app gives the assistant search and posting without a build.

  • Custom when Slack fronts other systems

    Approving a refund in Stripe, a bill in Xero or a discount in HubSpot from a Slack button needs an app that holds those credentials, applies limits in code and logs every decision.

  • Slack is not the audit log

    Approvals are recorded in the system of record with who approved and when. Retention settings change, and a decision that exists only as a Slack message is hard to prove a year later.

  • The same design in Teams

    Microsoft shops get the same pattern with Adaptive Cards in Teams, covered in the Outlook and Microsoft 365 hub.

Frequently asked questions

Can I build an AI agent for Slack?

Yes. It is a Slack app, installed as an internal app in your workspace, that listens for mentions, messages or button clicks, calls your systems and a model, and replies in the thread. Built internally, it keeps Slack's higher API limits and can use the official MCP server. It should be owned by your workspace, not by the developer who built it.

Does Slack have an official MCP server?

Yes. Slack's MCP server is generally available and covers search, messages, canvases, lists, users and file uploads. Access is limited to apps published on the Slack Marketplace and internal apps built for a workspace, so an unlisted third-party tool cannot use it. For a company, an internal app is the straightforward route.

Why do third-party Slack bots hit rate limits?

Since 29 May 2025, commercially distributed apps that are not on the Slack Marketplace can read channel and thread history only once a minute, 15 messages per call. Internal apps built by or for the customer keep 50 or more requests a minute and 1,000 objects per call. A bot that reads conversations works far better as your own internal app.

Should approvals happen in Slack or in the system itself?

Both, with a clear split. Slack is where the person sees the request and clicks, because that is where they already are. The decision is executed and recorded in the system of record, with who approved and when, and the button checks that the request is still valid before anything happens.

Also browse: Internal tools and knowledge · SaaS · n8n · Outlook and Microsoft 365 · all use cases