「LINE公式アカウントの管理画面の機能だけでは足りない」「問い合わせ対応をチームで分担したい」「友だちデータや配信効果をCLIから直接見たい」——LINE OAの運用が本格化すると、必ずこの壁に当たります。
この記事では、Cloudflare WorkerとLINE Messaging APIで、自社で完全にコントロールできるLINE公式アカウント運用基盤を構築する方法を解説します。自動応答・シナリオ配信・ブロードキャストの使い分けから、Slackとの双方向ブリッジ、AIエージェント(Claude Codeなど)からのKPI確認まで、運用の全体像とつまずきポイントをまとめます。内容は、当スクールが法人研修・オンラインコースで実際に使っている教材(Module 23)をベースにしています。
この記事でわかること
- なぜ「自社管理のLINE OA基盤」なのか
- セットアップの全体像(5ステップ)
- 最大の罠 — 既存友だちの取り込み(auto-registerパターン)
- 自動応答・シナリオ・ブロードキャストの使い分け
- リッチメニューとFlexメッセージの実装ポイント
- Slack双方向ブリッジで問い合わせ対応をチーム化する
- CLI・AIエージェントからKPIを確認する
なぜ「自社管理のLINE OA基盤」なのか
自社管理のLINE OA運用基盤とは、LINEの公式管理画面に頼らず、Cloudflare Worker(サーバーレス実行環境)とLINE Messaging APIで、配信・応答・友だち管理を自前のコードとデータベースで制御する構成のことです。
公式管理画面でも基本的な配信はできます。それでも自社基盤を組む理由は3つあります。
- 機能の自由度 — キーワード自動応答とシナリオ配信を自由に組み合わせ、データ構造も自分で設計できる
- チーム対応 — LINEの問い合わせをSlackにミラーし、チームの誰でも返信できる体制が作れる
- データの可搬性 — 友だち・メッセージログをD1(データベース)に持つため、SQLやAIエージェントで自由に分析できる
「管理画面では足りない」と感じ始めた運用担当者・エンジニアが対象の、一歩進んだ運用スタイルです。
セットアップの全体像(5ステップ)
構築は次の5ステップで進みます。ここでは全体像のみ押さえてください(詳細手順はコース教材で画面ベースに解説しています)。
- Messaging APIチャネルを作成 — LINE Developers ConsoleでProviderを開き、Messaging APIチャネルを新規作成する。「LINEログインチャネル」とは別物で、配信に使うのはMessaging API側です
- Channel SecretとAccess Tokenを控える — 両方をコピーし、
wrangler secret putでWorkerに渡します。Access Tokenは再発行すると旧トークンが即座に無効化されるため、チーム共有時は注意が必要です - Webhook URLを設定してVerify — WorkerのURLを貼り付け、Verifyで疎通確認。Webhookの応答は概ね1秒以内が要求されるため、重い処理はバックグラウンド化します
- Cloudflare Workerをデプロイ — D1(データベース)等のバインディングを設定してデプロイ。シークレットはコードに書かず
wrangler secret putで個別登録します wrangler tailで動作確認 — リアルタイムログを観察しながら、LINEでメッセージを送ってWebhookにイベントが届けば成功です
最大の罠 — 既存友だちの取り込み(auto-register)
LINE OA運用で最もハマりやすい罠が、移行直後にメッセージが「静かに消える(silent drop)」問題です。
他環境からの移行直後は、「友だちはLINE上には存在するのに、自社DBには存在しない」状態が発生します。このとき、Webhook処理が「DBに友だちがいなければ処理を打ち切る」実装になっていると、既存友だちからのメッセージが誰にも気づかれないまま破棄されます。
根本原因は構造的です。
- LINE Messaging APIは既存フォロワー一覧の一括取得を提供していない
- 新環境では、フォローイベントかメッセージイベントが来ない限り、友だちレコードを作る契機がない
対策がauto-registerパターンです。
- メッセージイベント受信時、DBに友だちがいなければ**その場でプロフィールを取得して登録(upsert)**する
- 自動応答やシナリオの実行は、友だち登録の後に行う
これで「メッセージが届いた人から順に」DBへ取り込まれます。やってはいけないのは「友だち不在なら即returnする」実装と、「フォローイベントの中でしか友だちを作らない」実装の2つです。

自動応答・シナリオ・ブロードキャストの使い分け
配信機能は似て非なる3つを正しく使い分けます。発火タイミング・コスト・用途が異なります。
| 種類 | 発火 | コスト | 用途 |
|---|---|---|---|
| 自動応答(auto_reply) | メッセージ受信+キーワードマッチ | 無料(reply APIは配信数に含まれない) | FAQ・クーポン再送・リッチメニュー連動 |
| シナリオ(scenario) | 友だち追加などのトリガ+時間差 | push API扱い(月の配信枠を消費) | オンボーディング(即時/24h/3d/7d/14d等) |
| ブロードキャスト(broadcast) | 手動または予約時刻 | push API(人数×メッセージ数) | セール告知・新コンテンツ案内 |
実装上のつまずきポイントも教材から押さえておきます。
- 自動応答は無料だが、**reply tokenの有効期限(30秒)**を超えると失敗する
- シナリオのdelayは分単位。即時送信は0を指定する
- ブロードキャストは下書き(draft)のままだと送信されない。明示的な送信操作が必要
リッチメニューとFlexメッセージの実装ポイント
リッチメニューは、トーク画面下部に常設される導線です。実装は「画像生成 → メタデータ+タップ領域の登録 → 画像アップロード → 全友だちに適用」の4ステップで、APIから動的に設定できます。タップ時の動作を「キーワードメッセージ送信」にして自動応答へ流すと、外部URLなしで完結する設計にできます。なお、新メニューを既定に設定すると旧メニューは自動で外れますが、古いメニュー自体は別途削除が必要です。
**Flexメッセージ(カルーセル)**は、1メッセージで複数のリッチカードを横スクロール表示する形式です。最大の罠は、カルーセル内のバブルでは最大サイズ(giga)が使えないこと。気づかずに指定してレンダリングが壊れるのが頻出パターンです。そのほか、ヒーロー画像のアスペクト比は実画像の比に合わせる、ボタンのラベルは20文字以内、リンクはhttps必須、という制約も押さえておきましょう。
Slack双方向ブリッジ — 問い合わせ対応をチーム化する
LINE OA運用を「担当者ひとりの仕事」から「チームの仕事」に変えるのが、Slackとの双方向ブリッジです。
- LINEで受信したメッセージを、Slackの専用チャンネル(例: #line-inbox)にスレッドとしてミラーする
- Slack側でスレッドに返信すると、その内容がそのままLINEの相手に転送される

実装で最もハマるのは、既存のSlack Appを流用したときにSocket ModeがONだとHTTPイベントを受け付けないことです。専用Appを新規作成するか、Socket ModeをOFFにする必要があります。
もうひとつの重要設計がループ防止です。Slack側のイベントには自分(Bot)の投稿も流れてくるため、次の4条件でフィルタします。
- Botの投稿(bot_idあり)は無視する
- subtypeが付いたメッセージ(参加通知・編集など)は無視する
- スレッドの親メッセージそのものは無視する
- スレッド外のトップレベル投稿は無視し、スレッド返信のみ転送する
CLI・AIエージェントからKPIを確認する
自社基盤の真価は、運用データをCLIやAIエージェントから直接確認できることです。ブラウザの管理画面を開かなくても、友だち数の推移・未返信メッセージ・配信反応をコマンド一発で取得できます。
| 手段 | できること |
|---|---|
| アカウントサマリー(MCPツール) | 友だち数・アクティブシナリオ・直近ブロードキャストを1回で取得 |
wrangler d1 execute | D1データベースへ直接SQL。友だち推移・キーワード集計・配信効果を自由に分析 |
| 会話一覧/詳細(MCPツール) | 未返信会話を経過時間順に取得し、個別の全履歴を読む |
| 友だち一覧(MCPツール) | タグやメタデータで絞り込み。流入元別(X/note/LP)の分析 |
wrangler tail | Webhookイベントのリアルタイム観察。自動応答の発火確認やバグ調査 |

Claude CodeのようなAIエージェントから呼び出せば、「今週の友だち追加数と未返信の問い合わせをまとめて」という自然言語の依頼で運用レポートが返ってきます。つまずきポイントは、wrangler d1 execute に --remote を付けないとローカルDBを見てしまうこと、そして日時集計ではJSTとUTCの混在に注意することです。
メール・Webと組み合わせたマーケティング自動化の全体像は マーケティング自動化の進め方 も参考にしてください。
よくある質問
Q. LINE公式アカウントの管理画面だけではダメなのですか? A. 基本的な配信や応答メッセージは管理画面でも運用できます。自社基盤が効くのは、「キーワード応答とシナリオを自由に組み合わせたい」「問い合わせをSlackでチーム対応したい」「友だちデータをSQLやAIで分析したい」という段階に来たときです。管理画面で足りているうちは、無理に移行する必要はありません。
Q. 構築にはどんな技術が必要ですか? A. Cloudflare Worker(サーバーレス実行環境)、LINE Messaging API、D1などのデータベースが主要構成です。ただしコードの大部分はAIエージェントに書かせることができるため、必要なのは全体構成の理解と、Webhook・シークレット管理などの要所を押さえることです。シークレットはコードに書かず、wrangler secret putで登録します。
Q. 自動応答とシナリオ配信はどう違いますか? A. 自動応答は「メッセージ受信+キーワードマッチ」で即座に返すもので、reply APIを使うため配信数を消費しません。シナリオは「友だち追加などのトリガから時間差で複数ステップ配信」するもので、push API扱いとなり月の配信枠を消費します。FAQは自動応答、オンボーディングはシナリオ、と使い分けます。
Q. 移行時に既存の友だちが反応しなくなるのはなぜですか? A. LINE Messaging APIには既存フォロワーの一括取得がなく、新環境のDBが空のまま始まるためです。「DBに友だちがいなければ処理を打ち切る」実装だと、既存友だちからのメッセージが静かに破棄されます。対策は、メッセージ受信時に友だち未登録ならその場でプロフィール取得して登録するauto-registerパターンの実装です。
Q. 効果測定はどうやりますか? A. 友だち・メッセージログがD1データベースに残るため、SQLで友だち数の推移・キーワード集計・配信効果を直接分析できます。メッセージログのsource列(user/broadcast/scenario/auto_reply/manual)で絞り込むと精緻な分析ができ、AIエージェント経由なら自然言語の依頼でレポート化まで自動化できます。
関連記事
- マーケティング自動化の進め方
- AI秘書とは?Gmail・カレンダー・Drive自動化の実践ガイド
- GAS×AIで業務自動化 — Google Apps Script実践ガイド
- 生成AIとは?法人の業務自動化・AIエージェント活用ガイド
- 法人向けAIエージェント研修(ハンズオン)
最終確認日: 2026-06-10