Enterprise30 min read

Slack Automation

Bring AI to your workplace. Moltbot integrates with Slack for automated workflows, smart notifications, meeting summaries, and team assistance used by Fortune 500 companies.

Enterprise Features

Workflow Builder

Create no-code workflows triggered by messages, reactions, or schedules.

Smart Notifications

AI-filtered alerts from Jira, GitHub, PagerDuty with context and summaries.

Meeting Intelligence

Auto-summarize Slack threads, generate meeting notes, extract action items.

HR & IT Support

Employee onboarding, FAQ bots, IT ticket creation, policy lookups.

Setup Guide

1

Create Slack App

Go to api.slack.com/apps:

  • Click "Create New App"
  • Select "From scratch"
  • Name: "Moltbot Assistant"
  • Select your workspace

2. OAuth & Permissions

Add these Bot Token Scopes:

Bot Token Scopes:
- app_mentions:read
- channels:history
- channels:read
- chat:write
- files:write
- groups:history
- im:history
- mpim:history
- users:read

User Token Scopes (if needed):
- channels:history
- chat:write
- users:read

3. Event Subscriptions

Subscribe to these bot events:

Bot Events:
- app_mention
- message.channels
- message.groups
- message.im
- message.mpim

4. Moltbot Configuration

{
  "channels": {
    "slack": {
      "enabled": true,
      "botToken": "xoxb-your-bot-token",
      "signingSecret": "your-signing-secret",
      "socketMode": true,
      "appToken": "xapp-your-app-level-token"
    }
  }
}

5. Bot Implementation

const { App } = require('@slack/bolt');

const app = new App({
  token: process.env.SLACK_BOT_TOKEN,
  signingSecret: process.env.SLACK_SIGNING_SECRET,
  socketMode: true,
  appToken: process.env.SLACK_APP_TOKEN
});

// Handle @mentions
app.event('app_mention', async ({ event, say }) => {
  const response = await moltbot.process({
    message: event.text,
    userId: event.user,
    channelId: event.channel
  });
  
  await say({
    text: response.text,
    thread_ts: event.thread_ts || event.ts
  });
});

// Handle DMs
app.message(async ({ message, say }) => {
  if (message.channel_type === 'im') {
    const response = await moltbot.process({
      message: message.text,
      userId: message.user
    });
    
    await say(response.text);
  }
});

// Slash command
app.command('/ask', async ({ command, ack, say }) => {
  await ack();
  
  const response = await moltbot.process({
    message: command.text,
    userId: command.user_id
  });
  
  await say(response.text);
});

(async () => {
  await app.start();
  console.log('Slack bot running!');
})();

Deploy to Your Workspace