プログラムからWhatsAppを送受信できる WhatsApp API が欲しい——そう考えて公式のWhatsApp Business Platformを調べると、ビジネスアカウントの審査、事前承認が要るテンプレートメッセージ、会話単位の従量課金という壁に当たる。大規模な正規配信ならそれでいいが、「システムの監視アラートを自分のWhatsAppに飛ばしたい」「受信を検知して次の処理につなげたい」といった軽い用途には、手続きもコストも過剰だ。その隙間を埋めるOSSが go-whatsapp-web-multidevice(通称 GOWA) である。

go-whatsapp-web-multidevicealdinokemal/go-whatsapp-web-multidevice)は、WhatsAppをHTTPのREST APIとして叩けるようにするGo製のセルフホスト型サーバーである。自分のWhatsAppアカウントをQRコードでリンクすると、POST /send/messageのようなAPIコールでメッセージを送れ、受信はWebhookで外部へ転送できる。さらにAIエージェント向けのMCPサーバー、複数アカウントの同時運用、カスタマーサポートのChatwoot連携までを1バイナリに束ねている。GitHubスターは約4,300、フォーク1,000超、ライセンスはMIT、最新版はv9.0.0(2026年7月時点・GitHub API実測)。

GOWAのアーキテクチャ。自作アプリ・AIエージェント・n8n・ChatwootがREST/MCP/Webhook経由でGOWAに接続し、GOWAがwhatsmeow経由でWhatsAppと通信する構成図
GOWAの全体像。あなたのアプリ・AIエージェント・n8n・Chatwootは REST / MCP / Webhook でGOWAに接続し、GOWAは内部ライブラリ whatsmeow を通じてWhatsAppと通信する(構成は公式READMEに基づく)
この記事のポイント(30秒でわかるGOWA・2026年7月時点)
  • 正体:WhatsAppをREST APIとして操作できるGo製のセルフホスト型OSS。土台は非公式のWhatsApp Webライブラリwhatsmeow。スター約4,300MIT/最新v9.0.0
  • 何ができる:テキスト・画像・動画・ステッカー・位置情報の送信、受信のWebhook転送グループ操作マルチアカウントMCPサーバーでのAI連携、Chatwoot連携。
  • 何を解決する:公式Business APIの審査・従量課金なしに、社内通知・検証・限定的な自動化データ自社保有のまま実装する。
  • AI角度./whatsapp mcp で約40種のMCPツールを公開。Cursor等のエージェントやWebhook+LLMで「受信→判断→自動応答」を組める。
⚠️ 最初に:これは非公式APIです
GOWAはWhatsApp公式とは無関係の非公式クライアントで、利用はWhatsApp規約に抵触しアカウント凍結(BAN)を招く可能性があります。READMEも公式APIの利用を推奨しています。本記事は社内通知・カスタマーサポート・開発検証といった正当な用途を前提に解説し、迷惑メッセージや無差別な大量送信を推奨するものではありません。導入は自己責任で、規約リスクを理解したうえで判断してください。

この記事はセルフホスト型のDevOps/自動化ツールとしてGOWAを解説します。ノーコードからコードまでの自動化ツール全体像は AI自動化ツール|ノーコードからコードまで2026年版の比較と選び方 にまとめています。

go-whatsapp-web-multidevice(GOWA)とは:セルフホスト型WhatsApp APIの全体像

GOWAが解決するのは、「プログラムからWhatsAppを送受信したいのに、公式の窓口が重すぎる」という現場の摩擦だ。公式のWhatsApp Business Platform(Cloud API)は、Metaの審査を通したビジネスアカウント、事前承認のテンプレートメッセージ、会話単位の従量課金といった仕組みの上に成り立っている。これは大規模なマーケティングや正規のカスタマーサポートには適した設計だが、「社内の在庫アラートを自分のWhatsAppに飛ばしたい」「開発中のシステムから通知が届くか試したい」といった軽い用途には、手続きもコストも過剰になりがちだ。

GOWAはその隙間に、自分のWhatsAppアカウントをそのままAPI化するという選択肢を差し込む。仕組みはシンプルで、GOWAを起動してブラウザでQRコードを表示し、スマホのWhatsAppでスキャンしてリンクする。これはPC版WhatsApp(WhatsApp Web / Desktop)を追加デバイスとして登録するのと同じ「マルチデバイス」の枠組みを使っている。リンクが完了すると、GOWAはあなたのアカウントの代理としてメッセージを送受信できるようになり、その操作をhttp://localhost:3000のREST APIとして公開する。

この「非公式にWhatsApp Webのプロトコルを話す」中核を担っているのが、whatsmeowというGo製ライブラリだ。whatsmeowはWhatsAppのマルチデバイス方式を解析して実装したオープンソースで、GOWAはその上に「使いやすいREST API・Web UI・Webhook・MCP・各種連携」という層をかぶせた製品、と捉えると構造が分かりやすい。GOWAの直近のコミット履歴が「chore: update whatsmeow to latest(whatsmeowを最新へ追従)」でほぼ毎日埋まっているのは、WhatsApp側のプロトコル変更にライブラリごと素早く追随し続けているためである。裏を返せば、この土台が動かなくなればGOWAも動かなくなるという依存関係でもある。

読者にとって「GOWAは結局何なのか」を一言でいえば、あなたのWhatsAppアカウントを、データを自社に置いたままREST APIとMCPで自動化できるようにするセルフホスト型のゲートウェイだ。SaaSの一斉配信サービスや公式APIラッパーが「外部に預ける」形で提供している機能を、サーバーを自分で立てて手元で完結させるのがGOWAの立ち位置になる。

実測で確認したプロジェクトの規模

記事化にあたり、2026年7月23日時点の実データをGitHub APIで確認した。数字は次のとおりだ。

・⭐ GitHubスター:約 4,300(フォーク約1,040)
・📦 最新リリース:v9.0.0(2026年7月19日公開)/通算 100以上 のリリース
・🗓️ 初コミット:2022年2月(4年以上の継続プロジェクト)
・👤 コントリビュータ:作者の aldinokemal氏に集中(本人の貢献が約500件、次点は数件)=実質的なバス係数1
・🔄 メンテ活性度:土台の whatsmeowをほぼ毎日追従更新(直近コミットが連日「update whatsmeow」)
・⚖️ ライセンス:MIT(商用利用・改変・再配布に寛容)

つまりGOWAは、「単独メンテだが4年もの・高頻度更新・多数リリース」という、個人OSSとしては活性度の高い部類に入る。スターの伸びと機能の増え方(v6でREST/MCPモード分離、v8でマルチデバイス、v9でUI分離)を見ても、単なる実験ではなく実運用を意識した進化を続けている。一方で、開発の中枢が1人に集中している事実は、基幹業務に据える際のリスクとして後半で改めて扱う。

WhatsApp APIで何ができるのか:送信・受信Webhook・グループ操作・マルチアカウント

GOWAが公開するREST APIは、WhatsAppの主要操作をほぼ網羅している。機能は大きく「送る」「受け取る」「管理する」の3系統に分けて捉えると見通しがよい。

① 送る(メッセージ送信)/send/message(テキスト)を起点に、/send/image(画像)、/send/video(動画)、/send/audio(音声・ボイスノート)、/send/file(ファイル)、/send/sticker(ステッカー/画像を自動でWebP化)、/send/contact(連絡先カード)、/send/link(リンク)、/send/location(位置情報)、/send/poll(投票)といった多彩な送信エンドポイントが用意されている。画像・動画は送信前に自動圧縮でき、送信済みメッセージの編集(/message/:id/update)・取り消し(revoke)・リアクション付与・既読化・スター付けまでAPIで操作できる。

② 受け取る(Webhook)。GOWAの真価は送信だけでなく受信にもある。--webhookでURLを指定すると、受信メッセージや各種イベントがそのURLへPOSTで転送される。転送されるイベントはmessage(テキスト・メディア・連絡先・位置)だけでなく、message.reaction(リアクション)、message.ack(配信・既読)、group.participants(グループの参加/離脱/昇格)、call.offer(着信)など多岐にわたる。--webhook-eventsで必要なイベントだけに絞り込め、--webhook-ignore-jidsで特定のチャットや送信者(例:全グループ)を除外できる。WebhookにはHMAC署名(SHA256)が付くため、受信側で正当性を検証できる仕組みも備わっている。

③ 管理する(グループ・チャット・デバイス)。グループの作成・参加・退出、参加者の追加/削除/昇格/降格、招待リンクの取得・リセット、参加リクエストの承認/却下、グループ名・説明・アイコンの変更まで、グループ運用に必要な操作がAPI化されている。チャット一覧の取得、メッセージ履歴の取得、ピン留め、アーカイブ、消えるメッセージ設定なども可能だ。

そしてマルチアカウント(v8以降)。1つのGOWAインスタンスで複数のWhatsAppアカウントを同時に接続・管理できる。デバイスごとにX-Device-Idヘッダordevice_idクエリでスコープを切り替え、Webhookもデバイス単位で個別URLを設定できる。v9ではWebダッシュボード(gowa-ui)が別リポジトリに分離され、サーバー本体は純粋なAPIバックエンドになった。gowa-uiは起動時に最新版をダウンロードしてsha256を検証・キャッシュする方式で、サプライチェーンを気にする運用者はAPP_UI_ASSET_SHA256で特定ビルドを固定したり、オフライン環境向けに自動更新を切ったりできる。

GOWAの機能マップ。送信系・受信Webhook・グループ管理・マルチアカウント・MCP・Chatwootの6カテゴリと主要エンドポイントを一覧化した図
GOWAの機能マップ。送信・受信・管理の3系統に、マルチアカウント・MCP・Chatwoot連携が加わる(分類は公式READMEのAPI一覧に基づく)

これらの主要機能に加えて、GOWAは運用の細部を制御するフラグを数多く備えている。接続時のプレゼンス(--presence-on-connect)は、unavailableにすればスマホ側の通知を維持したままボット的にオンライン化せずに使える。日次のプレゼンスパルス(一定間隔で短時間だけオンラインにする)、着信の自動拒否(--auto-reject-call)、受信の自動既読化(--auto-mark-read)、デバイス名の変更(--osでWhatsAppの「リンク済みデバイス」に表示される名前を差し替え)、送信メディアの自動圧縮、outbound通信のプロキシ経由(WHATSAPP_PROXY)まで、実運用で効いてくる調整が一通り揃う。派手ではないが、こうした「人間の使い方に寄せる」制御が用意されている点は、非公式クライアントを長く安定して動かすうえで地味に重要だ。

送信と受信がどう流れるかを、テキスト送信と受信Webhookの2経路でシーケンスにすると次のようになる。

sequenceDiagram participant App as あなたのアプリ participant GOWA as GOWA (REST/Webhook) participant WM as whatsmeow participant WA as WhatsApp App->>GOWA: POST /send/message
(phone, message) GOWA->>WM: メッセージ送信要求 WM->>WA: 暗号化して送信 WA-->>WM: 配信ack WM-->>GOWA: 送信結果 GOWA-->>App: 200 OK (message_id) Note over WA,GOWA: 相手から返信が届くと… WA->>WM: 受信イベント WM->>GOWA: メッセージ受信 GOWA->>App: Webhook POST
(event=message, HMAC署名)

この「送信はREST、受信はWebhook」という双方向の非対称な形が、GOWAで自動化を組む際の基本パターンになる。送信は同期的にAPIを叩き、受信は自分のエンドポイントで待ち受ける、と分けて設計する。

公式WhatsApp Business APIやBaileysとの違い:使い分けの判断軸

WhatsAppをプログラムから扱う手段はGOWAだけではない。ここでは代表的な3つの立場——Meta公式のWhatsApp Business Platform(Cloud API)GOWA、そしてNode.js界隈で定番の非公式ライブラリ Baileys / whatsapp-web.js——を、優劣ではなく「性格の違い」として並べる。どれを選ぶかは、規約順守・コスト・実装の手軽さ・運用の安定性のどれをどれだけ重視するかで決まる。

観点 公式 WhatsApp Business Platform GOWA(go-whatsapp-web-multidevice) Baileys / whatsapp-web.js
公式/非公式 ✅ Meta公式 ⚠️ 非公式(whatsmeowベース) ⚠️ 非公式
規約・BANリスク 規約準拠・原則安全 規約抵触の可能性・BANリスクあり 同左(非公式共通)
料金 有料(会話課金・審査あり) ソフト無料(インフラ費のみ) ソフト無料
導入の手間 審査・番号登録・テンプレ承認 QRリンクのみで即開始 ライブラリ実装が必要
提供形態 マネージドAPI セルフホスト(Docker/バイナリ) ライブラリ(自前で実装)
インターフェース REST(テンプレ中心) REST+Webhook+MCP+Web UI コード(Node.js)
AIエージェント連携 自前実装 ✅ MCPサーバー内蔵 自前実装
言語/実行 言語非依存 Goバイナリ1つで完結 Node.js環境が必要
向いている用途 本番の顧客連絡・大規模配信 社内通知・検証・限定自動化 JS製アプリへの組み込み

この表で強調したいのは、「非公式が公式より優れている」という話ではないという点だ。GOWAのREADME自身も冒頭で「Please use official WhatsApp API to avoid any issues(問題を避けるには公式APIを使ってください)」と述べている。本番運用で顧客に正規のメッセージを送る、大量配信する、といった要件では、規約準拠でSLAのある公式Business Platformが第一候補になる。

GOWA(および同種の非公式ライブラリ)が輝くのは、「公式を通すほどではないが、コードからWhatsAppを触りたい」という領域だ。たとえば自分のサーバー監視アラートを自分のWhatsAppに送る、開発中のプロダクトで通知フローを試作する、少人数のチーム内連絡を自動化する、といった使い方である。GOWAとBaileysの違いは実装スタイルにあり、Baileysは「Node.jsのコードに組み込むライブラリ」、GOWAは「立てるだけでREST APIになるサーバー」だ。言語を問わずHTTPで叩きたい、Goの単一バイナリで完結させたい、MCPでAIから使いたい、という場合はGOWAが噛み合う。

Dockerでの導入手順:WhatsApp APIサーバーを立ててメッセージを送る

GOWAの導入は、Dockerを使えば驚くほど短い。ここでは最短経路を追う。なお本記事は公式README・ドキュメントを一次ソースとした解説で、コマンドは公式手順に準拠している(各自の環境での動作は自己責任で確認してほしい)。

まず、Docker Hubの公式イメージでREST APIサーバーを起動する。永続化のためにボリュームを割り当てておくと、再起動してもWhatsAppのリンク(セッション)が保たれる。

# GOWA を REST API モードで起動(Docker Hub イメージ)
docker run --detach \
  --publish 3000:3000 \
  --name whatsapp \
  --restart always \
  --volume $(docker volume create --name=whatsapp):/app/storages \
  aldinokemal2104/go-whatsapp-web-multidevice \
  rest --basic-auth=admin:changeme

起動したらhttp://localhost:3000をブラウザで開く。Basic認証(上の例ではadmin:changeme)を入れると管理UIが表示され、ログイン用のQRコードが出る。これをスマホのWhatsApp(設定→リンク済みデバイス→デバイスをリンク)でスキャンすると、GOWAがあなたのアカウントにリンクされる。QRの代わりに電話番号でペアリングコードを発行する方式(/app/login-with-code)も選べる。

リンクが済んだら、実際にメッセージを送ってみる。REST APIを直接叩く場合はこうだ(送信先は国番号付きの電話番号)。

# テキストメッセージを送信(Basic認証つき)
curl -X POST http://localhost:3000/send/message \
  -u admin:changeme \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "628123456789",
    "message": "GOWAからの自動送信テストです"
  }'

正常ならmessage_idを含むJSONが返り、送信先のWhatsAppにメッセージが届く。あとはこのcurlを、あなたの言語のHTTPクライアントに置き換えるだけだ。PythonのrequestsでもGoのnet/httpでも、JSONをPOSTできれば言語は問わない。画像を送るなら/send/image、ファイルなら/send/fileと、エンドポイントを変えるだけで送信種別を切り替えられ、既存システムへの組み込みも最小限のコードで済む。

本番寄りに固めるなら、docker-compose.ymlで環境変数を使って設定を外出しし、WHATSAPP_WEBHOOK(受信転送先)やWHATSAPP_WEBHOOK_SECRET(署名鍵)、--autoreply(自動応答文)などを宣言的に管理するとよい。設定はコマンドラインフラグ→環境変数→.envの優先順で解決される。ARM対応のイメージも提供されているため、Raspberry Piのような小型機で常時稼働させる構成も現実的だ(CGO非依存のpuregoビルドを使えばクロスコンパイルも容易)。

GOWA導入の3ステップ。Dockerで起動、QRコードでWhatsAppをリンク、REST APIでメッセージ送信という流れを示した図
導入の最短経路。①Dockerで起動 → ②QRでアカウントをリンク → ③REST APIで送信、の3ステップで最初の1通が飛ぶ

AIエージェント連携:MCPサーバーとWebhook自動応答

GOWAがこのサイトの読者にとって面白いのは、AIエージェントからWhatsAppを操作できる設計を最初から持っている点だ。GOWAはREST APIサーバーとしてだけでなく、MCP(Model Context Protocol)サーバーとしても起動できる。MCPは、AIエージェントが外部ツールを標準化された方法で呼び出すためのプロトコルで、GOWAはこれを話せる。

起動はrestの代わりにmcpサブコマンドを使うだけだ。既定ではポート8080でSSE(Server-Sent Events)エンドポイントを開く。CursorのようなMCP対応クライアントには、次の設定を追加すると接続できる。

{
  "mcpServers": {
    "whatsapp": {
      "url": "http://localhost:8080/sse"
    }
  }
}

接続すると、AIエージェントは約40種類のMCPツールをWhatsApp操作のために呼び出せるようになる。内訳は、接続管理(whatsapp_login_qrwhatsapp_connection_status等)、メッセージ送信(whatsapp_send_textwhatsapp_send_imagewhatsapp_send_poll等)、チャット・連絡先の取得(whatsapp_list_chatswhatsapp_get_chat_messages等)、グループ管理(whatsapp_group_createwhatsapp_group_manage_participants等)と、REST APIの機能をほぼそのままツール化したものだ。これにより「このチャットの直近のやり取りを要約して」「この相手にお礼のメッセージを送っておいて」といった自然言語の指示を、エージェントがツール呼び出しに変換して実行できる。

もう一方の連携経路が、Webhook+LLMによる自動応答だ。GOWAは受信メッセージをWebhookで外部に転送できるので、その受け口にLLMを絡めれば「受信→内容をLLMで判断→適切な返信をREST APIで送る」というループ、いわば LLM で応答する WhatsApp bot が作れる。単純なキーワード自動応答(GOWA組み込みの--autoreply)から、文脈を理解して返す本格的な会話ボットまで、必要な賢さに応じて段階的に構築できるのが利点だ。ノーコードで組むなら、GOWAは公式のn8nコミュニティノード@aldinokemal2104/n8n-nodes-gowa)を提供しており、n8nのワークフロー上でGOWAの送受信ノードとAIノードを線でつなぐだけで自動応答フローを構築できる。ワークフロー自動化の全体像は n8n の始め方・使い方ガイド が詳しい。

GOWAのAI連携。MCPサーバー経由でエージェントがツールを呼ぶ経路と、Webhookで受信をLLMに渡して自動応答する経路の2つを示した図
2つのAI連携経路。左=MCPでエージェントが直接WhatsAppツールを呼ぶ/右=Webhookで受信をLLMに渡し、判断結果をREST APIで返信する

ここで実務上の重要な制約を1つ。READMEに明記されているとおり、GOWAはMCPモードとRESTモードを同時に起動できない(whatsmeowライブラリの制約)。つまり「MCPでAIから操作しつつ、同じインスタンスでREST APIも公開する」ことは現状できない。AI連携(MCP)と外部システム連携(REST/Webhook)の両方が必要な場合は、用途に応じてどちらのモードで運用するかを設計段階で決める必要がある。将来的に独立したMCPを提供する計画があるとREADMEには記されているが、現時点では「二者択一」である点を押さえておきたい。

業務での使いどころ:社内通知・カスタマーサポート(Chatwoot)・ワークフロー自動化

GOWAを「何に使うか」を、正当な用途に絞って具体化しておく。無差別な広告配信やスパムは規約違反かつBANの直行便であり、ここでは扱わない。現実的で健全な使いどころは、おおむね次の3つに集約される。

① 社内・システム通知。最も摩擦が少なく、恩恵が大きいのがこれだ。サーバー監視のアラート、CI/CDの成否、在庫やKPIのしきい値超え、バッチ処理の完了通知などを、既存の監視・自動化パイプラインからGOWAの/send/messageに流すだけで、担当者のWhatsAppに届く。メールやSlackを見ない現場でも、WhatsAppなら見てもらえる——という地域・チームでは実利が大きい。セルフホスト型の監視・運用ツールと組み合わせる発想は、Checkmateによるセルフホスト稼働監視 のような監視OSSの通知先としてGOWAを据える構成に自然につながる。

② カスタマーサポート(Chatwoot連携)。GOWAはChatwoot(オープンソースのカスタマーサポート基盤)との連携を組み込みで持つ。CHATWOOT_ENABLED=trueと接続情報を設定すると、WhatsAppで届いた顧客メッセージがChatwootのinboxに流れ込み、サポート担当がChatwootの画面から返信すると、その返信がWhatsAppへ送り返される。会話の再オープン、エージェント署名、編集・削除のミラーリング、履歴インポートまで細かく制御でき、「WhatsAppを窓口にしたヘルプデスク」を自社インフラ上で構築できる。顧客との会話データを第三者SaaSに預けたくない組織にとって、これはセルフホストの明確な利点になる。

③ ワークフロー自動化(n8n等)。前章で触れたn8nノードを使えば、「特定のキーワードを含むメッセージを受けたら担当者にエスカレーション」「フォーム送信をトリガーにWhatsAppで確認メッセージを送る」といった業務フローをノーコードで組める。GOWAを送受信の口として、既存の自動化基盤に差し込むイメージだ。同種のセルフホスト志向のインフラOSSとしては、Openshipのセルフホスト型デプロイ基盤 のように「SaaSに預けず自前で回す」思想を共有するツール群と相性がよい。

GOWAの3つの正当な用途。システム通知・Chatwootカスタマーサポート・n8nワークフロー自動化を並べた図
健全な使いどころの3類型。①システム/社内通知、②Chatwootでのカスタマーサポート、③n8n等でのワークフロー自動化

いずれの用途でも共通するのは、「自分たちのアカウント・自分たちのデータ・自分たちのサーバー」で完結するという性格だ。これは、アクセス解析を自前で持つ Plausibleのプライバシー重視セルフホスト解析 などと同じ「データを第三者に預けない」思想の延長にある。逆にいえば、他人のアカウントや同意なき相手への一方的な送信は、この健全な範囲を外れる。使いどころを設計する時点で、その線引きを明確に持っておくことが、技術的にもコンプライアンス的にも重要になる。

導入前に押さえる注意点:非公式APIのBAN・規約リスクと運用チェックリスト

GOWAは強力だが、導入前に理解しておくべきリスクが確実に存在する。ここは字数稼ぎではなく、実運用の可否を分ける本質的な部分だ。

① 非公式ゆえの規約・BANリスク(最重要)。繰り返しになるが、GOWAは非公式クライアントであり、利用はWhatsAppの利用規約に抵触する可能性がある。WhatsAppは自動化・非公式クライアントの検知に対してアカウント制限やBANで対応することがあり、リンクしたアカウントが凍結される可能性はゼロではない。とくに、短時間の大量送信、面識のない相手への一斉送信、明らかな自動化パターンはリスクを跳ね上げる。捨てても困らない検証用番号から始める、送信頻度を人間的な範囲に保つ、といった慎重さが求められる。本番の重要アカウントをいきなりリンクするのは避けたい。

② セッションの脆さと永続化。QRリンクで確立したセッションは、WhatsApp側の都合やプロトコル変更で切れることがある。切れれば再度QRスキャンが必要になり、その間は送受信が止まる。永続化をDB_URI(SQLiteファイルやPostgreSQL)で正しく設定し、Dockerボリュームでセッションを保持することは最低条件だ。READMEも、本番ではインメモリ保存を避けるよう明記している。

③ 単独メンテ(バス係数1)とSLA不在。前述のとおり、GOWAは実質1人のメンテナに支えられている。活性度は高いが、作者の事情で更新が止まれば、WhatsApp側の変更に追随できず動かなくなるリスクがある。当然ながらSLAも保証もない。基幹業務に組み込むなら、「公式Business Platformへ切り替えられる余地」を設計に残す(送信処理を抽象化しておく等)のが賢明だ。

④ セキュリティ設定。GOWAはあなたのWhatsAppアカウントを操作できる強力なAPIだ。公開する場合は必ずBasic認証(--basic-auth)を有効にし、可能ならリバースプロキシでTLS終端し、信頼できるネットワークからのみアクセスできるよう制限する。Webhookは--webhook-secretでHMAC署名を検証する。なお--webhook-insecure-skip-verify(TLS検証スキップ)はREADMEも警告するとおり開発・内部ネットワーク限定の設定で、本番では正規の証明書を使うべきだ。

導入判断のためのチェックリストを置いておく。

・□ 送信先・送信頻度は「健全な範囲」か(無差別・大量送信でないか)
・□ まずは検証用の番号でリンクし、いきなり重要アカウントを使っていないか
・□ セッション永続化(DB_URI+Dockerボリューム)を設定したか
・□ APIにBasic認証・TLS・アクセス制限をかけたか
・□ Webhookの署名検証(--webhook-secret)を有効にしたか
・□ 単独メンテ・SLA不在を理解し、公式APIへの退避経路を設計に残したか
・□ 業務利用の場合、WhatsApp規約と自社コンプライアンスに照らして問題ないか確認したか

これらを踏まえたうえで、「規約リスクを自己責任で引き受けられる、社内・検証・限定的な自動化」の範囲でなら、GOWAは公式APIの重さを回避しつつWhatsApp自動化を素早く立ち上げられる、費用対効果の高い選択肢になる。逆に、規約準拠と安定性が絶対条件の本番顧客対応では、公式のWhatsApp Business Platformを選ぶ——この線引きこそが、GOWAを安全に使うための最初の設計判断だ。

参照ソース

aldinokemal/go-whatsapp-web-multidevice — GitHub公式リポジトリ・README(機能一覧・API仕様・設定・「非公式」注意書きの一次ソース。スター/リリース等は2026年7月23日にGitHub APIで確認)
tulir/whatsmeow — GOWAが依存するWhatsApp Webライブラリ(マルチデバイスプロトコル実装の土台。グループ取得の500件上限などの制約の出所)
Chatwoot — オープンソースのカスタマーサポート基盤(GOWAが連携するサポートプラットフォーム)
WhatsApp Business Platform(Cloud API)公式ドキュメント(比較対象となるMeta公式のWhatsApp API)