Whatsup
A WhatsApp customer-service platform for small teams — a shared inbox across agents with an optional AI auto-responder, SLA alerts, per-agent analytics, and a webhook/API layer.
- Shared inbox + AI
- agents and a bot on one number
- SLA alerts
- know when a customer waits too long
- API + webhooks
- plugs into a wider stack
The problem
A growing business doing customer service over WhatsApp needs more than a shared phone — it needs a real help desk: multiple agents, an AI that can handle the easy questions, and some way to know whether customers are being answered fast enough. Whatsup grew from a simple WhatsApp client into exactly that.
What it does
It connects a business WhatsApp number and shares the inbox across a team, with organisations, roles and per-number access controlling who can use which line. An optional AI auto-responder — backed by a knowledge base — can answer customers and then stand down the moment a human agent steps in, so automation helps without hijacking the conversation.
Around that sit the things a support operation actually needs: alerts when a customer has been waiting too long, first-response and SLA tracking, per-agent daily stats, signed webhooks with retries, and a rate-limited external API with keys — so other systems can plug in. The WhatsApp connection and the web app run as separate supervised processes, a direct fix for the instability that led to a sister product being built.
Key features
A real shared help desk
Organisations, roles and per-number access turn a WhatsApp line into a multi-agent support desk, so a team handles customer conversations together rather than from one phone.
An AI responder that knows when to step back
An optional AI answers customers from a knowledge base and stands down the instant a human agent joins, so automation covers the easy questions without getting in a person's way.
Wait-time and SLA alerts
It tracks how long customers wait and flags when a response is overdue, so nobody quietly sits unanswered and the team can hold a real service standard.
Per-agent analytics
Daily per-agent stats and first-response tracking give a manager a real picture of how support is performing, not a guess.
Webhooks and an API to plug in
Signed webhooks with retries and a rate-limited API with keys let other systems integrate, so WhatsApp support becomes part of a wider stack rather than a silo.
Where it stands
Live and running. Its WhatsApp engine is a vendored, extended fork of an open-source tool rather than built from scratch, and any full ticketing features live on an unmerged branch.
Under the hood — for the technically-minded
How it's built
Whatsup wraps a Go WhatsApp engine (a vendored, extended fork of an open-source library) behind a Fastify API and a React app, with real-time updates over server-sent events. The data model is a full organisation/team layer — memberships, roles, per-account access — despite the project's own README still framing it as a personal multi-device client; the shipped code is much closer to a team help desk.
The container runs two supervised OS processes — the API and the WhatsApp worker — specifically so a sync crash in the WhatsApp layer can't take the HTTP API down. That two-process fix resolved the exact 502 instability that had once made the WhatsApp layer unreliable under load.
The hard problems
An AI that assists without taking over
The auto-responder answers from a knowledge base but is wired to stand down the moment a human agent becomes active on a conversation — so the AI covers gaps without ever talking over a real agent, which is the difference between helpful automation and an annoying bot.
Stability under a flaky integration
WhatsApp automation is prone to crashing, so the API and the WhatsApp worker run as separate supervised processes — a fix (commit-tracked as the '502 root cause') that kept the app up when the sync layer wobbled.
Honest about built-vs-shipped
A full Zendesk-style ticketing system exists in the codebase but only on an unmerged branch — real code, not a current feature. It's kept out of the product's claimed feature set rather than presented as shipped.
Built with
- Fastify
- Go/whatsmeow
- Prisma
- Postgres
- SSE
Building something in this space?
Work with us →