NotionMind is an intelligent Slack bot that helps teams manage their work more efficiently by automatically creating structured tickets from Slack conversations. It uses GPT-4 to analyze conversations and generate well-formatted tickets with all necessary information.
- 🤖 Automatic ticket creation from Slack conversations
- 🧠 GPT-4 powered analysis of conversations
- 📝 Structured ticket format with:
- Title
- Description
- Steps to reproduce
- Expected behavior
- Actual behavior
- Priority
- Labels
- 🔄 Real-time Slack integration
- 📊 Notion database integration
- 🔒 Secure API key management
- Elixir 1.14 or later
- Erlang/OTP 25 or later
- Node.js 18 or later
- PostgreSQL 12 or later
- OpenAI API key
- Slack App credentials
- Notion API key and database
-
Clone the repository:
git clone https://github.com/yourusername/notion_mind.git cd notion_mind -
Install dependencies:
mix deps.get cd assets && npm install && cd ..
-
Set up environment variables:
cp .env.example .env
Edit
.envand add your API keys:# GPT Configuration OPENAI_API_KEY=your_openai_api_key_here GPT_MODEL=gpt-4-turbo-preview # Notion Configuration NOTION_API_KEY=your_notion_api_key_here NOTION_DATABASE_ID=your_notion_database_id_here # Slack Configuration SLACK_CLIENT_ID=your_slack_client_id_here SLACK_CLIENT_SECRET=your_slack_client_secret_here SLACK_SIGNING_SECRET=your_slack_signing_secret_here SLACK_BOT_TOKEN=your_slack_bot_token_here -
Set up the database:
mix ecto.create mix ecto.migrate
-
Start the Phoenix server:
mix phx.server
-
Visit
localhost:4000in your browser.
-
Create a new Notion database with the following properties:
- Name (title)
- Priority (select)
- Status (status)
- Labels (multi-select)
-
Share the database with your Notion integration
-
Copy the database ID from the URL
-
Add the database ID to your
.envfile
- Invite the bot to your Slack workspace
- Mention the bot in a conversation with
@NotionMind - The bot will analyze the conversation and create a ticket in Notion
- The ticket will include:
- A descriptive title
- Detailed description
- Steps to reproduce
- Expected vs actual behavior
- Priority level
- Relevant labels
mix testDetailed documentation is available in the following locations:
- Getting Started
- API Reference
- Slack Integration Guide
- Notion Integration Guide
- GPT Integration Guide
- Deployment Guide
- Troubleshooting Guide
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions, please:
- Check the documentation
- Open an issue
- Contact the maintainers
- Custom ticket templates
- Multi-language support
- Team-specific configurations
- Analytics dashboard
- Automated ticket updates
- Integration with other project management tools
notion_mind/
├── assets/ # Frontend assets
├── config/ # Configuration files
├── deps/ # Dependencies
├── docs/ # Documentation
├── lib/ # Application code
│ ├── notion_mind/ # Business logic
│ └── notion_mind_web/ # Web interface
├── priv/ # Database migrations, etc.
└── test/ # Test files
Please report any security issues to security@yourdomain.com.
- Muhammad Hamza - Initial work - YourGitHub
See CHANGELOG.md for a list of changes.