n8n - 💡(How to fix) Fix Slack node V2 demands deprecated chat:write:bot scope, blocking bot-token credentials [3 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
n8n-io/n8n#29806Fetched 2026-05-06 06:35:11
View on GitHub
Comments
3
Participants
3
Timeline
11
Reactions
0
Timeline (top)
commented ×3labeled ×2mentioned ×2subscribed ×2

The Slack V2 node hardcodes a check for the deprecated chat:write:bot OAuth scope in packages/nodes-base/nodes/Slack/V2/GenericFunctions.ts:99. Slack removed chat:write:bot and replaced it with chat:write in 2020 (Slack scope migration docs) — chat:write:bot is no longer selectable in the Slack app dashboard. The node therefore rejects every modern bot-token credential with a misleading error.

Error Message

``` NodeOperationError: Your Slack credential is missing required Oauth Scopes at ExecuteContext.slackApiRequest (.../n8n-nodes-base/nodes/Slack/V2/GenericFunctions.ts:99:10) at ExecuteContext.execute (.../n8n-nodes-base/nodes/Slack/V2/SlackV2.node.ts:890:23) ```

Root Cause

Use the HTTP Request node with an incoming webhook URL instead of the native Slack node. The webhook API is unaffected by the scope check because n8n never inspects the credential.

Fix Action

Fix / Workaround

Workaround for affected users

RAW_BUFFERClick to expand / collapse

Summary

The Slack V2 node hardcodes a check for the deprecated chat:write:bot OAuth scope in packages/nodes-base/nodes/Slack/V2/GenericFunctions.ts:99. Slack removed chat:write:bot and replaced it with chat:write in 2020 (Slack scope migration docs) — chat:write:bot is no longer selectable in the Slack app dashboard. The node therefore rejects every modern bot-token credential with a misleading error.

Reproduction

  1. Create a Slack app, give the bot user the modern chat:write scope (the only chat:write:* scope Slack still offers besides chat:write.customize and chat:write.public).
  2. Install the app to a workspace, copy the Bot User OAuth Token (xoxb-...).
  3. In n8n, create a Slack API credential and paste the token.
  4. Add a Slack node with Resource: Channel, Operation: Send a Message, target a channel the bot is invited to.
  5. Execute.

Expected: message posts to channel.

Actual: node fails with:

Your Slack credential is missing required Oauth Scopes Add the following scope(s) to your Slack App: chat:write:bot

That scope can never be added — the Slack OAuth dashboard does not list it. Adding chat:write (the modern equivalent that the bot already has) does not satisfy n8n's check.

Stack trace

``` NodeOperationError: Your Slack credential is missing required Oauth Scopes at ExecuteContext.slackApiRequest (.../n8n-nodes-base/nodes/Slack/V2/GenericFunctions.ts:99:10) at ExecuteContext.execute (.../n8n-nodes-base/nodes/Slack/V2/SlackV2.node.ts:890:23) ```

Environment

  • n8n version: 2.19.1 (self-hosted, Docker, n8nio/n8n:2.19.1)
  • Slack node version: 2.4 (Latest)
  • Date encountered: 2026-05-05

Why this is not fixed in 2.19.2 or 2.20.0

I verified by SHA: packages/nodes-base/nodes/Slack/V2/GenericFunctions.ts is byte-identical between tags [email protected] and [email protected]. The 2.20.0 Slack-related change (#28728) is for OAuth2 user_scope customization, a different concern.

``` $ curl -s 'https://api.github.com/repos/n8n-io/n8n/contents/packages/nodes-base/nodes/Slack/V2/[email protected]' | jq -r .sha cb8f33b793b16f5e31685a520dd9c1b297da2ae4

$ curl -s 'https://api.github.com/repos/n8n-io/n8n/contents/packages/nodes-base/nodes/Slack/V2/[email protected]' | jq -r .sha cb8f33b793b16f5e31685a520dd9c1b297da2ae4 ```

Proposed fix

In Slack/V2/GenericFunctions.ts, replace the literal chat:write:bot in the required-scopes set with chat:write. The legacy bot-only scope variant has been gone from Slack for years; any lingering references are stale.

Workaround for affected users

Use the HTTP Request node with an incoming webhook URL instead of the native Slack node. The webhook API is unaffected by the scope check because n8n never inspects the credential.

extent analysis

TL;DR

Update the GenericFunctions.ts file to replace the hardcoded chat:write:bot scope with chat:write to fix the issue with the Slack V2 node.

Guidance

  • Verify that the chat:write scope is selected in the Slack app dashboard for the bot user.
  • Check the GenericFunctions.ts file at line 99 to confirm the hardcoded chat:write:bot scope.
  • Consider using the HTTP Request node with an incoming webhook URL as a temporary workaround.
  • If updating the GenericFunctions.ts file, ensure to test the Slack node with the updated scope to verify the fix.

Example

No code snippet is provided as the fix involves updating a specific file, but the proposed fix suggests replacing the line in GenericFunctions.ts with the updated scope.

Notes

The issue is specific to the Slack V2 node and the hardcoded chat:write:bot scope. The proposed fix updates this scope to chat:write, which is the modern equivalent. The workaround using the HTTP Request node is a temporary solution until the update is applied.

Recommendation

Apply the proposed fix by updating the GenericFunctions.ts file to replace the hardcoded chat:write:bot scope with chat:write, as this is the most direct solution to the issue.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

n8n - 💡(How to fix) Fix Slack node V2 demands deprecated chat:write:bot scope, blocking bot-token credentials [3 comments, 3 participants]