π Table of Content
- β¨ Introduction
- π§© Features
- π» Tech Stack
- βοΈ Getting Started
- π Available Scripts
- ποΈ Project Structure
- π¬ Contact
Autolink is a visual workflow automation platform where you design, manage, and execute automated workflows using a drag-and-drop editor. Connect triggers, AI models, HTTP requests, and messaging services into powerful automation sequences. No code required.
πΌοΈ Visual Workflow Editor β Drag-and-drop canvas powered by React Flow for building automation sequences visually.
π Multi-Trigger Support β Start workflows with a manual trigger, Google Form submission, Stripe webhook event, and more.
π€ AI Node Types β Integrate Anthropic (Claude), OpenAI (GPT), Google Gemini, and more directly into your workflows.
π HTTP Request Node β Make arbitrary HTTP calls to any external API as a workflow step.
π¬ Messaging Nodes β Send messages to Discord channels or Slack workspaces automatically.
π Encrypted Credential Storage β Store and manage API keys per provider with AES encryption.
π Real-Time Execution Tracking β Monitor workflow runs live with status, output, and full error logs.
π Execution History β Browse a paginated history of all past runs per workflow.
πͺ Subscription Tiers β Polar-powered premium plan gating advanced features.
πͺͺ Authentication β GitHub & Google OAuth plus email/password sign-in via Better Auth.
and many more, including code architecture and reusability.
| Category | Technology |
|---|---|
| Framework | Next.js 16 (App Router, React Server Components) |
| UI Library | React 19, Shadcn, Tailwind CSS 4 |
| Visual Editor | React Flow (@xyflow/react) |
| API Layer | tRPC v11 + TanStack React Query v5 |
| State Management | Jotai |
| Database | PostgreSQL (Neon) via Prisma 7 ORM |
| Authentication | Better Auth v1.4 |
| Subscriptions | Polar |
| AI Providers | Vercel AI SDK |
| Background Jobs | Inngest |
| Encryption | Cryptr |
| Error Monitoring | Sentry |
| Linting / Formatting | Biome |
| Language | TypeScript 5 |
Follow these steps to set up the project locally on your machine.
-
# Clone the repository git clone https://github.com/AnasAlhwid/autolink.git # Navigate to the directory cd autolink # Install dependencies npm install
-
Create a new file named
.envin the root of your project and add the following content:# PostgreSQL connection string (e.g. Neon) DATABASE_URL="" # Random secret key for "Better Auth" session signing BETTER_AUTH_SECRET="" # Base URL of the app (e.g. http://localhost:3000) BETTER_AUTH_URL="" # Comma-separated list of allowed origins TRUSTED_ORIGINS="" # GitHub OAuth app client ID GITHUB_CLIENT_ID="" # GitHub OAuth app client secret GITHUB_CLIENT_SECRET="" # Google OAuth client ID GOOGLE_CLIENT_ID="" # Google OAuth client secret GOOGLE_CLIENT_SECRET="" # Sentry auth token for error monitoring SENTRY_AUTH_TOKEN="" # Polar access token for subscription management POLAR_ACCESS_TOKEN="" # Redirect URL after successful Polar checkout (e.g. http://localhost:3000) POLAR_SUCCESS_URL="" # Publicly accessible app URL (e.g. http://localhost:3000) NEXT_PUBLIC_APP_URL="" # Secret key used by Cryptr to encrypt stored credentials ENCRYPTION_KEY="" # Ngrok tunnel URL for local webhook testing NGROK_URL=""
-
# Start Next.js server npm run dev # Start Inngest CLI for local webhook testing npx inngest-cli@latest dev
Open http://localhost:3000 in your browser. The root path redirects to
/workflows.
| Command | Description |
|---|---|
npm run dev |
Start the development server at http://localhost:3000 |
npm run build |
Production build (runs prisma generate then next build) |
npm run start |
Start the production server |
npm run lint |
Lint source files with Biome |
npm run format |
Auto-format source files with Biome |
npm run ngrok:dev |
Start an ngrok tunnel for local webhook testing |
prisma/
βββ schema.prisma # Database schema
βββ migrations/ # Migration history
public/
βββ logos # Logo assets
src/
βββ app/ # Next.js App Router
β βββ (auth)/ # Login & signup pages
β βββ (dashboard)/
β β βββ (editor)/ # Visual workflow editor route
β β βββ (rest)/ # Workflows, credentials, executions pages
β βββ api/ # API routes (auth, tRPC, Inngest, webhooks)
βββ components/ # Shared UI components (shadcn/ui, React Flow)
βββ config/ # Node type registry, constants
βββ features/ # Feature-scoped logic
β βββ auth/ # Auth forms
β βββ credentials/ # Credential CRUD (encrypted API keys)
β βββ editor/ # Visual editor components & Jotai atoms
β βββ executions/ # Execution UI & per-node executor components
β βββ subscriptions/ # Polar subscription integration
β βββ triggers/ # Trigger node components
β βββ workflows/ # Workflow CRUD, hooks, tRPC routers
|ββ hooks/ # Custom hooks
βββ inngest/ # Inngest client, functions, per-node channels
βββ lib/ # Auth, Prisma, Polar, encryption, utilities
βββ trpc/ # tRPC client, server, routers
