A Slack bot that integrates with Flowise to provide AI-powered chat capabilities. The bot supports direct messages, channel mentions, maintains conversation context in threads, and handles file uploads.
- 🤖 Seamless integration with Flowise AI
- 💬 Supports direct messages and channel interactions
- 🧵 Maintains conversation context in threads
- 📝 Markdown support for formatted responses
- 📎 File upload and processing support
- 🏃♂️ Built for performance with Socket Mode
- 🔄 Automatic reconnection handling
- 💪 Health check endpoint for reliable hosting
- 🌐 Multi-workspace ready
- Responds when directly mentioned (@bot-name)
- Only continues thread conversations when mentioned
- Must be invited to channels to function
- Processes uploaded files when mentioned
- Responds to all DMs
- Maintains conversation context
- No mention needed
- Handles file uploads automatically
- Creates threaded conversations
- Maintains context within threads
- Requires mention for continued conversation
- Supports file processing in threads
- Node.js 16 or higher
- A Slack workspace with admin access
- A Flowise instance
- Render account (or similar hosting platform)
SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_SIGNING_SECRET=your-signing-secret
SLACK_APP_TOKEN=xapp-your-app-token
FLOWISE_API_ENDPOINT=your-flowise-endpoint
FLOWISE_API_KEY=your-flowise-api-key
FLOWISE_CHATFLOW_ID=your-chatflow-id
-
Create a Slack App:
# Visit api.slack.com/apps - Create New App - From scratch - Add required scopes (see below) - Enable Socket Mode - Install to workspace -
Configure Required Scopes:
chat:writeapp_mentions:readim:historyim:readim:writefiles:readfiles:write
-
Clone and Install:
git clone [your-repo-url] cd [your-repo-name] npm install -
Create
.envfile with required environment variables -
Run the bot:
npm start
- Create a new Web Service
- Connect your GitHub repository
- Add environment variables
- Set build command:
npm install - Set start command:
npm start
To allow other teams to install your bot:
-
Configure OAuth & URLs in Slack App settings:
https://your-app-name.onrender.com/slack/oauth_redirect https://your-app-name.onrender.com/slack/install https://your-app-name.onrender.com/slack/oauth -
Enable distribution in Slack App settings
-
Share the "Add to Slack" button
├── app.js # Main application file
├── package.json # Dependencies and scripts
├── .env # Environment variables (not in repo)
├── .gitignore # Git ignore file
└── README.md # Documentation
@slack/bolt: Slack app frameworkaxios: HTTP clientdotenv: Environment variable managementmarked: Markdown processing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request