中級向け

channel_not_found の直し方

n8n の Slack ノードで、チャンネルに投稿しようとすると「channel_not_found」で失敗する。筆者の環境では、チャンネルの ID は正しいのに、n8n の Slack アプリが、そのチャンネルに入っていないことが原因と考えられました(同じチャンネルに、Zapier からは投稿できました)。確認する順番、アプリが入っているチャンネルに変えて直した例、Slack の公式の説明の読み、確認していないことを書きました。

動作確認: — n8n 2.36.8(セルフホスト、WSL) / Slack ノード 2.7(メッセージの投稿) / Slack(テスト用のワークスペース)

n8n の Slack ノードで、チャンネルにメッセージを投稿したら、実行が失敗して、channel_not_found と出た。チャンネルの名前も、ID も、合っているのに。

多くの場合、原因は、「n8n につないだ Slack のアプリ(ボット)が、そのチャンネルに入っていない」ことです。 直し方は、そのチャンネルで、アプリを招待する(またはアプリが入っているチャンネルに、投稿先を変える)ことです。

筆者の環境でも、これが原因と考えられました。ただし、1件の観察で、「アプリを招待して直るか」は、試していません(下の「確認していないこと」)。

何が起きたか(観察)

2026-10-12、Gmail に届いたメールを、Slack の「チャンネル-サンプル」に投稿するワークフローを、n8n で作りました(Gmail トリガー → Slack の「メッセージを投稿」)。投稿先は、チャンネルの ID で指定しました。

  • 実行は、失敗しました。n8n のログに、Slack error response: "channel_not_found" と出ました
  • 同じチャンネルに、Zapier からは、投稿できました
  • n8n の投稿先を、ボットが入っている別のチャンネルに変えると、投稿できました(2回とも成功)

つまり、チャンネル自体は、存在しています。 n8n のアプリからは、見えていなかった、という動きでした。

なぜ、Zapier からは、投稿できたのか

Zapier の Slack の投稿のアクションには、「Add Zapier app to channel automatically?」(Zapier のアプリを、自動でチャンネルに入れるか)という設定があり、初期値は「Yes」でした。投稿の前に、アプリを、チャンネルに入れようとします。

n8n の Slack ノードの投稿の設定項目(型の定義で確認しました)には、このような設定は、ありませんでした。アプリを、先にチャンネルに入れておく必要があります。

確認する順番

  1. チャンネルの ID が合っているか。 チャンネルの名前ではなく、C から始まる ID を使うと、名前の変更や、# の有無に、左右されません
  2. アプリが、そのチャンネルに入っているか。 チャンネルの詳細の画面(メンバーや連携のタブ。名前は、Slack のバージョンで変わります)で、アプリが、出ているか見ます
  3. プライベートのチャンネルか。 プライベートのチャンネルは、アプリが招待されていないと、アプリから、見えません
  4. アプリの権限(スコープ)。 メッセージの投稿には、chat:write が要ります。アプリが入っていない、公開のチャンネルにも、投稿したいなら、chat:write.public も要ります(プライベートには、効きません)。権限を足したら、アプリを、ワークスペースに入れ直す必要があります
  5. 試す。 アプリが入っていることが分かっているチャンネルに、投稿先を変えて、成功するかを見ます。成功すれば、原因は、「チャンネルの側」です

直し方

  • アプリを、チャンネルに招待する。 そのチャンネルで、/invite @アプリの名前 と書くのが、いちばん簡単です
  • または、アプリが、すでに入っているチャンネルに、投稿先を変える

筆者は、後者で、直しました(アプリが入っているチャンネルに変更)。

Slack の公式の説明の読み

Slack の公式の資料の、エラーの一覧には、channel_not_found は、「channel に渡した値が、無効」と書かれています(幅の広い意味です。チャンネルが存在しない、アプリから、見えない、の両方を含みます)。

chat:write.public の権限は、アプリが入っていない、公開のチャンネルにも、投稿できるようにするものです。プライベートのチャンネルには、効きません(そちらは、招待が要ります)。

プライベートのチャンネルで、アプリが入っていないと、channel_not_found になる、と説明する資料は、複数ありました(筆者の画面では、公式の表に、この組み合わせの、はっきりした記述は、読めていません)。

確認していないこと

  • 筆者の「チャンネル-サンプル」が、プライベートか、公開か(確かめていません。招待が要る原因として、もっとも、ありそうなのが、プライベートです)
  • アプリを招待して、実際に直るか(筆者は、別のチャンネルに変えて、直しました)
  • chat:write.public を足したときの動き
  • n8n の Slack ノードで、チャンネルの選び方(一覧から選ぶ、ID で入れる、名前で入れる)による違い(筆者は、ID で入れました)
  • n8n クラウドでの、同じ動き

次に読む

次に読む