Skip to main content

Connect Slack to Windsurf

Give Windsurf governed access to Slack’s 37 tools through Runlayer, with identity, policy, scanning, and audit on every call.

Set up

Add Slack to Windsurf in four steps

Admins approve the server once. Everyone in Windsurf then gets it through the same governed connection.

  1. 1

    Approve Slack in Runlayer

    Add Slack from the catalog and choose who can use it and which of its tools are allowed.

  2. 2

    Connect Windsurf to Runlayer

    Users add the Runlayer Plugin to Windsurf by following Runlayer’s setup guide. Windsurf reaches Slack’s 37 tools through the Runlayer Plugin’s search and execute tools instead of listing each one.

    Windsurf setup guide
  3. 3

    Sign in to Slack

    Each user signs in to Slack with OAuth. Runlayer keeps the tokens out of the client’s configuration.

  4. 4

    Use Slack from Windsurf

    Slack’s approved tools appear in Windsurf. Every call is checked against policy and recorded.

Tools

37 Slack tools in Windsurf

Runlayer policy decides which of these Windsurf users can call. 5 read data only.

  • Add list record

    Adds a new record (row) to a Slack list.

  • Add reaction

    Adds a reaction (emoji) to a Slack message.

  • Complete file upload

    Finalizes a file upload started with slack_get_file_upload_url, using the file_id from that call.

  • Create canvas

    Creates a Slack Canvas document from Canvas-flavored Markdown content.

  • Create conversation

    Create a channel, DM, or group DM.

  • Create list

    Creates a new Slack List with optional columns and a description.

  • Get file upload URL

    Generates a signed upload URL for a file, plus a file ID.

  • Get reactions

    Retrieves all reactions (emoji) on a specific Slack message.

See all 37 Slack tools

Control

What Runlayer can see and stop in Windsurf

Some controls apply to every client at the gateway. Others depend on what Windsurf exposes to Runlayer.

  • Gateway policy (available)

    Every Slack call from Windsurf passes through Runlayer, where your policies can allow, alert, mask, or block it.

  • Audit trail (available)

    Each call is recorded with the user, Windsurf as the client, the tool, and the policy and scanner decisions.

  • Client hooks (available)

    Capture supported prompts, reasoning, local and MCP tool calls, responses, and scanner decisions in real time.

  • Stop a call before it runs (available)

    Runlayer can deny a tool call before Windsurf runs it.

  • Block output after it runs (not available)

    Windsurf ignores Runlayer after a tool runs, so Runlayer cannot block its output. The gateway still applies policy to the call.

  • Redact output in place (not available)

    Windsurf has no way to receive replacement output, so Runlayer cannot mask it. The gateway still applies policy to the call.

In Windsurf

  • Enforcement needs Windsurf 1.12.31 or newer.
  • When Runlayer denies a call, Windsurf shows the reason to the user; Runlayer cannot adjust the call’s inputs.

Frequently asked questions

Connect more

Find another combination