Workflow Automator is an AI-powered Slack bot that automates task assignment, task retrieval, and meeting summary access using natural language.
The bot integrates Slack, Groq LLM, and PostgreSQL to allow teams to manage workflows directly from Slack. Managers can assign tasks using plain English, and team members can retrieve their tasks or meeting summaries instantly.
Managers can assign tasks using natural language.
Example:
@Workflow Automator assign Mukundan to complete DevOps setup by tomorrow
The bot will:
- Extract task details using an LLM
- Identify the team member
- Parse the deadline
- Store the task in PostgreSQL
Only Managers are allowed to assign tasks.
Example command:
/assign Govind Submit report 2026-03-10
If a non-manager tries:
β Only Managers can assign tasks.
Users can retrieve tasks using either slash commands or natural language.
Example:
/tasks Govind
or
@Workflow Automator give the tasks of Govind
Meeting transcripts stored in the database can be retrieved directly from Slack.
Example:
@Workflow Automator show meeting summaries
The bot understands different formats such as:
tomorrow
today
next week
2026-03-10
March 10
If the LLM fails to extract the deadline, the bot automatically parses it from the message.
Slack User
β
βΌ
Slack Workspace
β
βΌ
Slack App (Bot)
β
βΌ
Ngrok Tunnel
β
βΌ
Python Slack Bolt Server
β
βββ Groq LLM (Intent Extraction)
β
βββ PostgreSQL Database (Neon)
Flow:
- User sends message in Slack
- Slack sends event to bot webhook
- Ngrok tunnels request to local server
- Bot extracts intent using Groq LLM
- Bot queries or updates PostgreSQL
- Response is sent back to Slack
- Python
- Slack Bolt SDK
- Groq LLM
- PostgreSQL (Neon Database)
- Ngrok
- Python Dotenv
Slack-Bot
β
βββ bot.py
βββ requirements.txt
βββ .env
βββ .gitignore
βββ venv/
βββ ngrok.exe
member_id
member_name
designation
password
slack_user_id
task_id
member_id
description
deadline
meeting_id
meeting_date
transcription_id
transcription_id
transcription_summary
git clone <repository-url>
cd Slack-Bot
python -m venv venv
Activate (Windows):
venv\Scripts\activate
pip install -r requirements.txt
Create a .env file in the project root.
SLACK_BOT_TOKEN=your_slack_bot_token
SLACK_SIGNING_SECRET=your_slack_signing_secret
DATABASE_URL=your_postgres_connection_string
GROQ_API_KEY=your_groq_api_key
.env to GitHub.
Start the bot:
python bot.py
You should see:
Bolt app is running! (development server)
In another terminal:
ngrok http 3000
Ngrok will generate a public URL:
https://abcd1234.ngrok-free.app
Every time ngrok restarts the URL changes.
Update these in Slack App configuration.
https://your-ngrok-url/slack/events
For /assign and /tasks:
https://your-ngrok-url/slack/events
/assign Govind Submit report 2026-03-10
or
@Workflow Automator assign Govind to submit report by Friday
/tasks Govind
or
@Workflow Automator show tasks of Govind
@Workflow Automator show meeting summaries
Before deployment verify:
- Manager can assign tasks
- Developer cannot assign tasks
- Tasks are stored in database
- Tasks can be retrieved
- Meeting summaries are accessible
- Natural language assignment works
- Deadline parsing works correctly
- Do not commit
.env - Store API keys securely
- Use RBAC for sensitive commands
- Validate database inputs
- Task status (Pending / Completed)
- Slack interactive buttons
- Automatic reminders
- Task analytics dashboard
- Cloud deployment (Render / Railway)
- AI meeting summarization
- Task priority classification
MIT License