LINE と Slack を連携してメッセージを自動で通知する方法|公式アカウントの手順

LINE 公式アカウントでお客様の問い合わせを受けていると、担当者が LINE の管理画面を見に行くまで気づけないことがあります。この記事では、公式アカウントに届いたメッセージを Slack のチャンネルへ流す手順を説明します。

LINE の仕様は、2026 年 11 月 4 日時点の LINE Developers の公式資料で確認したものです。

結論

  • 対象は LINE 公式アカウントです。Messaging API の Webhook を Samurai App の「外部トリガー」で受けて、ワークフローから「通知先へ送る」で Slack へ送ります
  • 個人の LINE はこの手順では流せません。個人のトークの出来事では、ワークフローを起動できません
  • 文字以外のメッセージと、1 通にまとまった複数のイベントに備えます。スタンプや画像には message.text がなく、そのまま参照するとステップが失敗します

できること・できないこと

公式アカウントと個人の LINE の違い

LINE 公式アカウント 個人の LINE
場所 ワークフローの「トリガー」の「外部トリガー」 「自動実行」の「アプリ内の出来事」の「個人の LINE のトークに発言が届いた」
前提 Messaging API を有効にしたチャネル 管理者の許可(「外部チャット」の「個人の LINE の許可」)と接続
動くもの ワークフロー エージェント(ワークフローは起動できません)
動く時機 Webhook が届いたとき 選んだ 1〜20 のトークで、30 秒発言がないか 5 分続いたとき(最大 50 件)

届く項目

LINE からの 1 回の Webhook は、destination と events の配列でできています。

  • events は 1 件とは限りません。複数のイベントがまとまって届くことも、空のことも(LINE からの疎通確認)あります。先頭だけを読むと 2 件目以降を落とすので、「繰り返す」で 1 件ずつ処理します
  • メッセージ以外のイベントも届きます。友だち追加(follow)などには message がありません
  • メッセージの種類が混ざります。テキスト、画像、動画、音声、ファイル、位置情報、スタンプが同じ形で届きます。message.text があるのはテキストだけです
  • 送信者の名前は届きません。あるのは source.userId だけで、表示名は別の API(GET /v2/bot/profile/{userId})で引くものです。userId も、端末や同意の条件によっては入りません
  • 画像やファイルの中身は Slack に出ません。この手順で送れるのは、message の項目(種類や ID など)までです

届き方

LINE の再送は既定でオフです。公式資料には、同じイベントが重複して届くことや、順番が前後することがあると書かれています。Slack の順番を受信の順番と考えないでください。

外部トリガーの起動は、既定で 1 分に 10 回までです。超えると 429 を返します。一斉配信のあとなど、返信がまとまって届く時間帯は超えることがあります。受信に長く失敗し続けると、LINE が Webhook の送信を止めることがあると公式資料に書かれています。

用意するもの

  • LINE 公式アカウントと、Messaging API を有効にしたチャネル
  • Slack の Incoming Webhook の URL
  • Samurai App のマネージャー以上の権限(外部トリガーを付けるのに必要です)

Messaging API は「LINE Official Account Manager」の「Messaging APIの利用を有効にする」で有効にします。このとき選ぶプロバイダーは後から変えられないので、社内の担当者で揃えてから進めてください。

手順

完成すると、次のようなワークフローになります。

LINE のメッセージを Slack へ送るワークフローの編集画面

1. Slack の通知先を登録する

「設定」の「通知」にある通知先の登録画面

Slack の App 設定で「Incoming Webhooks」をオンにし、「Add New Webhook to Workspace」でチャンネルを選んで URL を発行します。

Samurai App の「設定」の「通知」で、名前とこの URL を登録し、「テスト送信」で届くことを確認します。

2. ワークフローを作る

「ワークフロー」の「作成」から「新規作成」を選びます。

  1. 「ワークフローの入力」の「入力の項目を追加」で、名前 event、種類「項目の組」の項目を作ります
  2. 「繰り返す(一覧の各行)」を置き、「一覧」に {{input.event.events}}、「行の名前」に ev と入れます
  3. その中に「条件分岐」を置き、「条件を追加」で {{ev.message}} に「値がある」を指定します。友だち追加などはここで外れ、何も送りません
  4. 当てはまる側に、もう 1 つ「条件分岐」を置き、{{ev.message.text}} に「値がある」を指定します
  5. 当てはまる側に「通知先へ送る」を置き、本文を次のようにします
LINE 公式アカウントに届きました
{{ev.message.text}}
  1. 当てはまらない側にも「通知先へ送る」を置き、本文を次のようにします
LINE 公式アカウントに文字以外のメッセージが届きました(種類: {{ev.message.type}})

AI のステップは入れないでください。次の手順で LINE に実行の終わりを待ってもらうので、長い処理を入れると応答が遅れます。

チャットで作る場合は、「作成」の「チャットで作る」から次のように頼めます。トリガーはチャットでは付けられないので、手順 3 は画面で行います。

LINE の Webhook を input.event で受けて、input.event.events の各行について、message.text があれば Slack の通知先へ送り、text がなく message があれば「文字以外が届きました」と送るワークフローを作って

3. 公開して、外部トリガーを付ける

ワークフローの「トリガー」タブにある外部トリガーの追加画面

「バージョン」タブの「バージョン N を公開」を押します。

続いて「トリガー」タブの「外部トリガーを追加」を開き、「URL の ?k= でもシークレットを受ける」をオンにして作成します。作成の直後に 1 度だけシークレットが出るので、控えてください。

「署名を検証する」はオフのままにします。 Samurai App の検証は 16 進数の署名を照合する方式で、LINE の署名(Base64)は照合できません。この構成では ?k= のシークレットが守りになります。

4. LINE に Webhook URL を入れる

LINE Developers コンソールの「Messaging API設定」タブの「Webhook URL」に、外部トリガーの URL の末尾に ?k=<シークレット>&wait=result を付けたものを入れます。「Webhookの利用」をオンにします。

&wait=result は省かないでください。 外部トリガーは既定で 202(受け付けた)を返しますが、LINE の公式リファレンスはステータスコード 200 を返すよう求めています。wait=result を付けると、実行の終わりを待って 200 を返します。

1 つのチャネルに設定できる Webhook URL は 1 つだけです。すでに別のシステムや Samurai App の「外部チャット」で使っているチャネルで書き換えると、そちらに届かなくなります。試験用のチャネルで動かしてください。

5. 検証して、メッセージを送る

Webhook URL の下の「検証」を押します。空の events が届き、成功と出れば URL は通っています。

自分の LINE から公式アカウントへ、テキストとスタンプを 1 つずつ送ります。Slack に 2 通届き、ワークフローの「実行」タブの「最近の実行」に「外部から起動」の行が出れば完了です。

動かないとき

  • 「検証」が失敗する:URL の ?k= と &wait=result を確認します。シークレットが違うか、「URL の ?k= でもシークレットを受ける」がオフだと 404、公開していないと 422 です
  • 「最近の実行」に何も出ない:「Messaging API設定」で「Webhook URL」と「Webhookの利用」を確認します
  • スタンプや画像でステップが失敗する:message.text を「条件分岐」なしで参照しています。手順 2 の形にします
  • ev.source.userId を本文に入れるとときどき失敗する:userId は入らない回があります。本文に入れるなら、これも「値がある」で分岐します
  • 別のシステムの LINE 連携が止まった:Webhook URL が 1 つしか持てないことが原因の可能性があります。「Webhook URL」の現在の値を確認し、チャネルを分けることを検討します

よくある質問

自分の個人 LINE に届いたトークを Slack に流せますか

この手順ではできません。個人の LINE は「アプリ内の出来事」のトリガーで、管理者が許可している場合に、エージェントを動かす用途で使います。ワークフローの起動には使えません。

Slack から LINE に返信できますか

この記事の手順は片方向です。LINE の返信に使う reply_token は 1 分以内しか使えないため、人が Slack を見てから返す用途には、userId 宛てのプッシュメッセージが必要になります。

関連する使い方

出典

関連する機能業務ツールとAIの連携 —— MCP接続と外部チャットSamurai App は業務ツールと AI を MCP 接続でつなぎます。会計や人事の SaaS を、チャットからその人の権限で操作できます。Slack や Teams から呼べて、外部の AI からも MCP で使えます。

ほかの自動化の例

Slack の連携と自動化の方法をすべて見る

活用術の記事一覧へ

日々の仕事が集まり、つながり、会社の力になる。

資料請求Samurai App を開く

デモを見る資料請求