Tech: Next.js | Prisma | tRPC | Inngest | React Flow
Build, wire, and launch automation workflows fast. Nodebase is a node-based builder with triggers, AI nodes, and webhooks, powered by reliable Inngest orchestration.
- Visual editor that makes flows obvious at a glance
- Triggers that kick off real work (manual, Google Forms, Stripe)
- Execution nodes for HTTP, AI providers, and chat apps
- Credential vault with encryption-at-rest for API keys
- Execution history with status and error visibility
- Auth with email/password plus GitHub and Google OAuth
- Premium gating and billing via Polar
- Route Google Form responses into AI summaries and Slack
- React to Stripe events, enrich data, then send Discord alerts
- Chain HTTP calls to synchronize data between tools
- Next.js App Router + React 19
- Prisma + PostgreSQL
- tRPC + TanStack Query
- Inngest for workflow execution
- Sentry for observability
- Tailwind CSS + shadcn/ui
- Install dependencies:
npm install-
Create a
.envfile (see Environment Variables below). -
Set up the database:
npx prisma migrate dev- Run the app:
npm run devOpen http://localhost:3000 and you will be redirected to /workflows.
If you want the dev server, Inngest dev server, and ngrok in one go:
npm run dev:allThis uses mprocs and reads from .env via dotenv.
Create a .env file in the project root:
# App
NEXT_PUBLIC_APP_URL=http://localhost:3000
# Database
DATABASE_URL=postgresql://USER:PASSWORD@HOST:5432/nodebase
# Auth (better-auth)
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# Billing (Polar)
POLAR_ACCESS_TOKEN=
POLAR_SUCCESS_URL=http://localhost:3000/workflows
# Encryption
ENCRYPTION_KEY=change_me
# Optional
NGROK_URL=
VERCEL_URL=Notes:
NEXT_PUBLIC_APP_URLis used to build webhook URLs shown in the UI.ENCRYPTION_KEYencrypts stored credentials; changing it will make existing credentials unreadable.NGROK_URLis required only if you runnpm run ngrok:dev.VERCEL_URLis set automatically by Vercel.
Nodebase exposes webhook endpoints and surfaces the URLs in the trigger node dialogs:
- Google Forms:
/api/webhooks/google-form?workflowId=... - Stripe:
/api/webhooks/stripe?workflowId=...
npm run dev- start Next.js dev servernpm run dev:all- start Next.js + Inngest + ngrok viamprocsnpm run inngest:dev- start Inngest dev servernpm run ngrok:dev- expose localhost with ngroknpm run build- build the Next.js appnpm run start- run the production servernpm run lint- run Biome checksnpm run format- format with Biome
src/app- App Router routes, layouts, API handlerssrc/features- domain features (auth, workflows, editor, triggers)src/inngest- workflow execution functions and channelssrc/trpc- tRPC routers and client setupprisma- schema and migrations
Build and start:
npm run build
npm run startVercel is the easiest deployment target, but any Node + Postgres environment will work.
- Create a workflow
- Add a trigger node (manual, Google Form, or Stripe)
- Chain execution nodes (HTTP, AI, Discord, Slack)
- Run and watch status in real time
- Webhooks not firing? Check
NEXT_PUBLIC_APP_URLand your ngrok URL. - Prisma errors? Verify
DATABASE_URLand rerun migrations. - AI nodes failing? Confirm credentials exist and
ENCRYPTION_KEYis stable.