Skip to content

[OPE-198] docs(slack): correct setup to HTTP Events API (drop dead Socket Mode)#131

Merged
singret merged 1 commit into
mainfrom
ope-198-fix-slack-docs
Jun 23, 2026
Merged

[OPE-198] docs(slack): correct setup to HTTP Events API (drop dead Socket Mode)#131
singret merged 1 commit into
mainfrom
ope-198-fix-slack-docs

Conversation

@singret

@singret singret commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Problem

The Slack setup docs and the in-app setup wizard describe Socket Mode, but the code uses the HTTP Events API — signed POST to /api/v1/slack/{events,interactions,commands}. slack-go/slack/socketmode is never imported and SLACK_APP_TOKEN (xapp-…) is never read. This mismatch is what made a real Slack-sync issue so hard to debug: nobody knew you need a public tunnel (Slack can't reach localhost), the Interactivity Request URL set (buttons), and the signing secret to match (403).

Changes

  • docs/getting-started/connecting-slack.md — rewritten to the real flow: the three Request URLs (Events / Interactivity / Slash Commands), a Local development (ngrok) section, the signing-secret-must-match → 403 note, the "tunnel URL changes on every ngrok restart, update all three" gotcha, and a troubleshooting table.
  • SlackSetupModal.tsx — the isLocal text claimed "Socket Mode (no public URLs needed)" and had a dead xapp App-Level Token step. Replaced with tunnel guidance. (The generated manifest was already correct: socket_mode_enabled: false.)
  • Remove the dead SLACK_APP_TOKEN from .env.example, environment-variables.md, kubernetes.md, docker-compose{,.dev,.ha}.yml, and the Helm secret/values.
  • Fix a stale "Slack Socket Mode" comment in teams_event_handler.go.
  • README pointer to the corrected guide.

Verification

  • npm run build (modal change) — green.
  • Every step cross-checked against the code (manifest scopes/events/endpoints, the signature middleware, the slack http event handler initialized startup log), not the old doc.

Follow-up (separate)

Wizard local-dev UX: let the user enter their tunnel URL so the generated manifest's URLs aren't localhost (today it uses window.location.origin). Worth filing.

Closes OPE-198

The Slack setup docs and the in-app wizard described Socket Mode, but the
code uses the HTTP Events API (signed POST to /api/v1/slack/{events,
interactions,commands}). socketmode is not imported and SLACK_APP_TOKEN
is never read. This mismatch made Slack sync silently fail to debug.

- Rewrite docs/getting-started/connecting-slack.md: the three Request
  URLs, a Local development (ngrok) section, the signing-secret-must-match
  403 note, the "tunnel URL changes on restart" gotcha, troubleshooting
- SlackSetupModal: replace the isLocal "Socket Mode (no public URLs)" text
  and dead xapp-token step with tunnel guidance (manifest already uses
  socket_mode_enabled: false)
- Remove dead SLACK_APP_TOKEN from .env.example, environment-variables.md,
  kubernetes.md, docker-compose{,.dev,.ha}.yml, helm secret/values
- Fix stale "Slack Socket Mode" comment in teams_event_handler.go
- README: pointer to the corrected guide

Verified: npm run build green; every step cross-checked against the
manifest/scopes/events/endpoints in code, not the old doc.
@singret singret force-pushed the ope-198-fix-slack-docs branch from 7b0b094 to fdd2e9a Compare June 23, 2026 04:30
@singret singret merged commit c01f189 into main Jun 23, 2026
4 checks passed
@singret singret deleted the ope-198-fix-slack-docs branch June 23, 2026 04:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant