Repolode
aldinokemal

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

    Download the binary from the latest release page

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