Skip to main content

Overview

Slack integration allows your agent to participate in workspace conversations - perfect for internal teams or community support.

Team Collaboration

Internal communication

Real-Time

Instant messaging

Developer Friendly

Popular with tech teams

Two Types

Private Bot or Public App

Two integration types

Slack supports two connection styles. The admin dashboard wizard walks you through either one and generates the Slack app manifest for you, so you don’t have to configure scopes and event subscriptions by hand.
Just your workspace
  • Single workspace
  • Authenticates with a bot token (xoxb-...)
  • Simplest option for internal team use
Available in the dashboard and CLI.
The dashboard provides a guided wizard and generates a ready-to-paste Slack app manifest after you connect, so you don’t configure scopes, event subscriptions, or interactivity by hand.
1

Open the dashboard

lua admin
Or visit https://admin.heylua.ai.
2

Open your agent and add a channel

Click Agents in the main side navigation, select your agent’s card, click the + (plus) icon to add a channel, then choose Slack.
Add a channel
Screenshot: The agent’s add-channel (+) control and the channel options
3

Choose how to connect

Pick the connection type:
  • Private — just my workspace: use a bot token from a Slack app you control. Simplest if you only need the agent inside your own workspace.
  • Public — a distributable app: build a Slack app other organizations can install.
Not sure? Start with Private — you can always add a public app later.
Choose Slack connection type
Screenshot: The “Connect to Slack” step with the Private and Public choices
4

Create your Slack app

If you don’t already have one, the wizard walks you through creating it at api.slack.com/appsCreate New AppFrom scratch. Give it any name and pick your workspace.
  1. In your app, open OAuth & Permissions and add the bot token scopes your agent needs.
  2. Click Install to Workspace and approve the permissions.
  3. Copy the Bot User OAuth Token — it starts with xoxb-.
Treat the bot token like a password — anyone with it can act as your bot.
5

Enter your credentials

Paste your details into the wizard and click Connect.
  • Private: your bot token (xoxb-...).
  • Public: App ID, Client ID, and Client Secret.
Enter Slack credentials
Screenshot: The credentials step (bot token, or App ID / Client ID / Client Secret)
6

Finish in Slack (apply the manifest)

After connecting, Lua shows a generated app manifest. Copy it, then in Slack open App Manifest, switch to the JSON tab, paste it in, and click Save Changes. This sets up the permissions and event subscriptions your agent needs.
Apply Slack manifest
Screenshot: The “finish in Slack” dialog with the generated manifest
Public apps: use the Add to Slack button in the dialog to install. Don’t use Slack’s green Install to Workspace button on the Install App page — it creates a token inside Slack but never finishes the connection to Lua.
7

Start chatting

DM your bot in Slack, or @mention it in a channel it’s been invited to, and your agent will reply.

Required bot scopes

Add these Bot Token Scopes under OAuth & Permissions. The dashboard manifest includes them automatically; you only add them by hand for the private bot or CLI paths.
  • chat:write — Send messages
  • channels:history — Read public channel messages
  • groups:history — Read private channel messages
  • im:history — Read direct messages
  • mpim:history — Read group direct messages
  • channels:read — List public channels
  • groups:read — List private channels
  • im:read — List direct messages
  • mpim:read — List group direct messages
  • users:read — View user information
  • users:read.email — View user emails
  • app_mentions:read — Detect @mentions
  • files:read — Access uploaded files
Reading messages:
  • channels:history - Read public channel messages
  • groups:history - Read private channel messages
  • im:history - Read direct messages
  • mpim:history - Read group direct messages
Sending messages:
  • chat:write - Required to send any messages
Reading channel info:
  • channels:read - List public channels
  • groups:read - List private channels
  • im:read - List DMs
  • mpim:read - List group DMs
User information:
  • users:read - Get user display names
  • users:read.email - Get user email addresses
Useful for:
  • Personalizing responses
  • User identification
  • Profile information
Other features:
  • app_mentions:read - Detect when bot is @mentioned
  • files:read - Read uploaded files

Connection Method 2: CLI (Private Bot)

The CLI connects a private bot using a bot token. Create your Slack app at api.slack.com/apps, add the required scopes, install it to your workspace, and copy the bot token first.
$ lua channels
 Using agent: myAgent

? What would you like to do? 🔗 Link new channel
? Select channel type: 🔒 Slack (Private)

? Enter Slack bot token (xoxb-...): ****

📡 Creating Slack channel...

 Slack channel created successfully!

💼 Bot Name: My Agent Bot
🏢 Workspace: My Company
🔗 Webhook: https://wa.heylua.ai/slack/webhook
For the CLI path you configure the Slack app yourself. Set both Event Subscriptions and Interactivity request URLs to https://wa.heylua.ai/slack/webhook, and subscribe to the app_mention, message.channels, message.groups, and message.im bot events. The dashboard does this for you via the generated manifest.

Testing

DM your bot in Slack (or @mention it in a channel it’s been invited to). Your agent replies automatically. Monitor the conversation in the admin dashboard.

Next Steps

Email

Add email support

Management

Manage all channels