AutoMinds is a completely open-source platform that allows you to connect multiple user applications (such as Google Drive, Google Docs, Google Sheets, GitHub, Discord* and many more) and automates workflows between them. AutoMinds lets you set up triggers and actions to streamline and automate repetitive tasks across different platforms.
🔗 See deployed website: AutoMinds
✨ Features
-
Multi-App Connectivity: Connect your Google Drive, Google Docs, Google Sheets, GitHub, Discord*, and more. 📂
-
Automated Triggers: Create triggers to automatically respond to specific events. For example:
- When a Google Doc is created, a corresponding GitHub file can be auto-generated.
- New CSV files added to GitHub can trigger Google Sheets entries.
-
Real-Time Updates: Uses WebSocket for the
/workflow
page to reflect the latest updates. 🔄 -
Optimized State Management: Uses Zustand for both
/workflow
and/connection
pages to limit API calls, improving performance by storing and reusing data when possible. 📈 -
Customizable Actions: Choose actions that fit your workflow, saving you time and eliminating repetitive tasks. ⏳
- Steps to trigger:
-
Connecting Apps
- Log into AutoMinds and link your desired apps (e.g., Google Apps, GitHub, Discord*).
-
Creating a Workflow
- Set up workflows with specific triggers and actions. For example:
- Trigger: Google Docs creation 📄
- Action: Auto-generate a corresponding GitHub file 📂
- Set up workflows with specific triggers and actions. For example:
-
Monitoring Automation
- View logs and notifications for each action taken by AutoMinds to keep track of your automations. 📊
- Google Apps (Docs, Sheets, Drive, etc.) 📄
- GitHub (Repository management, file creation, etc.) 💻
- Discord* (Messaging, notifications, etc.) 💬
*
Still Under-Devlopment (Note)
- Google Drive as a Trigger: Three options for interaction:
- Watch a File: Select a specific file to monitor using a dropdown menu. 📂
- Create File in Folder: Choose a target folder for file creation, allowing for deep folder selection. 📁
- Update File in Folder: Track changes in a specified folder for automatic updates. 🔄
- Optimized Data Calls: For
/workflow
and/connection
pages, Zustand stores data locally, reducing the need for multiple API calls on page load. This setup checks for updates in server data and syncs Zustand's store accordingly.
- Confirmation Prompts: Alert users attempting to exit the workflow page without saving changes, including exits from:
- The navbar, "Exit Editor" button, and window close.
- Delete Node Feature: Checks if node count from frontend is less than in the database, indicating node deletion. Implements backend validation using hash sets.
- User Redirection: Redirects users to
/signin
if not logged in or on authenticated pages unnecessarily. - Undo/Redo (CTRL+Z) Implementation: Store full state in Zustand to enable undo/redo functionality, planned for future development.
- Workflow States (Draft, Active, Inactive): Workflow status management including:
- Publishing for active status, toggling with unpublish for inactive status.
- Draft mode for editing and testing workflows.
- Form Data Management: Six forms need to handle data collection and backend integration:
- In-memory array of node objects to prevent redundant fetches by storing fetched node info in-memory, ensuring data is requested from the backend only when not already retrieved.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch for your feature or bug report.
- Submit a pull request for review.
- For license details, see
License
file.