# Channels > **Note:** The Agent Builder is part of the Mastra Enterprise Edition. Production deployments require a valid EE license. [Contact sales](https://mastra.ai/contact) for more information. Channels let Builder-created agents reach users outside the Mastra server. Register a channel provider on `Mastra.channels` and the Builder exposes the channel as an integration option for every agent. Slack is currently the only supported channel. ## Quickstart Install the Slack provider: **npm**: ```bash npm install @mastra/slack ``` **pnpm**: ```bash pnpm add @mastra/slack ``` **Yarn**: ```bash yarn add @mastra/slack ``` **Bun**: ```bash bun add @mastra/slack ``` Register `SlackProvider` on `Mastra.channels`: ```typescript import { Mastra } from '@mastra/core/mastra' import { MastraEditor } from '@mastra/editor' import { createBuilderAgent } from '@mastra/editor/ee' import { SlackProvider } from '@mastra/slack' export const mastra = new Mastra({ storage, channels: { slack: new SlackProvider({ refreshToken: process.env.SLACK_APP_CONFIG_REFRESH_TOKEN, baseUrl: process.env.SLACK_BASE_URL, }), }, agents: { builderAgent: createBuilderAgent() }, editor: new MastraEditor({ builder: { enabled: true }, }), }) ``` The Slack provider handles app creation, OAuth, slash commands, and message routing for every Builder-created agent that opts in. ## Configuration `SlackProvider` requires one environment variable and accepts one optional override: - `SLACK_APP_CONFIG_REFRESH_TOKEN` (required): the refresh token from your Slack app configuration tokens, available under **Your App Configuration Tokens** on [api.slack.com/apps](https://api.slack.com/apps). The refresh token does not expire, but the access tokens it issues rotate every 12 hours and are auto-persisted to `Mastra.storage`. - `baseUrl` (optional): the public URL Slack should send events and OAuth callbacks to. Defaults to the running Mastra server's host and port (for example, `http://localhost:4111` in local development). Pass `baseUrl` explicitly when the public URL differs from the server's resolved address — typically a tunnel for local development (`cloudflared tunnel --url http://localhost:4111`) or a deployed URL in production. ## Storage requirement `SlackProvider` requires a persistent storage backend on the `Mastra` instance. Without storage, rotated tokens and app installations are lost on restart. ## Related - [Deploying](https://mastra.ai/docs/agent-builder/deploying) — set a public `baseUrl` for production deployments. - [Configuration](https://mastra.ai/docs/agent-builder/configuration) — wire channel toggles into the Builder UI.