「n8nでエラー通知を送っているのに、埋もれて気づかない…」
「緊急の問い合わせだけは、スマホを震わせてでも担当者に伝えたい」
通知が見逃される最大の原因の一つが、メンション機能の設定ミスです。n8nのSlack通知で「@(メンション)が機能せず、ただのテキストとして表示されてしまう」問題は、自動化フローを構築したエンジニアがほぼ全員一度はハマる落とし穴です。
私はランサーズ・クラウドワークスで累計200件以上の業務自動化案件を受注してきましたが、「n8nのSlack通知が届かない」という相談は月に数件必ず来ます。その9割がメンション形式の誤りによるものでした。
この記事では、その実務経験から得た「正しいメンションの記述ルール」と、通知見逃しをゼロにする実践的な設定手順を3ステップで解説します。
【この記事だけで分かる応用テクニック】AIが問い合わせ内容で担当者を自動選択する
基本のメンション設定をマスターしたら、ぜひ試してほしい一歩進んだ活用法があります。ChatGPT APIと組み合わせることで、問い合わせ内容をAIが自動分類し、最適な担当者へピンポイントでメンションを飛ばす仕組みが作れます。
「技術的な質問はエンジニア担当、請求関係は経理担当」という振り分けを手動でやっていたコールセンター案件に導入したところ、1日約45分かかっていた振り分け作業が完全になくなり、担当違いによる対応遅延も0件になりました。具体的な実装手順は本記事後半の「【AI活用】担当者を自動で振り分ける方法」で解説します。
【結論】メンションは「名前」ではなく「ID」で書くのが鉄則
結論から言います。n8nのSlackノードでメンション機能を正しく設定するには、以下の特殊な書き方をする必要があります。
❌ 間違い: @田中太郎 や @taro.tanaka
⭕ 正解: `
この U から始まる文字列(Member ID)を で囲むことで初めて、Slack側が「これはメンションだ!」と認識し、相手に通知バッジを飛ばします。
> なぜ名前ではダメなのか?
> Slackでは同じ表示名のユーザーが複数存在する可能性があるため、APIは名前での解決をサポートしていません。Member IDは全Slackワークスペースで一意の識別子です。この書式の仕様はSlack API公式ドキュメント(Formatting text for app surfaces)で詳しく確認できます。
実案件での失敗例
あるECサイトの受注管理自動化案件で、クライアントが「担当者名でメンションしていたが誰にも通知が届かず、1週間で問い合わせを50件以上見逃した」という状態で依頼が来たことがあります。@tanaka_support と書かれていたテキストは、Slackには単なる文字列として表示されていたのです。Member IDに切り替えた後、見逃し件数は即日0件になりました。
【完全ガイド】n8nで「届く」メンションを設定する3ステップ
Step 1: 相手の「Member ID」を取得する
通知を送りたい相手のIDを調べます。Slackの画面上で30秒で確認できます。
1. Slackを開き、相手のプロフィールアイコンをクリックします
2. プロフィールのポップアップが表示されたら、右上の「︙(その他)」メニューをクリックします
3. [メンバーIDをコピー] を選択します(例: U04K12345 がコピーされます)
複数人のIDを一括取得したい場合:
Slack管理画面(管理者権限が必要)から「メンバー管理」→「エクスポート」でCSV形式でIDを一括取得できます。5名以上の担当者を登録する案件ではこの方法が効率的です。
Step 2: n8nのSlackノードに書き込む
n8nの画面に戻り、Slackノードを設定します。設定項目の詳細はn8n公式 Slack Nodeドキュメントも参照してください。
- Resource: Message
- Operation: Post
- Text(メッセージ本文):
対応をお願いします!
【詳細】
・問い合わせ内容: {{$json["message"]}}
・受信時刻: {{$json["timestamp"]}}
> ポイント: の形式は、n8nのExpressionエディタ内でも変数と組み合わせて使えます。例えば のように書けば、データに応じて動的にメンション先を切り替えることも可能です。
Step 3: テスト実行で確認する
[Execute Node] をクリックし、Slackを確認してください。該当のユーザー名が青文字(リンク)になり、通知音が鳴れば成功です。
テストには自分自身のMember IDを使うと安全です。本番環境に送る前に必ずこのステップを実施してください。
【応用テクニック】グループ全員やチャンネル全体に飛ばす
個人だけでなく、チーム全体を呼び出したい場合の書き方は以下の通りです。
| 書き方 | 効果 | 使いどき |
|——–|——|———|
| | 特定の個人に通知 | 担当者を明確に呼び出すとき |
| | チャンネル全員に通知(オフライン含む) | 障害発生など緊急の全体連絡 |
| | 現在オンラインのメンバーのみに通知 | 今すぐ対応が必要な軽微な連絡 |
| | 特定のUser Groupに通知 | チーム単位で呼び出すとき |
> 注意: は全員のスマホを震わせます。乱用するとメンション疲れを引き起こすため、本当に緊急の場合のみ使用してください。実案件では「P1障害のみ 、P0障害のみ 」と明確にルール化することをおすすめしています。
User GroupのIDを調べる方法:
Slack管理画面 → 「ユーザーグループ」→ 対象グループをクリック → URLに含まれる S で始まる文字列がUser Group IDです。
【AI活用】担当者を自動で振り分ける方法
通知が見逃される問題をさらに根本から解決するのが、問い合わせ内容に応じて担当者を自動振り分けする仕組みです。
実装パターン:Switchノード + Expression式
n8nのSwitchノードで $json[category] の値を条件分岐させ、後続のSlackノードのTextフィールドに以下のExpression式を書きます。
javascript
{{ $json["category"] === "tech" ? "" : $json["category"] === "billing" ? "" : "" }} 対応をお願いします!
Switchノードと各Slackノードの設定値一覧:
| 条件(category値) | メンション先 | Slackノード Text フィールド |
|——————-|————|—————————-|
| tech(技術的な質問) | エンジニア担当(U04K111) | 技術質問が届きました |
| billing(請求について) | 経理担当(U04K222) | 請求関連の問い合わせです |
| それ以外 | チャンネルのオンライン全員 | カテゴリ不明の問い合わせです |
Switchノードの設定手順:
1. Switchノードを追加し、Mode: Rules に設定
2. Rule 1: {{$json[category]}} → Equal → tech → Output 1へ
3. Rule 2: {{$json[category]}} → Equal → billing → Output 2へ
4. Fallback Output: 残りのケース用として Output 3に接続
> 発展的な使い方: カテゴリの分類自体をAI(ChatGPT API)に任せることで、フリーテキストの問い合わせも自動分類できます。OpenAI Nodeの前段で「この問い合わせのカテゴリをtech/billing/otherで分類してください」というプロンプトを挟むと、メンション先の選定まで完全自動化が実現します。
あるコールセンター案件では、このAI振り分けフローを導入した結果、手動でのチケット振り分け作業(1日約45分)が完全になくなり、かつ担当違いによる対応遅延も0件になりました。
よくあるトラブル (FAQ)
Q: 設定したのにメンションになりません(文字化けする)
A: の形式を確認してください。
単にIDを書いただけではダメです。必ず のようにブラケットで囲んでください。また、n8nのExpressionエディタを使っている場合、引用符の中で記述が崩れていないか確認してください。
よくある間違いパターン:
- [@U04K12345](角括弧はNG)
(@ なしはNG)- (末尾のスペースはNG)
Q: channel_not_found エラーが出ます
A: Slackアプリ(Bot)がそのチャンネルに参加していません。
n8nと連携しているSlackアプリを、通知を送りたいチャンネルに追加(インテグレーションに追加)してください。メンション機能の設定以前の問題として、Botは「自分がいる部屋」にしか発言できません。
チャンネルへのBot追加手順:チャンネル名をクリック → 「インテグレーション」タブ → 「アプリを追加する」
Q: メンションは届くが通知音が鳴りません
A: 受信者側のSlack通知設定を確認してください。
メンション機能の設定が正しくても、受信者のSlack通知設定が「メンションのみ通知」になっていない場合、通知音が鳴らないことがあります。特にモバイルアプリの通知許可設定(iOS/Android)も確認が必要です。通知が見逃される原因はn8n側だけではないため、受信者側の設定もセットで確認するようにしてください。
まとめ
通知が見逃される問題は、メンション機能の正しい設定で確実に解消できます。
- 名前ではなく「Member ID」を使う( 形式が必須)
- 用途に応じて個人・
・`・User Groupを使い分ける - SwitchノードとExpression式で担当者を自動振り分けする
この3つを実装するだけで、あなたの自動化フローは「ただのログ流し」から「頼れるアラートシステム」に進化します。まずは自分のIDを使ってテスト送信してみてください。
—
この記事はいかがでしたか? n8nやSlack自動化で詰まっている箇所、「自分の案件ではどう実装すればいい?」といった質問があれば、ぜひコメント欄に書いてみてください。できる限り回答します。
関連記事
- n8nのSlack通知にBlock Kit(リッチメッセージ)を使う方法
- n8n × ChatGPT APIで問い合わせ内容を自動分類・返信する実装ガイド
—
この記事の内容に関する開発・自動化のご依頼はお気軽にご相談ください。
累計200件以上の受注実績・残念評価ゼロ。


コメント