Skip to content

The WhatsApp Automation Agent combines AI language models, web automation, and a robust dashboard to create a flexible automation platform for WhatsApp interactions.

Notifications You must be signed in to change notification settings

DouglasVolcato/whatsapp-automation-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 WhatsApp Automation Agent

Automate WhatsApp workflows using an LLM-powered agent that understands your domain and business needs.

GitHub repo Node.js Postgres License


📦 Project Overview

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

Login Dashboard Session Manage Users
LLM Chat Metrics Collection API Documentation (Swagger)

🧩 Architecture Diagrams

Application Architecture Database Design

⚙️ Project Structure

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

🚀 Technologies & Tools

🖥 Backend

  • Node.js & TypeScript: main runtime and language
  • dotenv: environment config
  • node-cron: task scheduling

🔐 Cryptography & Auth

  • bcryptjs: password hashing
  • jsonwebtoken: token-based authentication

🛡️ Security

  • helmet: security headers
  • express-rate-limit: rate limiting

🧾 Documentation

  • Swagger: API documentation
  • Draw.io: architecture diagrams

🗄 Database

  • Postgres: relational database
  • SQL optimization: performance tuning

📊 Observability

  • Prometheus: metrics collection & monitoring

🤖 WhatsApp Automation

  • puppeteer: headless browser control
  • whatsapp-web.js: WhatsApp web automation

🧠 LLM Integration

  • LangChain: tool orchestration
  • Ollama, ChatGPT: language models
  • zod: validation & tool format definition

🌐 Frontend

  • 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

📦 Installation

# 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.


Author

About

The WhatsApp Automation Agent combines AI language models, web automation, and a robust dashboard to create a flexible automation platform for WhatsApp interactions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published