A lightweight personal AI assistant written in Go that runs on low-cost hardware and connects to many LLM providers and chat apps.
aldinokemal/go-whatsapp-web-multidevice
GoWA is a self-hosted WhatsApp REST API written in Go, supporting multiple accounts, webhooks, MCP, and Chatwoot integration.
Open-source alternative to:Twilio
- Stars
- 4,942
- Forks
- 1,199
- Open issues
- 47
- Last commit
- 13 hours ago
What is it?
GoWA wraps WhatsApp Web's multi-device protocol in an HTTP REST API, so developers can send messages, manage groups, and receive events from WhatsApp accounts through ordinary HTTP calls. It runs as a single server that can connect and manage multiple WhatsApp accounts at once, with device-scoped endpoints selected by an X-Device-Id header or device_id parameter.
Outbound features include text, media, stickers, polls, scheduled sends with recurrence, and ghost mentions. Inbound events are delivered to webhook URLs with HMAC-SHA-256 signatures, and can be filtered by event type or by chat and sender JID. The server also exposes an MCP endpoint at /mcp so AI agents can call WhatsApp actions, and it includes an optional Chatwoot integration for routing conversations to a support inbox.
The project is written in Go and ships as binaries, Docker images, and an n8n community node. It requires FFmpeg and libwebp for media processing, and supports Linux, macOS, and Windows (WSL recommended), with a pure-Go build option for ARM boards such as Raspberry Pi.
Key features
- 01Send text, media, stickers, polls, and other WhatsApp messages through an HTTP API.
- 02Manage multiple WhatsApp accounts in one server, scoped per device.
- 03Forward incoming events to webhooks with HMAC-SHA-256 signatures and event or JID filtering.
- 04Schedule messages once or on a daily, weekly, or monthly repeat.
- 05Expose WhatsApp actions to AI agents through an MCP endpoint.
- 06Integrate with Chatwoot to route conversations to a support inbox.
Use cases
- Building chatbots or customer notification flows on top of a WhatsApp account.
- Connecting WhatsApp to automation tools such as n8n through its REST API or community node.
- Giving AI agents the ability to read chats and send messages via MCP.
- Running a self-hosted WhatsApp gateway for a small team that needs several accounts.
Quick start
- 1
Download the binary from the latest release page
- 2
Start the REST API and MCP server
./whatsapp rest
Things to know
- The web dashboard is downloaded at startup from a separate repository, so air-gapped setups need extra configuration.
- Several major versions changed how the program is launched and configured, so older guides may not work.
Topics
FAQ
- What is go-whatsapp-web-multidevice?
- GoWA is a self-hosted WhatsApp REST API written in Go, supporting multiple accounts, webhooks, MCP, and Chatwoot integration. GoWA wraps WhatsApp Web's multi-device protocol in an HTTP REST API, so developers can send messages, manage groups, and receive events from WhatsApp accounts through ordinary HTTP calls. It runs as a single server that can connect and manage multiple WhatsApp accounts at once, with device-scoped endpoints selected by an X-Device-Id header or device_id parameter.
- Is go-whatsapp-web-multidevice free to use? What license does it have?
- go-whatsapp-web-multidevice is open source under the MIT license. Check the license terms before using it in commercial products.
- Is go-whatsapp-web-multidevice still maintained?
- Actively maintained. The last commit to go-whatsapp-web-multidevice was on Oct 21, 2026.
- What can I use go-whatsapp-web-multidevice for?
- Building chatbots or customer notification flows on top of a WhatsApp account. Connecting WhatsApp to automation tools such as n8n through its REST API or community node. Giving AI agents the ability to read chats and send messages via MCP. Running a self-hosted WhatsApp gateway for a small team that needs several accounts.
- How do I install go-whatsapp-web-multidevice?
- Download the binary from the latest release page Start the REST API and MCP server: ./whatsapp rest
- Where can I get go-whatsapp-web-multidevice?
- The source code and installation instructions are on GitHub: https://github.com/aldinokemal/go-whatsapp-web-multidevice
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hostable personal AI assistant as a single Go binary, combining LLM chat, RAG knowledge bases, and agent loops for browsing, shell, and MCP tools.
A self-hostable AI agent platform that runs locally on CPU or GPU, with a no-code Web UI and an OpenAI Responses-compatible API.
SDK monorepo for Ethora, a chat and messaging platform with React, React Native, Android, iOS and WordPress SDKs plus AI bot and MCP tooling.
A Clean Architecture project template for Go services, showing how to structure code across REST, gRPC, AMQP RPC and NATS RPC transports.
LobeHub is a platform for organizing AI agents into always-on teams that can be hired, scheduled, and reviewed from one place.