Exotel WhatsApp

Open Source • Dockerized • Production Ready

Control Exotel WhatsApp APIs with one deployable platform.

Exotel WhatsApp bundles API orchestration, queue workers, webhook ingestion, and a full admin UI into one stack built with Node.js, PostgreSQL, Redis, and Docker.

Unofficial community project. Not affiliated with or endorsed by Exotel.

Express + TypeScript API React + Vite Admin UI Prisma + PostgreSQL BullMQ + Redis

What You Get

Messaging Orchestration

Single and bulk sends, status callbacks, idempotent queueing, and persisted message records.

Template Operations

Create, update, filter, and upload sample media while syncing template metadata to local cache.

Onboarding Flows

Generate Exotel onboarding links and validate onboarding tokens from one authenticated surface.

Admin Console

Credential vault, send test console, template manager, onboarding dashboard, and webhook viewer.

Operability

Health endpoints, Prometheus metrics, structured logs, and worker isolation for asynchronous jobs.

Docker-first

Dev and prod compose files, multi-stage images, Caddy reverse proxy, and reproducible onboarding.

Architecture at a Glance

Runtime Components

[ui] React + Vite
   |
[api] Express + Prisma
   |
[worker] BullMQ Processor
   |
[postgres] State + Audit
[redis] Queue + Rate Limit
            

Quickstart

npm install
npm -w apps/api run prisma:generate
npm -w apps/api run prisma:migrate -- --name init
npm -w apps/api run prisma:seed
docker compose -f docker-compose.dev.yml up --build

Default login after seeding: admin@example.com / changeme.