A powerful workflow automation platform that enables users to build and execute automated workflows through a visual node-based interface. Connect various actions and triggers to streamline processes, integrate with external services, and automate repetitive tasks.
- Bun - Ultra-fast JavaScript runtime and package manager
- Turborepo - High-performance monorepo build system with intelligent caching
- TypeScript - Type-safe JavaScript for robust development
- TanStack Router - File-based routing with full type safety
- TailwindCSS - Utility-first CSS framework for rapid styling
- shadcn/ui - Beautiful, accessible UI components built on Radix UI
- Express - Fast, unopinionated web framework for Node.js
- Prisma - Next-generation ORM for type-safe database access
- PostgreSQL - Advanced open-source relational database
- Visual Workflow Builder - Drag-and-drop interface to create workflows by connecting nodes
- Webhook Triggers - Start workflows via HTTP requests with customizable endpoints
- Credential Management - Securely store and manage API keys and authentication credentials
- Real-time Execution - Monitor workflow progress and node states in real-time
- Node-based Architecture - Modular system for easy extension and customization
- Webhook - HTTP trigger for starting workflows
- Email - Send emails via Resend API
- Telegram - Send messages to Telegram chats
- Credential Management - Create and manage API credentials
- Solana Send Token - Transfer SOL or SPL tokens on Solana blockchain
- AI Agent - Integrate with AI models for intelligent processing
- Code Tool - Execute custom JavaScript/TypeScript code
- Gemini - Google Gemini AI integration
- Manual Trigger - Manually start workflows from the UI
workflow-gen/
├── apps/
│ ├── server/ # Backend API (Express + TypeScript)
│ │ ├── src/
│ │ │ ├── db/ # Database client
│ │ │ ├── middleware/ # Express middleware (auth, etc.)
│ │ │ ├── routers/ # API route handlers
│ │ │ ├── services/ # External service integrations
│ │ │ ├── store/ # State management
│ │ │ ├── types/ # TypeScript type definitions
│ │ │ ├── utils/
│ │ │ │ ├── nodeExecution/ # Node execution logic
│ │ │ │ ├── schemas/ # Validation schemas
│ │ │ │ └── updateNodeStateIfConnected.ts
│ │ │ └── index.ts
│ │ └── package.json
│ └── web/ # Frontend application (React + TanStack Router)
│ ├── src/
│ │ ├── api/ # API client functions
│ │ ├── components/
│ │ │ ├── nodes/ # Workflow node components
│ │ │ ├── ui/ # Reusable UI components
│ │ │ └── ... # Other components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Utilities and schemas
│ │ ├── routes/ # Page routes
│ │ ├── store/ # State management
│ │ └── types.ts # TypeScript types
│ └── package.json
├── packages/
│ └── db/ # Shared database package (Prisma)
│ ├── prisma/ # Database schema and migrations
│ └── src/ # Database client and types
├── bun.lock
├── turbo.json # Turborepo configuration
└── package.json
- Bun - Fast JavaScript runtime (recommended) or Node.js
- PostgreSQL - Database (can be run via Docker)
git clone <repository-url>
cd workflow-gen
bun installThis project uses PostgreSQL with Prisma. You have two options:
A docker-compose.yml file is provided in packages/db/ for easy database setup:
cd packages/db
docker-compose up -dThis will start a PostgreSQL container with the database ready.
Set up your own PostgreSQL instance and note the connection details.
Copy the example environment files and configure them:
cp apps/server/.env.example apps/server/.envEdit apps/server/.env and set:
DATABASE_URL- Your PostgreSQL connection string (e.g.,postgresql://user:password@localhost:5432/workflow_gen)JWT_SECRET- A secure random string for JWT tokensSOLANA_CONNECTION_URL- Solana RPC endpoint (optional, for Solana nodes)
cp apps/web/.env.example apps/web/.envEdit apps/web/.env and set:
VITE_SERVER_URL- Backend API URL (e.g.,http://localhost:3000)
Push the Prisma schema to your database:
bun db:pushbun devOpen http://localhost:3001 in your browser to see the web application. The API is running at http://localhost:3000.
- Bun - Ultra-fast JavaScript runtime and package manager
- Turborepo - High-performance monorepo build system with intelligent caching
- TypeScript - Type-safe JavaScript for robust development
- TanStack Router - File-based routing with full type safety
- TailwindCSS - Utility-first CSS framework for rapid styling
- shadcn/ui - Beautiful, accessible UI components built on Radix UI
- Express - Fast, unopinionated web framework for Node.js
- Prisma - Next-generation ORM for type-safe database access
- PostgreSQL - Advanced open-source relational database
bun dev- Start all applications (web + server) in development mode with hot reloadingbun dev:web- Start only the frontend web applicationbun dev:server- Start only the backend API server
bun build- Build all applications for productionbun compile- Create standalone binaries (server only)
bun db:push- Push Prisma schema changes to the databasebun db:studio- Open Prisma Studio for database management and explorationbun db:generate- Generate Prisma client from schemabun db:migrate- Run database migrationsbun db:start- Start the database container (if using Docker)bun db:stop- Stop the database containerbun db:watch- Watch for schema changes and auto-generate client
bun check-types- Run TypeScript type checking across all packages