Visual AI-powered workflow automation — build, automate, and deploy intelligent pipelines with drag-and-drop simplicity.
FlowForge AI is a self-hostable, open-source workflow automation platform that lets you build complex automations visually — no code required for simple flows, full TypeScript for advanced ones.
Think Zapier + n8n, but with first-class AI integration baked in.
Manual Trigger → HTTP Request → AI Chat (GPT-4) → Send Email → Done ✅
Connect APIs, run AI prompts, send emails, make conditional decisions — all through a beautiful visual canvas.
|
|
|
|
| Category | Nodes |
|---|---|
| 🟣 Triggers | Manual Trigger, Webhook, Schedule |
| 🔵 Actions | HTTP Request, Send Email, AI Chat, Code, Output |
| 🟡 Logic | If/Else Condition, Filter, Loop, Delay, Set Variables |
| Layer | Technology | Purpose |
|---|---|---|
| Framework | Next.js 15 (App Router) | Full-stack React framework |
| Language | TypeScript 5 | End-to-end type safety |
| Database | PostgreSQL + Prisma ORM | Data persistence |
| Auth | Clerk | Authentication & user management |
| Payments | Stripe | Subscription billing |
| Canvas | React Flow (@xyflow) | Visual workflow editor |
| Styling | Tailwind CSS + shadcn/ui | UI components |
| Resend | Email delivery | |
| Streaming | Server-Sent Events (SSE) | Real-time execution logs |
| Deploy | Vercel / Docker | Hosting |
- Node.js 20+
- PostgreSQL database (local or hosted — Neon, Supabase work great)
- Clerk account — free tier is enough
- Stripe account — for billing (optional)
- OpenAI API key — for AI nodes (optional)
- Resend API key — for email nodes (optional)
# 1. Clone the repo
git clone https://github.com/indhiran08-coder/Flowforge-ai.git
cd Flowforge-ai
# 2. Install dependencies
npm install
# 3. Set up environment variables
cp .env.example .env.local
# Edit .env.local with your keys (see below)
# 4. Push database schema
npx prisma db push
# 5. Start the dev server
npm run devOpen http://localhost:3000 — you're live! 🎉
# Start with Docker Compose (includes PostgreSQL)
docker-compose up -dCopy .env.example → .env.local and fill in:
# Database
DATABASE_URL="postgresql://user:password@localhost:5432/flowforge"
# Auth (Clerk — clerk.com)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_...
CLERK_SECRET_KEY=sk_...
# Payments (Stripe — optional)
STRIPE_SECRET_KEY=sk_...
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_...
STRIPE_WEBHOOK_SECRET=whsec_...
# AI (OpenAI — optional, for AI Chat nodes)
OPENAI_API_KEY=sk-...
# Email (Resend — optional, for Send Email nodes)
RESEND_API_KEY=re_...
# App
NEXT_PUBLIC_APP_URL=http://localhost:3000See
.env.examplefor the full list with descriptions.
flowforge-ai/
├── app/
│ ├── (dashboard)/ # Authenticated dashboard pages
│ │ ├── dashboard/
│ │ │ ├── workflows/ # Workflow list & editor
│ │ │ ├── executions/ # Execution history
│ │ │ └── settings/ # Credentials & profile
│ ├── (marketing)/ # Public landing & pricing pages
│ └── api/ # API route handlers
│ ├── workflows/ # CRUD + execute endpoints
│ ├── executions/ # Execution streaming (SSE)
│ └── webhooks/ # External webhook triggers
├── components/
│ ├── workflow/ # Canvas, node forms, node browser
│ └── ui/ # shadcn/ui + custom components
├── lib/
│ └── execution/ # Workflow execution engine
│ └── executors/ # Per-node-type executors
├── features/ # Server actions & business logic
├── hooks/ # Custom React hooks (15+)
├── types/ # Shared TypeScript types
├── lib/utils/ # Utility functions (20+)
├── lib/constants/ # App-wide constants
├── docs/ # Documentation
└── prisma/ # Database schema & migrations
1. Build → Drag nodes onto canvas, connect them, configure each step
2. Trigger → Run manually, via webhook, or on a schedule
3. Execute → Engine resolves execution order, runs each node sequentially
4. Stream → Watch real-time logs via SSE as your workflow runs
5. Review → Full execution history with per-step logs & outputs
Schedule (daily 9am)
└─► HTTP Request (fetch weather API)
└─► AI Chat (summarize + write email body using GPT-4)
└─► Send Email (deliver to your inbox)
Webhook Trigger (receives form data)
└─► Set Variables (extract name, email, message)
└─► If/Else (check if premium user)
├─► [yes] HTTP Request (notify Slack)
└─► [no] Send Email (auto-reply)
The engine uses topological sorting to resolve node execution order, then runs each executor:
// Every node has an executor
executors = {
'http-request': HttpRequestExecutor,
'ai-chat': AiChatExecutor,
'send-email': SendEmailExecutor,
'if-condition': IfConditionExecutor,
'code': CodeExecutor,
// ...12 total
}Results stream back via Server-Sent Events in real time — no polling required.
Contributions are what make open source amazing. Any contribution you make is greatly appreciated!
- Fork the repo
- Create a feature branch (
git checkout -b feat/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
- Slack / Discord integration nodes
- Google Sheets read/write node
- Parallel branch execution
- Sub-workflow (workflow-in-workflow) node
- Team workspaces & RBAC
- Natural language workflow builder ("Create a workflow that...")
- Marketplace — share & remix community workflows
Distributed under the MIT License. See LICENSE for more information.
- Next.js — The React Framework for the Web
- React Flow — Highly customizable React library for workflow/node-based UIs
- shadcn/ui — Beautifully designed components
- Clerk — The most comprehensive User Management Platform
- Prisma — Next-generation Node.js and TypeScript ORM
If FlowForge AI saved you time or inspired you, please consider giving it a ⭐
Made with ❤️ by indhiran08-coder