Skip to content

Workflow automation tool built with Node.js and Python to manage recurring tasks, approvals, and custom integrations.

Notifications You must be signed in to change notification settings

AdityaMogare/Automaton

Repository files navigation

Automaton - AI-Enhanced Workflow Automation Platform

A cloud-native, AI-enhanced Workflow Automation Platform that enables businesses to define, automate, and monitor internal operational workflows—without writing code.

🚀 Features

Core Capabilities

  • Visual Workflow Designer: Drag-and-drop canvas for creating workflows
  • AI-Powered Suggestions: Intelligent recommendations for workflow optimization
  • Real-time Monitoring: Live execution tracking and performance analytics
  • Multi-tenant Architecture: Secure isolation for different organizations
  • RESTful API: Comprehensive API for integrations
  • WebSocket Support: Real-time updates and notifications

Workflow Types

  • Onboarding Processes: Automated employee onboarding workflows
  • Email Alerts: Conditional email notifications and campaigns
  • Approval Chains: Multi-level approval processes with escalations
  • Reporting Schedules: Automated report generation and distribution
  • Data Processing: ETL workflows for data transformation
  • Integration Workflows: Connect with external services and APIs

AI Enhancements

  • Smart Suggestions: AI recommends optimal workflow paths
  • Natural Language Processing: Create workflows using natural language
  • Performance Optimization: AI analyzes and suggests workflow improvements
  • Error Prediction: Proactive identification of potential workflow issues

🏗️ Architecture

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Frontend      │    │   Backend       │    │   AI Services   │
│   (React)       │◄──►│   (Node.js)     │◄──►│   (OpenAI)      │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                       │                       │
         │              ┌─────────────────┐             │
         └──────────────►│   PostgreSQL   │◄────────────┘
                        │   (Workflows)   │
                        └─────────────────┘
                                │
                        ┌─────────────────┐
                        │   MongoDB       │
                        │   (Execution)   │
                        └─────────────────┘

🛠️ Tech Stack

Frontend

  • React 18 with TypeScript
  • React Flow for visual workflow design
  • Tailwind CSS for styling
  • Socket.io-client for real-time updates
  • React Query for state management

Backend

  • Node.js with Express and TypeScript
  • PostgreSQL for workflow definitions and metadata
  • MongoDB for execution logs and analytics
  • Socket.io for real-time communication
  • JWT for authentication
  • OpenAI API for AI enhancements

Infrastructure

  • Docker for containerization
  • Kubernetes for orchestration
  • Redis for caching and session management
  • Nginx for reverse proxy

🚀 Quick Start

Prerequisites

  • Node.js 18+
  • Docker and Docker Compose
  • PostgreSQL
  • MongoDB

Installation

  1. Clone the repository

    git clone <repository-url>
    cd automaton-workflow-platform
  2. Install dependencies

    npm install
  3. Set up environment variables

    cp .env.example .env
    # Edit .env with your configuration
  4. Start the development environment

    npm run dev
  5. Access the application

Docker Deployment

# Build and start all services
npm run docker:build
npm run docker:up

# Stop services
npm run docker:down

📚 API Documentation

The API documentation is available at /api-docs when the backend is running.

Key Endpoints

  • POST /api/workflows - Create a new workflow
  • GET /api/workflows - List all workflows
  • PUT /api/workflows/:id - Update a workflow
  • POST /api/workflows/:id/execute - Execute a workflow
  • GET /api/workflows/:id/executions - Get execution history
  • POST /api/ai/suggestions - Get AI workflow suggestions

🎯 Usage Examples

Creating an Onboarding Workflow

  1. Design the Workflow

    • Drag and drop nodes for each step
    • Configure conditions and approvals
    • Set up email notifications
  2. Configure Triggers

    • Set up webhook triggers
    • Schedule recurring executions
    • Define manual trigger points
  3. Monitor Execution

    • Real-time execution tracking
    • Performance analytics
    • Error handling and retries

AI-Powered Workflow Optimization

The platform uses AI to:

  • Suggest optimal workflow paths
  • Identify bottlenecks and inefficiencies
  • Recommend automation opportunities
  • Predict potential errors

🔧 Development

Project Structure

automaton-workflow-platform/
├── packages/
│   ├── frontend/          # React application
│   ├── backend/           # Node.js API server
│   └── shared/            # Shared types and utilities
├── docker-compose.yml     # Docker configuration
├── kubernetes/            # K8s deployment files
└── docs/                 # Documentation

Running Tests

npm run test              # Run all tests
npm run test:frontend     # Frontend tests only
npm run test:backend      # Backend tests only

Code Quality

  • ESLint for code linting
  • Prettier for code formatting
  • Husky for pre-commit hooks
  • Jest for testing

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🆘 Support

For support and questions:

  • Create an issue in the repository
  • Check the documentation in the /docs folder
  • Contact the development team

Built with ❤️ for modern workflow automation

About

Workflow automation tool built with Node.js and Python to manage recurring tasks, approvals, and custom integrations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published