「n8nでエラー通知を送っているのに、埋もれて気づかない…」
「緊急の問い合わせだけは、スマホを震わせてでも担当者に伝えたい」
Slack通知自動化の“あるある”が、「メンション(@)が機能せず、ただのテキストとして表示されてしまう」問題です。
実は、n8n(というよりSlack API)の世界では、普段使っている @Taro_Yamada のような名前指定は通用しません。本記事では、エンジニアもよく忘れる「正しいメンションの記述ルール」と、見逃しをゼロにするための実践的な設定手順を解説します。
【結論】メンションは「名前」ではなく「ID」で書くのが鉄則
結論から言います。n8nのSlackノードでメンションを飛ばすには、以下の特殊な書き方をする必要があります。
❌ 間違い: @田中太郎 や @taro.tanaka
⭕ 正解: <@U0123ABCDE>
この U から始まる文字列(Member ID)を < > で囲むことで初めて、Slack側が「これはメンションだ!」と認識し、相手に通知バッジを飛ばします。
【完全ガイド】n8nで「届く」メンションを設定する3ステップ
Step 1: 相手の「Member ID」を取得する
まず、通知を送りたい相手のIDを調べます。これはSlackの画面上で簡単に確認できます。
- Slackを開き、相手のプロフィールアイコンをクリックします。
- プロフィールのポップアップが表示されたら、右上の「︙(その他)」メニューをクリックします。
- [メンバーIDをコピー] を選択します(例:
U04K12345がコピーされます)。
Step 2: n8nのSlackノードに書き込む
n8nの画面に戻り、Slackノードを設定します。
- Resource: Message
- Operation: Post
- Text: メッセージ本文の中に、先ほどのIDを以下の形式で埋め込みます。
<@ここにIDを貼り付け> 対応をお願いします!
例:<@U04K12345> 新規の問い合わせが届きました。
Step 3: テスト実行で確認する
[Execute Node] をクリックし、Slackを確認してください。該当のユーザー名が青文字(リンク)になり、通知音が鳴れば成功です。
【応用テクニック】グループ全員やチャンネル全体に飛ばす
個人だけでなく、チーム全体を呼び出したい場合の書き方は以下の通りです。
| 対象 | 書き方 (Syntax) | 解説 |
|---|---|---|
| 個人 | <@U12345> |
特定のメンバー1人に通知。 |
| チャンネル全体 | <!channel> |
@channel と同じ。全員に通知(多用注意)。 |
| アクティブな人 | <!here> |
@here と同じ。オンラインの人だけに通知。 |
| ユーザーグループ | <!subteam^ID> |
「エンジニアチーム」などのグループ指定。グループIDが必要。 |
【AI活用】担当者を自動で振り分ける方法
静的にIDを書くだけでなく、条件によってメンション先を変えるとさらに便利です。
Switchノードを使う例:
- 問い合わせ内容が「技術的な質問」の場合: エンジニアのID
<@U_ENGINEER>をセット。 - 「請求について」の場合: 経理担当のID
<@U_KEIRI>をセット。
このようにn8nの Switch ノードや If ノードで分岐させ、その後にSlackノードを繋ぐ(あるいはIDを変数に入れる)ことで、「内容に応じた正しい担当者」を即座に呼び出せます。
よくあるトラブル (FAQ)
Q: 設定したのにメンションになりません(文字化けする)
A: < > を忘れていませんか?
単にIDを書いただけではダメです。必ず <@ID> のようにブラケットで囲んでください。また、n8nのExpressionエディタを使っている場合、引用符(” “)の中で記述が崩れていないか確認してください。
Q: “channel_not_found” エラーが出ます
A: Slackアプリ(Bot)がそのチャンネルに参加していません。
n8nと連携しているSlackアプリを、通知を送りたいチャンネルに追加(インテグレーションに追加)してください。メンションの設定以前の問題として、Botは「自分がいる部屋」にしか発言できません。
まとめ
Slack通知は「気づかれなければ意味がない」ものです。
- 名前ではなく「Member ID」を使う
<@ID>の形式を守る- 重要な通知だけ選んでメンションする
この3つを意識するだけで、あなたの自動化フローは「ただのログ流し」から「頼れるアラートシステム」に進化します。まずは自分のIDを使ってテスト送信してみてください。


コメント