Automate WhatsApp workflows using an LLM-powered agent that understands your domain and business needs.
The WhatsApp Automation Agent combines AI language models, web automation, and a robust dashboard to create a flexible automation platform for WhatsApp interactions.
Features:
- Automate conversations and workflows
- Manage users and sessions via a secure admin dashboard
- Observe system metrics and performance
- Integrate LLM agents and tools tailored to your domain
- 🧭 Table of Contents
- 📸 App Screenshots
- 🧩 Architecture Diagrams
- ⚙️ Project Structure
- 🚀 Technologies & Tools
- 📦 Installation
- 📄 License
Login | Dashboard Session | Manage Users |
---|---|---|
![]() |
![]() |
![]() |
LLM Chat | Metrics Collection | API Documentation (Swagger) |
---|---|---|
![]() |
![]() |
![]() |
Application Architecture | Database Design |
---|---|
![]() |
![]() |
docker-compose.yml
.env.example
app
├─ db # SQL migrations
├─ dist # Compiled backend
├─ logs # Logs
├─ src
│ ├─ domain
│ │ ├─ abstract
│ │ ├─ controllers
│ │ ├─ middlewares
│ │ ├─ usecases
│ │ └─ utils
│ ├─ ia
│ │ ├─ abstract
│ │ ├─ agents
│ │ └─ tools
│ ├─ infra
│ │ ├─ database
│ │ └─ repositories
│ └─ main
│ ├─ abstract
│ ├─ factories
│ ├─ routes
│ ├─ utils
│ └─ index.ts
├─ public
│ ├─ views # EJS templates
│ ├─ files # Static files
│ └─ client # React frontend
│ ├─ dist
│ ├─ public
│ └─ src
│ ├─ app
│ ├─ components
│ ├─ config
│ ├─ contexts
│ ├─ decorators
│ ├─ enums
│ ├─ hooks
│ ├─ stores
│ └─ utils
│ └─ main.tsx
- Node.js & TypeScript: main runtime and language
- dotenv: environment config
- node-cron: task scheduling
- bcryptjs: password hashing
- jsonwebtoken: token-based authentication
- helmet: security headers
- express-rate-limit: rate limiting
- Swagger: API documentation
- Draw.io: architecture diagrams
- Postgres: relational database
- SQL optimization: performance tuning
- Prometheus: metrics collection & monitoring
- puppeteer: headless browser control
- whatsapp-web.js: WhatsApp web automation
- LangChain: tool orchestration
- Ollama, ChatGPT: language models
- zod: validation & tool format definition
- React: SPA dashboard
- PrimeReact, PrimeIcons, PrimeFlex: UI toolkit
- Chart.js: data visualization
- Zustand: state management
- Axios: API communication
- EJS: server-rendered templates
- Static files: public content
# Clone the repository
git clone https://github.com/DouglasVolcato/whatsapp-automation-agent.git
cd whatsapp-automation-agent
# Copy environment variables template
cp .env.example .env
# Build & run using Docker
docker compose up --build
# Access
# - Server: http://localhost:PORT
# - Client: http://localhost:PORT/client
# - Docs: http://localhost:PORT/docs
🧪 Note: Ensure Docker & Docker Compose are installed.
- Douglas Volcato: GitHub