Skip to content

Put the Slack webhooks endpoint behind Bolt - #6896

Merged
suhaibmujahid merged 3 commits into
hackbot-ui-urlfrom
bolt-migration
Sep 21, 2026
Merged

suhaibmujahid merged 3 commits into
hackbot-ui-urlfrom
bolt-migration

Conversation

@suhaibmujahid

Copy link
Copy Markdown
Member

Resolves #6890


Stack created with GitHub Stacks CLIGive Feedback 💬

@suhaibmujahid
suhaibmujahid requested a review from a team as a code owner September 21, 2026 05:08
@suhaibmujahid
suhaibmujahid added this pull request to stack #6900 September 21, 2026 05:08

@ayoubdiourin7 ayoubdiourin7 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM !

Copilot AI lite review requested due to automatic review settings September 21, 2026 18:22

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Critical listener-routing and test-collection failures remain unresolved.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 2 High severity

Open (2)
What changed in this PR

Migrates Slack interactivity handling from custom FastAPI parsing to Slack Bolt through /webhooks/slack.

Changes:

  • Adds Bolt app wiring, action listeners, configuration, dependencies, and tests.
  • Updates Slack manifest and documentation.
  • Removes the legacy Slack router, payload models, and signature verifier.
File Summary
uv.lock Locks new Bolt and aiohttp dependencies.
services/​hackbot-api/​tests/​test_slack_listeners.py Tests Slack action callbacks.
services/​hackbot-api/​tests/​test_slack_interactions.py Tests Bolt request handling and authentication.
services/​hackbot-api/​tests/​conftest.py Provides test Slack configuration.
services/​hackbot-api/​pyproject.toml Adds Slack runtime dependencies.
services/​hackbot-api/​manifest.json Configures Slack interactivity.
services/​hackbot-api/​app/​slack/​listeners/​actions/​start_agent_run.py Handles agent-run button clicks.
services/​hackbot-api/​app/​slack/​listeners/​actions/​__init__.py Registers action listeners; the type constraint prevents Slack button actions from matching (critical, 2 votes).
services/​hackbot-api/​app/​slack/​listeners/​__init__.py Registers listener groups.
services/​hackbot-api/​app/​slack/​app.py Builds the Bolt app and FastAPI handler; unmatched actions currently produce a 500 instead of the expected 404 (moderate, 1 vote).
services/​hackbot-api/​app/​slack/​__init__.py Adds the Slack package marker.
services/​hackbot-api/​app/​slack_webhook.py Removes custom Slack payload models.
services/​hackbot-api/​app/​routers/​webhooks.py Adds the Bolt-backed webhook endpoint.
services/​hackbot-api/​app/​routers/​slack.py Removes the legacy router, but an existing test still imports it and causes collection failure (critical, 1 vote).
services/​hackbot-api/​app/​routers/​__init__.py Removes legacy router exports; the existing test still imports removed symbols and fails collection (critical, 2 votes).
services/​hackbot-api/​app/​main.py Removes legacy router registration.
services/​hackbot-api/​app/​config.py Adds Slack bot-token configuration.
services/​hackbot-api/​app/​auth.py Removes custom Slack signature verification.
docs/​hackbot/​security.md Documents Bolt-based Slack authentication.
docs/​hackbot/​deployment.md Updates deployment configuration guidance.
docs/​hackbot/​api.md Documents the new endpoint; its event-handling description is inaccurate because only interactivity payloads are supported (nit, 1 vote).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread services/hackbot-api/app/routers/__init__.py
Comment thread services/hackbot-api/app/slack/listeners/actions/__init__.py Outdated
@suhaibmujahid
suhaibmujahid merged commit a30ab32 into master Sep 21, 2026
9 checks passed
@suhaibmujahid
suhaibmujahid deleted the bolt-migration branch September 21, 2026 20:30
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.

Process Slack webhooks using Bolt framework

3 participants