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

Simple bot installation
  • Single workspace only
  • Bot token authentication
  • Quick setup
  • Internal team use
CLI Support: ✅ Yes

Prerequisites

For Private Bot

1

Create Slack App

Go to https://api.slack.com/apps → Create New App → From Scratch
Create Slack app
Screenshot: “Create New App” dialog
2

Use App Manifest (Recommended)

Instead of configuring manually, use our app manifest:App Manifest (App Manifest → YAML):
display_information:
  name: 'Your Agent Name'
  description: 'AI assistant powered by Lua'
  background_color: '#000000'
  long_description: 'Your AI agent that helps with customer support, sales, and more'

features:
  app_home:
    home_tab_enabled: true
    messages_tab_enabled: true
    messages_tab_read_only_enabled: false
  bot_user:
    display_name: 'Your Agent Bot'
    always_online: true

oauth_config:
  redirect_urls:
    - 'https://auth.heylua.ai/slack/oauth_redirect/YOUR_APP_ID'
  scopes:
    bot:
      - 'chat:write'
      - 'channels:history'
      - 'groups:history'
      - 'im:history'
      - 'mpim:history'
      - 'channels:read'
      - 'groups:read'
      - 'im:read'
      - 'mpim:read'
      - 'users:read'
      - 'app_mentions:read'
      - 'users:read.email'
      - 'files:read'

settings:
  event_subscriptions:
    request_url: 'https://wa.heylua.ai/slack/webhook'
    bot_events:
      - 'app_mention'
      - 'message.channels'
      - 'message.groups'
      - 'message.im'
  interactivity:
    is_enabled: true
    request_url: 'https://wa.heylua.ai/slack/webhook'
  org_deploy_enabled: false
  socket_mode_enabled: false
  token_rotation_enabled: false
App manifest
Screenshot: App Manifest editor in Slack
Important: Replace YOUR_APP_ID in redirect_urls with your actual Slack App ID after creation
3

Or Configure Manually

If not using manifest, configure these settings:OAuth & Permissions → Bot Token Scopes:
  • chat:write - Send messages
  • channels:history - Read channel messages
  • groups:history - Read private channel messages
  • im:history - Read DM history
  • mpim:history - Read group DM history
  • channels:read - View channels
  • groups:read - View private channels
  • im:read - View DMs
  • mpim:read - View group DMs
  • users:read - View user information
  • app_mentions:read - Detect @mentions
  • users:read.email - View user emails
  • files:read - Access uploaded files
Bot scopes
Screenshot: OAuth scopes selection interface
4

Configure Event Subscriptions

Event Subscriptions → Enable EventsRequest URL:
https://wa.heylua.ai/slack/webhook
Subscribe to bot events:
  • app_mention - When @mentioned
  • message.channels - Public channel messages
  • message.groups - Private channel messages
  • message.im - Direct messages
Event subscriptions
Screenshot: Event Subscriptions configuration
5

Enable Interactivity

Interactivity & Shortcuts → Turn OnRequest URL:
https://wa.heylua.ai/slack/webhook
Interactivity
Screenshot: Interactivity settings
6

Install to Workspace

OAuth & Permissions → Install to Workspace
Install app
Screenshot: “Install to Workspace” button
7

Copy Bot Token

OAuth & Permissions → Bot User OAuth TokenToken format: xoxb-1234567890-...
Bot token
Screenshot: Bot token with copy button (token partially masked)

Scope Explanations

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
For future:
  • Responding to mentions in channels
  • Processing file attachments

Webhook Configuration

Critical: Both Event Subscriptions and Interactivity must use the same webhook URL:
https://wa.heylua.ai/slack/webhook
This URL handles all Slack events and interactions for your agent.

Connection Method 1: CLI (Private Bot)

$ 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

Connection Method 2: Admin Dashboard

1

Open Admin

lua admin
Navigate to Channels
2

Click Slack

Slack tile
3

Choose Integration Type

Slack type
Screenshot: Private Bot vs Public OAuth choice
4

For Private: Enter Token

Token form
5

Success

Slack connected

Testing

Send DM to your bot in Slack:
Slack conversation
Screenshot: Slack conversation with agent responding

Next Steps