Integration guide

Slack integration for AI agents and workflows

Swfte Studio has a Slack node with three actions in its shipped data: list channels, post a message and read a channel’s history. Slack appears in two roles on this page, as a source of context and as a place to deliver results.

The catalogue lists Slack under communication and hitl, which stands for human in the loop. The MCP tool list also has a Slack server that asks for one value, SLACK_BOT_TOKEN. What the hitl tag covers beyond the post action is <Slack human-in-the-loop behaviour - founder to fill>, so this page does not claim that approvals can be answered inside Slack.

Built in Swfte Studio, run as a governed workflow, and held to the same rules as any governed agent.

Slack at a glance

Catalogue
Communication, Human in the loop
Actions in the shipped data
3 (2 read, 1 write)
Credential type shown
slackApi
MCP server
Slack, needs SLACK_BOT_TOKEN
Shipped templates that use it
Slack Channel Workflow

What you can do with Slack

Every action below is read from a node in a shipped workflow template. Nothing is listed that the data does not show.

Slack actions in the shipped workflow templates
ActionTypeOperationWhat the data shows
List ChannelsReadchannel.getAllLists channels. The shipped template asks for ten.
Post MessageWritemessage.postPosts a message to a channel.
Get HistoryReadchannel.historyReads recent messages from a channel. The template reads five.

Two reads and one write. Direct messages, reactions, threads, file uploads and message edits are not in the shipped data.

No Slack event, such as a new message or a reaction, is in the data: <Slack trigger events - founder to fill>.

Posting is publishing

A message in Slack is read by whoever is in the channel, and in channels shared with other companies that includes people outside yours. A bot that posts a wrong figure, a customer name or a draft nobody approved is visible at once and cannot be fully recalled. Reading history is quieter but not harmless: a channel’s history contains everything people said there, including things said in passing.

The shipped template picks the general channel if it finds one, posts a test message with a timestamp and reads back five messages. For real work, the channel should be named in the workflow and agreed in advance, and not found by search.

How to connect Slack

The shipped template names the credential type slackApi, and the MCP tool entry asks for SLACK_BOT_TOKEN, which is a bot token.

  1. 01

    Create a bot for one purpose

    Make a Slack app with a bot user for this workflow, so its posts are labelled as the bot’s.

  2. 02

    Invite it only where it belongs

    A bot generally acts only in channels it has been invited to, depending on the permissions it was granted. Add it to the channels the workflow is for and no others.

  3. 03

    Name the channel

    Set the channel in the workflow itself and do not look it up at run time.

  4. 04

    Gate the post

    Place a human-input step before the post action for any channel with more than your own team in it.

Three governed Slack workflows to build in Studio

Each has a label. A starting point builds on a shipped template, which is an integration test with no approval step. A design is intent only.

Channel recap for the team lead

Starting point

Builds on the shipped template “Slack Channel Workflow” (6 nodes), which you can find in the template library.

Summarise yesterday’s discussion in a project channel for the person who was away.

  1. The get-history action reads recent messages from the channel.
  2. A policy rule redacts personal identifiers.
  3. An LLM node writes a short recap.
  4. A human-input step lets the lead approve it, and on approval the post action sends it to the lead’s own channel.

Where the approval sits. The shipped template posts a test message with no check. Here the approval sits before the post, and the destination is a private channel.

Approval request notice

Designed

Tell approvers that a workflow is waiting for them, with a short description of what it wants to do.

  1. A workflow is about to reach a human-input step.
  2. Just before it, the post action sends a notice to the approver’s channel.
  3. The approver answers in Studio, where the approve and reject branches live.
  4. The run continues or ends on their answer.

Where the approval sits. The notice is not the approval. The data shows no way to answer from Slack, so the decision is made in Studio. That keeps one place for the answer and one record.

Incident recap, approved before posting

Designed

Turn the incident channel into a timeline for the post-incident channel.

  1. Read the incident channel’s history.
  2. An agent drafts a timeline from the messages.
  3. The incident commander approves or rejects it in a human-input step.
  4. On approval, the post action puts the timeline in the post-incident channel.

Where the approval sits. The commander is the approver because they know what is accurate. A rejected timeline posts nothing.

Shipped template
A governed template with its approval step already in it ships in the platform.
Starting point
A shipped template runs the same actions. It is an integration test with no approval step, so you add the gate.
Designed
Design intent. It uses the actions listed above plus generic nodes, and nothing has been built as a template.

Approvals and records for Slack

Slack is both the place people talk and the place bots speak, so decide who sees what before you connect it.

Needs a person’s approval

  • Any post to a channel shared with another company or with customers.
  • Reading history from a channel that discusses people, pay or legal matters.
  • Adding the bot to a new channel.

Can run without one

  • Posting a short notice to a private team channel that its owner has agreed.
  • Listing channels so that a person can pick one.

What is recorded

  • Each list, read and post action in the run.
  • The approval that came before a post.
  • A policy decision on the text, such as a redaction before it was posted.

Slack’s retention and visibility settings stay as you set them in Slack. What the Swfte run adds is the pause before a post and a record that the post was approved.

A policy step in a design below describes the intent. The policy engine acts only on runs that have a policy attached, and a self-serve way to author policies is not something we describe as built.

Swfte’s own security position and any attestations are on the trust page. How approvals, policy and records fit together is on the governed agents page.

Comparing tools for Slack work

These comparison pages are dated and sourced. Each says who should pick the other tool.

  • Zapier alternatives

    Zapier’s Slack integration is a common starting point. The comparison covers where governance differs.

  • Make alternatives

    The Make comparison covers visual scenarios against Studio’s approvals and run record.

  • Best automation platforms

    How automation platforms compare on governance, approvals and records, with the method shown.

Slack questions

Can an agent post to Slack without approval?

Yes, if you build it that way. The approval is a step you add. For channels that include other companies or customers we recommend an approval before every post, and for a private team channel you can relax that once you trust the output.

Can I answer a Swfte approval from inside Slack?

The shipped data does not show it. As far as this page can say, approvals are answered in Studio, and the data does not explain the hitl tag that the catalogue puts on Slack.

Is there a Slack MCP server?

Yes. The MCP tool list has a Slack entry, described as a messaging and workspace MCP server, and it asks for SLACK_BOT_TOKEN. The tools it exposes are not in the data.

Which channels can the bot read?

In general only channels it has been added to. The exact rule depends on the permissions the Slack app was granted, so check them when you create it.

What is recorded when a workflow posts to Slack?

The run ledger records the policy decisions, approvals and actions for the run, so the post and the approval that preceded it are both there. It is a separate record from Slack’s own message history.

Build a governed Slack workflow

Begin with a read-only workflow on a test account, then add one write with an approval in front of it.

Build this in Studio

Describe what you need in plain language. Studio builds the agents and workflows, and you keep every version.