A modern, simplified n8n-like application for building workflow automations with a visual node-based editor. Built with Next.js 15, TypeScript, and React Flow.
- Visual Node Editor - Drag and drop interface for building workflows with React Flow
- Modular Node Architecture - Self-contained nodes with their own schemas, services, and tests
- Multiple Node Types:
- Triggers: Manual, Webhook, Schedule
- Actions: HTTP Request (fully implemented), Send Email (modular implementation)
- Logic: If/Else, Switch, Loop, Filter
- Advanced HTTP Node - Complete HTTP client with authentication (Bearer, Basic, API Key), all methods, headers, and body support
- Workflow Execution - Server-side execution with real-time logging and error handling
- Smart UI - Conditional parameter visibility with OR logic for mutually exclusive options
- Comprehensive Testing - Full test coverage for node validation and execution
- Type Safety - Full TypeScript implementation with strict type checking
- Node.js 18+
- npm or yarn
# Install dependencies
npm install
# Run development server
npm run devOpen http://localhost:3000 to start building workflows.
- Add Nodes: Drag nodes from the left panel onto the canvas
- Connect Nodes: Click and drag from output to input handles
- Configure Nodes: Click on a node to open configuration panel
- Save Workflow: Click Save button in the toolbar
- Run Workflow: Click Run button to execute
- Manual: Start workflow manually with Run button
- Webhook: Trigger via HTTP POST to
/api/webhooks/[workflowId] - Schedule: Run on cron schedule (e.g.,
0 0 * * *for daily) - Email: Trigger when email is received (mock implementation)
- HTTP Request: Full-featured HTTP client with:
- All HTTP methods (GET, POST, PUT, DELETE, PATCH)
- Authentication support (Bearer tokens, Basic auth, API keys)
- Custom headers and JSON body support
- Comprehensive error handling and validation
- Network timeout and abort signal support
- Send Email: Send emails with configurable recipients, subject, and body
- Database: Query or update database (planned with Supabase integration)
- Transform Data: Transform data between nodes (planned)
- Delay: Wait for specified time before continuing (planned)
- If/Else: Conditional branching based on data
- Switch: Multiple condition branches
- Loop: Iterate over array items
- Filter: Filter array based on conditions
Workflows can be triggered via webhooks:
curl -X POST http://localhost:3000/api/webhooks/[workflowId] \
-H "Content-Type: application/json" \
-d '{"event": "test", "data": {"key": "value"}}'Note: Save your workflow from the editor at least once to sync it to the server registry so webhooks can trigger it.
- Navigate to
/workflowsto see all saved workflows - Edit, delete, or export workflows as JSON
- Import workflows using the Import button on the workflows page
- Framework: Next.js 15 with App Router and React 18
- Node Editor: React Flow for visual workflow building
- State Management: Zustand for workflow state management
- Styling: Tailwind CSS with shadcn/ui components
- Type Safety: Full TypeScript with strict mode
- Execution Engine: Server-side workflow executor with real-time logging
- Node System: Modular architecture with self-contained nodes
- Validation: Comprehensive validation with fallback mechanisms
- API: RESTful endpoints for workflow management and webhook triggers
- Current: LocalStorage for development and demo purposes
- Planned: Supabase (PostgreSQL) integration for production persistence
npm run dev # Development server
npm run typecheck # TypeScript validation
npm run lint # ESLint check
npm test # Run all tests
npm test -- --run nodes/HttpNode/HttpNode.test.ts # Run specific test
npm run build # Production buildFor contributing guidelines, project structure, and detailed development information, see CONTRIBUTING.md.
- Persistence: Uses LocalStorage (Supabase integration planned)
- Authentication: No user management (planned with Supabase Auth)
- Email Service: Mock implementation (real service integration planned)
- Database Nodes: Not yet implemented (Supabase integration planned)
- Collaboration: Single-user only (real-time collaboration planned)
- Database Integration: Supabase for persistence and authentication
- Enhanced Node Ecosystem: Database, Transform, File, and Notification nodes
- Advanced Features: User management, versioning, monitoring
- Enterprise Features: Team collaboration, custom nodes, advanced security
Contributions are welcome! Please read our comprehensive documentation:
- CONTRIBUTING.md - Development setup, contribution guidelines, and code standards
- docs/ - Complete documentation including TypeScript guidelines and development guides
- CODE_OF_CONDUCT.md - Community standards and behavior guidelines
- SECURITY.md - Security policy and vulnerability reporting procedures