Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix(skill/add-slack): switch to Socket Mode setup#2700

Open
mperraillon wants to merge 1 commit into
nanocoai:main from
mperraillon:fix/slack-skill-socket-mode
Open

fix(skill/add-slack): switch to Socket Mode setup #2700
mperraillon wants to merge 1 commit into
nanocoai:main from
mperraillon:fix/slack-skill-socket-mode

Conversation

@mperraillon

@mperraillon mperraillon commented Jun 6, 2026

Copy link
Copy Markdown

Type of Change

  • Fix - bug fix or security fix to source code

Description

The /add-slack skill walked users through HTTP webhook setup (SLACK_SIGNING_SECRET, Event Subscriptions Request URL, Interactivity URL, public webhook endpoint), but the rest of the codebase already expects Socket Mode:

  • setup/verify.ts checks SLACK_BOT_TOKEN + SLACK_APP_TOKEN
  • setup/migrate-v2/shared.ts preserves SLACK_APP_TOKEN from v1
  • nanoclaw.dev/skills/slack docs describe Socket Mode

Result: a user following the skill ends up with an install whose verify step asks for a credential the skill never told them to create, and they're stuck running a tunnel (ngrok / Cloudflare Tunnel) they don't need.

Fix

Rewrite the credentials section to enable Socket Mode and create an App-Level Token (xapp-...) instead. Drop Event Subscriptions Request URL, Interactivity, and Webhook server sections — none are needed in Socket Mode. Swap SLACK_SIGNING_SECRET for SLACK_APP_TOKEN in the env vars.

Install steps (fetch adapter from channels branch, pnpm install, build) unchanged.

Companion PR

This is the SKILL.md half. A companion change to src/channels/slack.ts on the channels branch (read SLACK_APP_TOKEN, pass mode: 'socket' + appToken to createSlackAdapter) is required for the adapter to actually start in Socket Mode — filed separately.

Testing

  • Verified locally: rebuilt with the adapter change + the env vars described in the new SKILL.md → host log shows Slack socket mode connected and Channel adapter started channel="slack" on startup. No public URL or webhook server involved. DMs deliver end-to-end.
  • No code/tests touched in this PR — markdown only.

The SKILL.md walked users through HTTP webhook setup with
SLACK_SIGNING_SECRET and required a public URL (ngrok / Cloudflare
Tunnel / VPS), but the rest of the codebase already expects Socket
Mode:
- setup/verify.ts checks SLACK_BOT_TOKEN + SLACK_APP_TOKEN
- setup/migrate-v2/shared.ts preserves SLACK_APP_TOKEN from v1
- nanoclaw.dev/skills/slack docs describe Socket Mode
Result: a user following the skill ends up with an install whose
verify step asks for a credential the skill never told them to
create, and they're stuck running a tunnel they don't need.
Rewrites the credentials section to enable Socket Mode and create
an App-Level Token (xapp-...) instead. Drops Event Subscriptions
Request URL, Interactivity, and Webhook server sections — none are
needed in Socket Mode. Swaps SLACK_SIGNING_SECRET for
SLACK_APP_TOKEN in env vars.
Install steps (fetch adapter, pnpm install, build) unchanged.
This is the SKILL.md half of the fix. A companion change to
`src/channels/slack.ts` on the `channels` branch (read
SLACK_APP_TOKEN and pass `mode: 'socket'` + `appToken` to
createSlackAdapter) is required for the adapter to actually start
in Socket Mode — filed separately.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

follows-guidelines PR was created using the current contributing template PR: Fix Bug fix

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /