Pack your conversations into valuable cargo - Transform Slack conversations into actionable tasks with AI-powered intelligence.
- โ Slack Integration - Seamlessly connect to your Slack workspace and extract conversations
- ๐ค AI-Powered Task Generation - Use Ollama models to intelligently generate tasks from conversations
- ๐ Kanban Task Management - Organize tasks with drag-and-drop Kanban boards (Todo, Doing, Done, Icebox)
- ๐ Conversation Sync - Sync conversations from multiple Slack channels with date range filtering
- ๐พ Smart Task Saving - Save individual tasks you want to keep and manage them efficiently
- ๐ Dashboard Analytics - Track your tokens, conversations, messages, and saved tasks
Tired of losing important action items buried in Slack conversations? Convoy helps you:
- Extract value from team discussions automatically
- Never miss important tasks mentioned in conversations
- Organize your work with an intuitive Kanban interface
- Stay productive by turning discussions into actionable items
- Node.js v16 or higher
- npm (comes with Node.js)
- Ollama (for AI task generation) - Install Ollama
-
Clone the repository
git clone <repository-url> cd convoy
-
Install dependencies
npm run install:all
-
Set up environment variables
Create a
.envfile in the root directory:NODE_ENV=development PORT=3000
-
Start the application
npm run dev
This will start:
- Frontend:
http://localhost:5173 - Backend API:
http://localhost:3000
- Frontend:
-
Extract a Slack Token
- Navigate to the Tokens page
- Extract your Slack workspace token using the
dcookie from your browser
-
Sync Conversations
- Go to the Tasks page
- Select a channel and date range
- Sync conversations from your Slack workspace
-
Generate Tasks
- Choose an Ollama model
- Configure your prompts (or use defaults)
- Generate tasks from synced conversations
-
Manage Tasks
- Save tasks you want to keep
- Organize them on the Kanban board
- Drag and drop between columns (Todo, Doing, Done, Icebox)
Convoy is built as a monorepo using npm workspaces:
convoy/
โโโ packages/
โ โโโ api/ # Express.js backend server
โ โ โโโ models/ # Database models (SQLite)
โ โ โโโ services/ # Business logic
โ โ โโโ external/ # External API integrations
โ โโโ frontend/ # Vite + React frontend
โ โโโ pages/ # Main application pages
โ โโโ components/ # Reusable components
โ โโโ services/ # API client
Backend:
- Express.js - Web framework
- SQLite (better-sqlite3) - Database
- Axios - HTTP client
Frontend:
- React 18 - UI framework
- Vite - Build tool
- Material-UI - Component library
- React Query - Data fetching
- React Router - Navigation
- Pragmatic Drag & Drop - Kanban functionality
AI:
- Ollama - Local LLM integration
Start both frontend and backend in development mode:
npm run devOr run them separately:
# Backend only
npm run dev:api
# Frontend only
npm run dev:frontendBuild the frontend:
npm run buildStart the production API server:
npm startRoot Level:
npm run dev- Run both frontend and backend in developmentnpm run dev:api- Run only the backend in developmentnpm run dev:frontend- Run only the frontend in developmentnpm run build- Build the frontend for productionnpm run start- Start the production API servernpm run test- Run tests for all packagesnpm run lint- Lint all packagesnpm run lint:fix- Auto-fix linting issuesnpm run clean- Clean all build artifacts
GET /api/stats- Get database statistics
GET /api/tokens- List tokensPOST /api/extract-token- Extract token from cookiePOST /api/renew-token- Renew existing token
GET /api/channels- Get Slack channels
POST /api/sync-conversations- Sync conversationsGET /api/conversations- Get synced conversations
POST /api/tasks/generate- Generate task list (not saved)GET /api/tasks- List saved tasksPOST /api/tasks- Save an individual taskDELETE /api/tasks/:id- Delete a saved task
GET /api/ollama/models- Get available Ollama models
Convoy uses SQLite for data storage. The database file (convoy.db) is created automatically in the packages/api directory on first run.
Models:
- Tokens - Slack workspace authentication
- Channels - Slack channel information
- Conversations - Synced conversation threads
- Tasks - Generated and saved tasks
- Prompts - AI prompt configurations
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests and linting (
npm run test && npm run lint) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Backend: Standard.js (no semicolons, 2-space indent)
- Frontend: Standard.js (no semicolons, 2-space indent)
- Run
npm run lint:fixto auto-fix issues
ISC License - see LICENSE file for details
Built with โค๏ธ using React, Express, and Ollama.
Ready to transform your Slack conversations into actionable tasks? Get started with Convoy today! ๐



