komeの備忘録

東大院卒外資ITエンジニアの技術ブログ

OpenClaw を LINE と連携する方法|Cloudflare TunnelでWebhookを構築する

はじめに

日本では LINE の利用率が非常に高く、日常的なコミュニケーション手段として広く使われている。

もし OpenClaw の AI エージェントを LINE から直接操作できれば、

  • 手軽に使える
  • 日常的に触れる機会が増える

といったメリットがあり、かなり便利になる。

この記事では、OpenClaw を LINE と連携してチャットできるようにする方法を解説する。

今回のゴール

LINE から OpenClaw のエージェントとチャットできる状態を構築する。

全体構成

今回構築する構成は以下の通り。

LINE
  ↓ Webhook
Cloudflare Tunnel
  ↓
Mac mini (OpenClaw)

用意するもの

大きく分けて以下の3つ

1: セットアップ済みの OpenClaw 環境

まだの人は前回記事を参考にしよう

www.komee.org

なお今回は記事執筆時点で最新版の OpenClaw 2026.03.13 を使用する。

$ openclaw --version
OpenClaw 2026.3.13 (6472949)

2: Webhook URL(Cloudflare Tunnel)

LINE Messaging API からのリクエストを受け取るために必要。

3: LINE Messaging API Channel

LINE 側の Bot(公式アカウント)を作成する。

Mac mini で Webhook URL の作成(Cloudflare Tunnel)

OpenClaw がインストールされた Mac mini をそのままインターネットに公開するのは危険である。

通常は自宅ネットワーク内で閉じて運用しているはずなので、外部から直接アクセスすることはできない。

しかし LINE Messaging API を利用するには、外部から Webhook でアクセスできる必要がある。

そこで今回は Cloudflare Tunnel を使用する。

Cloudflare tunnel

Cloudflare Tunnel は、ローカル環境で動作しているサービスを安全にインターネットへ公開できる仕組み。

developers.cloudflare.com

通常の公開方法(ポート開放)とは異なり、

  • ルーター設定不要
  • グローバルIP不要
  • HTTPS で安全に公開

という特徴がある。


クイックトンネルと永続トンネル

Cloudflare Tunnel には2種類ある。

  • クイックトンネル

    • コマンド一発で起動
    • URL が毎回変わる
    • 検証用途向け
    • 無料でアカウント必要なし
  • 永続トンネル

    • 固定ドメインで公開可能
    • 本番運用向け
    • アカウントが必要で、用途によっては有料

今回は簡単に試すため、クイックトンネルを使用する。

Mac mini には次のコマンドでインストールする。

$ brew install cloudflared

トンネルの起動

OpenClaw のデフォルトポートは 18789。

cloudflared tunnel --url http://localhost:18789

実行すると以下のような URL が発行される。

https://xxxx.trycloudflare.com

この URL が Webhook のエンドポイントとなる。


注意点

クイックトンネルは プロセスが終了すると無効になる。

そのため、

  • ターミナルを開いたままにする
  • tmux / screen を使う

などでプロセスを維持する必要がある。 簡単なのは前者であるので、一旦今回は前者の方法で実行する

$ cloudflared tunnel --url http://localhost:18789
2026-03-17T15:05:11Z INF Thank you for trying Cloudflare Tunnel. Doing so, without a Cloudflare account, is a quick way to experiment and try it out. However, be aware that these account-less Tunnels have no uptime guarantee, are subject to the Cloudflare Online Services Terms of Use (https://www.cloudflare.com/website-terms/), and Cloudflare reserves the right to investigate your use of Tunnels for violations of such terms. If you intend to use Tunnels in production you should use a pre-created named tunnel by following: https://developers.cloudflare.com/cloudflare-one/connections/connect-apps
2026-03-17T15:05:11Z INF Requesting new quick Tunnel on trycloudflare.com...
2026-03-17T15:05:17Z INF +--------------------------------------------------------------------------------------------+
2026-03-17T15:05:17Z INF |  Your quick Tunnel has been created! Visit it at (it may take some time to be reachable):  |
2026-03-17T15:05:17Z INF |  https://xxxx-xxxx-xxxx-xxxx.trycloudflare.com                                 |
2026-03-17T15:05:17Z INF +--------------------------------------------------------------------------------------------+
...

こんな感じで表示される。上記で表示された、https://xxxx-xxxx-xxxx-xxxx.trycloudflare.com が、今回使用する URL となる。

LINE Messaging API のセットアップ方法

まずは LINE 公式アカウントの管理ページにアクセスして、アカウントを作成する。

www.lycbiz.com

アカウント作成後、LINE 公式アカウントの作成を選択。

こんな感じで作成される。

Messaging API の有効化

LINE 公式アカウントのホームに戻り、今作成したチャンネルの設定を変更していく。
右上の設定から、Messaging API をクリックして、Messaging API を利用する を選択。
ウィザードを進めて、Messaging API を有効化する。

有効化後、表示された Channel secret を後で利用するので、保存しておく。
また同じ画面で、Webhook URL に先ほど取得したクイックトンネルの URL を使って次の URL を入力して保存を押す。(xxxxx-xxxx-xxxx-xxxx は実際の値に書き換える)

https://xxxx-xxxx-xxxx-xxxx.trycloudflare.com/line/webhook

応答設定

以下を設定する。

  • あいさつメッセージ: OFF
  • Webhook: ON
  • 応答メッセージ: OFF

トークン取得

先ほどの Messaging API の画面に戻り、最下部のリンク「LINE Developers コンソール」をクリック。

プロバイダから作成した Messaging API をクリック。
Messaging API 設定の最下部に移動。

発行をクリックし、表示されたトークンを保存しておく。

Webhook の検証

Webhook URL の有効性を検証するために、この画面の上部の *Webhook設定** から入力した Webhook URL の検証を実行しておく。正常にレスポンスがあれば、使用可能となる。

これで LINE 側の設定は完了。
次に OpenClaw 側の設定を進めていく。

OpenClaw でのセットアップ方法

1. LINE プラグインを入れる

$ openclaw plugins list

最初は disabled になっている。

$ openclaw plugins enable line

これで有効化され、gateway の restart を要求されるが、まだしない。

2. openclaw.json を編集

設定ファイルを編集し、先に取得したシークレット、トークンを入れていく。

$ vi ~/.openclaw/openclaw.json

以前の手順で discord が有効になっていると思うので、それに続けてこんな感じで記述する。

...
  "channels": {
    "discord": {
      "enabled": true,
      "token": "xxxxxxxxxxxxxxxxxxxx",
      "groupPolicy": "open",
      "streaming": "off"
    },
    "line": {
      "enabled": true,
      "channelAccessToken": "取得したアクセストークン",
      "channelSecret": "取得したシークレット",
      "dmPolicy": "pairing"
    }
  },
...

3. 設定の反映

$ openclaw gateway restart

設定の確認

$ openclaw plugins list

無事 LINE が loaded になっている。

4. 最初のメッセージをしてペアリング

なんでもいいから公式チャンネルにメッセージを送る。

discord 同様ペアリングコードが返ってくるので、これをターミナルで承認する。

$ openclaw pairing approve discord <Pairing Code>

これで承認されたので再度メッセージを送る

無事使えるようになった。

注意点

クイックトンネルはプロセスの再起動で URL が変わるため、Mac mini の再起動や、インターネット断絶、プロセスの意図しない停止などで cloudflared コマンドが停止した場合は、Webhook URL の再設定が必要 になる点に注意しよう。

また今回バージョン 2026.03.13 を使用したが、2026.03.12 のバージョンだと LINE の webhook が正しく動作しないトラブルが報告されている。もし使えない場合は、バージョンの確認をしてみよう。

github.com

まとめ

これで OpenClaw を LINE から操作できるようになった。

日常的に使っている LINE から AI エージェントを呼び出せるため、
かなり実用的な構成になる。

とはいえ再起動で使えなくなるのは痛いので、今後別記事で永続トンネル化もメリットデメリットを考えてチャレンジしていこうと思う。

(C) komee.org