The Problem
WhatsApp Business platforms typically require either expensive proprietary solutions or fragmented open-source patches that lack unified messaging, chatbot automation, and campaign management. Teams needing WhatsApp integration often face steep API costs, limited automation capabilities, or vendor lock-in with closed platforms.
What This Does
Whatomate is a modern, open-source WhatsApp Business Platform delivering a single binary with embedded frontend. The backend is written in Go using Fastglue (cmd/whatomate/main.go) and the frontend runs Vue.js 3 with shadcn-vue components across 134 files in frontend/. Core capabilities include multi-tenant architecture with role-based access control (Admin, Manager, Agent), WhatsApp Cloud API integration, real-time WebSocket chat, template management, bulk campaigns with retry support, and chatbot automation supporting keyword-based auto-replies, conversation flows with branching logic, and AI-powered responses via OpenAI, Anthropic, or Google. Canned responses with slash commands (/shortcut) and dynamic placeholders are also available, alongside an analytics dashboard for tracking messages and campaign performance.
How To Use It
Setup: Clone the repository and run the production build:
git clone https://github.com/shridarpatil/whatomate.git cd whatomate make build-prod ./whatomate server -migrate
The sample config lives at config.example.toml; copy and edit it before running. Docker is also supported via docker-compose.yml and Dockerfile in the docker/ directory. Default login is admin@admin.com / admin.
Configuration: Edit config.example.toml to set WhatsApp Business API credentials, AI provider keys (OpenAI/Anthropic/Google), database connection details, and multi-tenant organization settings. The Go backend reads this config at startup; the frontend connects to the API endpoint configured in the Go binary.
Running it: Start the server with ./whatomate server (API + 1 worker by default) or ./whatomate worker -workers=4 for scaled worker processes. The API runs on port 8080 by default, and the frontend dev server runs on port 3000 via cd frontend && npm run dev.
Real-World Use
A mid-sized support team can deploy Whatomate to handle WhatsApp customer inquiries without paying per-message fees to Meta's API resellers. The chatbot flow builder (frontend/src/components/chatbot/flow-builder/FlowBuilder.vue) allows non-technical staff to design branching conversation flows visually, while AI-powered responses (frontend/e2e/tests/chatbot/ai-contexts.spec.ts) can handle common queries. Failed campaign messages are retried automatically, and canned responses with slash commands let agents reply quickly with approved templates. The multi-tenant model isolates data per organization, making it suitable for agencies managing multiple client accounts.
Code Health & Issues
Tests & CI: 18 e2e test files exist under frontend/e2e/tests/ and GitHub Actions workflows are configured in .github/workflows/ (test.yml, release.yml, deploy-docs.yml, e2e-tests.yml). CI covers test runs and releases. License: LICENSE present at root. Dependency hygiene: frontend/package.json and docs/package.json are present with package-lock.json files, suggesting npm-based dependency management. Configuration separation: config.example.toml is documented but not committed as config.toml — this is expected for a starter config but should be noted for production onboarding. No obvious structural red flags: Tests, CI, license, and lockfiles are all present where expected.
Med severity — The config.example.toml is checked into the repo without secrets, which is a positive pattern, but teams should ensure actual secrets (WhatsApp API tokens, AI keys) are excluded via .gitignore and injected at runtime.
The Bottom Line
Whatomate delivers a functional, single-binary WhatsApp platform with solid frontend coverage and Go-backed API automation. It's well-suited for teams that need self-hosted WhatsApp capabilities with chatbot flows, campaigns, and multi-tenancy without recurring per-message fees. The Vue.js frontend is mature for a 0-star repo, and the Go backend is straightforward to build and deploy. If your team already uses Vue and Go, the learning curve is low; otherwise, expect a moderate onboarding period to navigate the flow-builder and AI provider configuration.