Open-source, local-first workflow execution engine for AI agents
Documentation Β·
Privacy Β·
Telemetry Β·
Features Β·
Architecture Β·
Issues
-
You create a Workflow made of ordered steps (LLM, HTTP, Tool, Delay)
-
Running a workflow creates a Task (manual or scheduled)
-
An Agent executes each step deterministically
-
Every step produces:
- input
- output
- success / failure
-
You inspect, debug, re-run, and automate with full visibility
AI Agent Automation Platform is a developer-first execution engine for AI-driven workflows.
This is not:
- A prompt playground
- A chatbot UI demo
- A SaaS-locked automation tool
This is:
- A real workflow engine
- Deterministic, step-by-step execution
- Agent-driven automation
- Fully local & self-hosted
If you like tools such as n8n, Zapier, or Temporal β but want something AI-native, local, and inspectable, this project is for you.
β Developers building AI-driven automation β Teams needing inspectable, debuggable execution β Privacy-conscious & self-hosted setups
β Chatbot-only demos β Prompt-only experiments β No-code SaaS users
- Autonomous AI agents execute workflows
- Multi-provider LLM support (OpenAI, Gemini, Groq, local models)
- Deterministic execution model
- Explicit inputs & outputs per step
- Step-level success / failure tracking
- Visual Workflow Builder & Workflow Templates
- Conditional & Switch Nodes
- Branching workflows
- Ordered, sequential steps
- Supported step types:
- LLM β reasoning & generation
- HTTP β API calls
- Delay β time-based control
- File β file system operations
- Email β automated email sending
- Browser β web automation
- Document Query β RAG and vector search
Each workflow run becomes a Task with full traceability.
- Cron-based schedules & Webhook triggers
- Automatic task creation
- Ideal for:
- Monitoring
- Reports
- Background automation
- Periodic data sync
- Task execution timeline
- Step-level outputs & errors
- Real-time system logs
- Clear failure attribution
- Built for root-cause analysis, not guesswork
- Persistent, agent-scoped semantic memory
- Embedding-based retrieval using cosine similarity
- Similarity threshold filtering to prevent noise
- Retention cap per agent
- Token-safe prompt injection
- Fully vendor-agnostic (no external vector DB required)
Enables agents to recall relevant past interactions across workflow executions.
- Document upload and chunking process
- Embedding generation
- Retrieval pipeline and document chat workflow
graph TD
Frontend["Frontend (Next.js)"] --> API["REST API (Express)"]
API --> Engine
subgraph Engine["Workflow Engine"]
direction TB
AgentRunner["Agent Runner"]
StepExecutor["Step Executor"]
ToolRegistry["Tool Registry (Under Development)"]
Scheduler["Scheduler"]
Logger["Logger"]
end
Engine --> DB[("MongoDB (Workflows, Tasks, Agents, Logs)")]
π Detailed architecture, execution model, and internals: https://vmdeshpande.github.io/ai-automation-platform-website/
Backend
- Node.js + Express
- MongoDB
- Cron Scheduler
- Custom Agent Runtime
Frontend
- Next.js
- React
- Tailwind CSS
AI & Automation
- Pluggable LLM adapters
- Tool sandboxing
- Local-first execution
- AI workflow automation
- Scheduled backend jobs
- Monitoring & alerting agents
- Document processing pipelines
- Internal developer tools
- Secure AI experimentation
- Fully self-hosted
- No data leaves your system by default
- Secrets via environment variables only
- No vendor lock-in
- No hidden SaaS dependencies
- Memory stored locally in MongoDB
- No external vector database required
- Privacy policy available in the app at
/privacyand in docs/privacy.md
git clone https://github.com/vmDeshpande/ai-agent-automation.git
cd ai-agent-automationcd backend
npm install
cp .env.example .env
npm run dev
npm run workerBackend β http://localhost:5000
cd frontend
npm install
npm run devFrontend β http://localhost:3000
Detailed guide: docs/docker-deployment.md
Run the entire platform (MongoDB, backend API, worker, and frontend) using Docker.
- Docker Desktop: https://www.docker.com/products/docker-desktop/
- Docker Compose (included with Docker Desktop)
Verify installation:
docker --version
docker compose versioncd infra
# Copy environment configuration
cp .env.example .env
# Edit .env (at minimum set JWT_SECRET)
# Port overrides are optional; safe defaults are already provided
# Build and start all services
docker compose up --buildAfter startup open:
http://localhost:3000
If 3000, 5000, or 27017 are already in use on your machine, change FRONTEND_PORT, BACKEND_PORT, or MONGO_PORT in infra/.env before starting.
| Service | URL | Description |
|---|---|---|
| Frontend | http://localhost:3000 | Next.js web interface (default, configurable) |
| Backend API | http://localhost:5000 | Express API server (default, configurable) |
| MongoDB | localhost:27017 | Database (default, configurable) |
| Worker | internal | Executes workflow jobs |
Startup order:
MongoDB
β
Mongo Replica Init
β
Backend API
β
Worker
β
Frontend
MongoDB replica sets are initialized automatically during startup.
Edit the environment file:
infra/.env
Example configuration:
MONGO_URI=mongodb://mongo:27017/ai-agent
JWT_SECRET=your-secure-random-string
# LLM Providers
GROQ_API_KEY=
OPENAI_API_KEY=
GEMINI_API_KEY=
HF_API_KEY=
# Optional local models
OLLAMA_HOST=http://host.docker.internal:11434
# Rate Limiting (Optional)
RATE_LIMIT_WINDOW_MS=900000 # 15 minutes window
RATE_LIMIT_GLOBAL_MAX=100 # Max 100 requests globally per window
RATE_LIMIT_AUTH_MAX=5 # Max 5 auth attempts per window
RATE_LIMIT_EXPENSIVE_MAX=10 # Max 10 expensive operations per minute
RATE_LIMIT_WEBHOOK_MAX=20 # Max 20 webhook requests per minute
# Optional host port overrides (defaults shown)
MONGO_PORT=27017
BACKEND_PORT=5000
FRONTEND_PORT=3000These port variables are optional. If you leave them unchanged, Docker Compose uses the default ports shown above. The frontend API URL is derived automatically from BACKEND_PORT.
You do not need to set NEXT_PUBLIC_API_URL in infra/.env for Docker deployments.
docker compose up -ddocker compose logs -fdocker compose downdocker compose up --builddocker compose down -vIf a default port is already in use:
# infra/.env
MONGO_PORT=27018
BACKEND_PORT=5001
FRONTEND_PORT=3001The frontend API URL is derived automatically from BACKEND_PORT, so you do not need to set NEXT_PUBLIC_API_URL for Docker deployments.
If Docker reports the backend as unhealthy right after startup:
docker compose logs -f backend mongo mongo-init-replicaIf MongoDB was previously started with an old replica set configuration, do a clean local reset:
docker compose down -v
docker compose up -d --buildThis removes the local Mongo volume and recreates the replica set from scratch.
If you want to confirm the stack is healthy after startup:
docker compose ps
docker compose logs --tail 50 backend workerIf you already run an nginx reverse proxy:
/api β http://localhost:5000
/ β http://localhost:3000
If you override BACKEND_PORT or FRONTEND_PORT in infra/.env, update these proxy targets to match.
For development you usually only need:
docker compose upDocker will automatically build images and start all services.
backend/
ββ agents/
ββ models/
ββ routes/
ββ services/
ββ tools/
ββ workers/
frontend/
ββ app/
ββ components/
ββ context/
ββ styles/
Planned features and long-term vision live on the project website:
π https://vmdeshpande.github.io/ai-automation-platform-website/
Contributions are welcome.
If you enjoy:
- AI agents
- Backend systems
- Automation engines
- Developer tooling
Youβll feel at home here.
See CONTRIBUTING.md for details.
Apache License 2.0
Not a prompt playground. > A real AI execution engine.
