mirror of
https://github.com/Nikhil-Doye/workflow-builder.git
synced 2026-07-22 02:01:56 +02:00
0a0fe82d9814febee28fa115c3fa3b6b824c6b74
- Added URL validation to ensure the provided URL starts with http:// or https://. - Refactored scrape options to create a minimal, whitelisted options object to prevent 400 errors. - Improved error logging to capture detailed information on API call failures. - Implemented a retry mechanism for 400 Bad Request errors with minimal options for better resilience.
Agent Workflow Builder
An open-source, visual workflow builder for creating AI-powered agent workflows, similar to N8N or sim.ai, built with React Flow and modern web technologies.
🚀 Features
Visual Workflow Editor
- Drag & Drop Interface: Intuitive node-based workflow creation
- Real-time Connection: Connect nodes with visual edges
- Node Palette: Easy access to all available node types
- Responsive Design: Works on desktop and tablet devices
AI-Powered Node Types
- 🌐 Web Scraping: Extract data from websites
- 🤖 LLM Task: General language model operations
- 🧠 Embedding Generator: Create vector embeddings
- 🔍 Similarity Search: Find similar content in vector stores
- 📋 Structured Output: Parse and structure data with schemas
- 📥 Data Input: Workflow entry points
- 📤 Data Output: Workflow exit points
Workflow Management
- Save & Load: Persistent workflow storage
- Import/Export: Share workflows as JSON files
- Version Control: Track workflow changes
- Workflow Library: Manage multiple workflows
Execution & Testing
- Real-time Execution: Step-by-step workflow processing
- Visual Feedback: Live status indicators for each node
- Test Interface: Run workflows with sample data
- Execution Logs: Detailed execution history and debugging
- Error Handling: Clear error messages and recovery
Advanced Features
- Configurable Parameters: Customize each node's behavior
- Data Flow Visualization: See data passing between nodes
- Execution Results: View and export workflow outputs
- Modular Architecture: Easy to extend with new node types
🛠️ Technology Stack
- Frontend: React 18 + TypeScript
- Visual Editor: React Flow
- Styling: Tailwind CSS
- State Management: Zustand
- Icons: Lucide React
- Notifications: React Hot Toast
📦 Installation
-
Clone the repository
git clone https://github.com/your-username/agent-workflow-builder.git cd agent-workflow-builder -
Install dependencies
npm install -
Start the development server
npm start -
Open your browser Navigate to
http://localhost:3000
🎯 Quick Start
Creating Your First Workflow
-
Start the Application
- Open the app in your browser
- Click "New Workflow" to create your first workflow
-
Add Nodes
- Click "Show Node Palette" to reveal available node types
- Drag nodes from the palette onto the canvas
- Connect nodes by dragging from output handles to input handles
-
Configure Nodes
- Click on any node to open its configuration panel
- Set parameters like URLs, prompts, model settings, etc.
- Customize node labels for better organization
-
Test Your Workflow
- Use the Testing Panel to provide sample input data
- Click "Run Test" to execute the workflow
- View results in real-time as each node processes
-
Save and Export
- Click "Save" to persist your workflow
- Use "Export" to download your workflow as a JSON file
- Share workflows by importing JSON files
Example Workflow: Web Scraping + AI Analysis
- Add a Data Input node - Set it to provide a URL
- Add a Web Scraping node - Configure it to scrape the URL
- Add an LLM Task node - Set up a prompt to analyze the scraped content
- Add a Data Output node - To capture the final result
- Connect the nodes in sequence
- Test with a sample URL and see the results
🏗️ Architecture
Project Structure
src/
├── components/ # React components
│ ├── nodes/ # Node type components
│ ├── WorkflowEditor.tsx
│ ├── WorkflowList.tsx
│ ├── NodeConfiguration.tsx
│ ├── ExecutionPanel.tsx
│ └── TestingPanel.tsx
├── store/ # State management
│ └── workflowStore.ts
├── types/ # TypeScript definitions
│ └── index.ts
├── utils/ # Utility functions
│ └── workflowSerialization.ts
└── App.tsx # Main application
Key Components
- WorkflowEditor: Main visual editor using React Flow
- NodeConfiguration: Modal for configuring node parameters
- ExecutionPanel: Real-time execution monitoring
- TestingPanel: Test interface with sample data
- workflowStore: Centralized state management with Zustand
🔧 Configuration
Node Types and Parameters
Each node type supports specific configuration options:
Web Scraping Node
url: Target website URLselector: CSS selector for content extractionmaxLength: Maximum content length to extract
LLM Task Node
prompt: The prompt to send to the language modelmodel: AI model selection (GPT-3.5, GPT-4, Claude, etc.)temperature: Response creativity (0-2)maxTokens: Maximum response length
Embedding Generator
model: Embedding model selectiondimensions: Vector dimensions
Similarity Search
vectorStore: Target vector databasetopK: Number of similar results to returnthreshold: Similarity threshold (0-1)
🚀 Deployment
Build for Production
npm run build
Deploy to Vercel
npm install -g vercel
vercel --prod
Deploy to Netlify
npm run build
# Upload the 'build' folder to Netlify
🤝 Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Development Guidelines
- Follow TypeScript best practices
- Use Tailwind CSS for styling
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
🐛 Troubleshooting
Common Issues
Nodes not connecting?
- Ensure you're dragging from output handles to input handles
- Check that nodes are properly positioned
Workflow not executing?
- Verify all required node parameters are configured
- Check the execution panel for error messages
Import/Export not working?
- Ensure you're using valid JSON format
- Check browser console for error messages
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- React Flow for the visual editor
- Tailwind CSS for styling
- Lucide React for icons
- Zustand for state management
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@agentworkflowbuilder.com
Built with ❤️ for the AI community
Description
Turn ideas into workflows instantly - AI copilot + visual editor = automation magic in seconds
Languages
TypeScript
99.3%
CSS
0.4%
JavaScript
0.3%