Back to tech

n8nでSlackのメッセージを取得する方法

2 min read
Table of Contents

お久しぶりです。

最近はn8nを試しており、その便利さを日々実感しています。 今回は、n8nでSlackのメッセージを取得する方法について解説します。

n8nには標準でSlackノードが用意されており、チャンネルへの投稿やbotへのメンションをトリガーとしてメッセージを取得できます。

しかし、実際に試してみると、設定がうまくいかずに少し苦労しました。 ようやくメッセージの取得に成功したので、その手順をここに記録しておきます。

前提

環境

私が使用している環境は以下の通りです。 mac mini上でn8n、PostgreSQL、cloudflaredを稼働させています。

各ソフトウェアのバージョンは次の通りです。

  • n8n version: 1.101.2
  • postgres version: 17.5 (Debian 17.5-1.pgdg120+1)
  • cloudflared version: 2025.7.0 (built 2025-07-03-1716 UTC)

Slackとn8nの連携

この記事では、以下の準備が完了していることを前提とします。

  • Slackワークスペースにアプリ(bot)が作成済みであること
  • n8nとSlackの連携(OAuth)が完了していること

このbotを利用してメッセージを取得します。

設定手順

この記事では、Slackからメッセージをトリガーで受け取るための設定方法に焦点を当てます。

最終的に、以下のようなSlackトリガーを用いたワークフローを作成することを目指します。

Slackでbotにメンション付きのメッセージを送信すると、n8nのワークフローが起動し、そのメッセージ内容を取得できます。

Slackでのメンション付きメッセージ
n8nで取得したメッセージ

n8nの設定

まず、n8nで新しいワークフローを作成し、SlackのTriggerノードを追加します。

トリガーイベントとして On bot app mention を選択してください。

次に、メンションを受け取りたいチャンネルを設定します。

ここではチャンネルIDで指定しました。

続いて、Credential to connect with の設定です。 Slack APIのサイト( https://api.slack.com/apps/ )にアクセスし、対象アプリの OAuth & Permissions ページに移動します。 ページ内にある Bot User OAuth Token をコピーしてください。

このトークンをn8nの Credential to connect with に設定します。 Connection tested successfully と表示されれば、認証は成功です。

Slackアプリの設定

ここからが重要な設定です。

再度、Slack APIのサイトにアクセスし、Event Subscriptions ページを開きます。

以下の3つの設定を行ってください。

  • Enable Events をオンにする
  • Subscribe to bot eventsapp_mention を追加する
  • Request URL に、n8nのSlackトリガーノードに表示されている 本番向けのURL を設定する

設定後の状態がこちらです。

Request URL に設定するURLは、以下の場所にあります。

Slackからの認証

ここまでの設定が完了したら、最後にSlackからの認証を受けます。

まず、n8nのワークフローを保存し、有効化してください。

このワークフローの有効化が非常に重要です。

ワークフローを有効にしたら、Slackアプリの設定ページに戻ります。

Request URL の欄に Verified と表示されていれば認証成功です。

もしエラーが表示されている場合は、Retry をクリックして再度認証を試みてください。

これで全ての設定は完了です。

あとはSlackのチャンネルでbotにメンション付きのメッセージを送るだけで、ワークフローが実行されます。

設定中に発生した問題

この設定方法は、AIやX(旧Twitter)で調べても情報がなかなか見つからなかったため、遭遇した問題をここに記録しておきます。

Problem running workflow Unrecognized node type: n8n-nodes-base.lookup エラー

SlackのTriggerノードを追加し、Execute step でテスト実行した際にこのエラーが発生しました。

原因は特定できませんでしたが、n8nを最新版にアップデートしたところ解決しました。

Slack Triggerノードの重要な設定点

n8nのワークフローを事前に 有効化(activate) しておくことと、Slackの Event SubscriptionsRequest URL を正しく設定することが、見落としがちな注意点でした。

この点については、公式ドキュメントにも記載がありました。 https://docs.n8n.io/integrations/builtin/credentials/slack/#slack-trigger-configuration

また、GitHubのissueでも同様の報告がされています。 https://github.com/n8n-io/n8n/issues/14102#issuecomment-2747456581

まとめ

n8nでSlackのメッセージを取得する方法について解説しました。

Slack Triggerノードを使えば、メッセージ取得を簡単に自動化できます。

ただし、Slackアプリ側での Event Subscriptions の設定など、いくつか注意点があるため、設定漏れのないようにしましょう。

この記事が、同じ問題で困っている方の助けになれば幸いです。