Skip to main content
POST /api/v1/slack/events This endpoint receives callbacks from the Slack Events API. It’s how ShoulderTap captures an expert’s reply to an ask when running with --transport slack. You don’t call it yourself — Slack does — but you configure your Slack app’s Event Subscriptions request URL to point at it:

Authentication

Unlike every other route, this endpoint is not guarded by the bearer token. Slack signs its own requests, and ShoulderTap verifies the signature using the Slack signing secret (slack.signing_secret_env). See Connect Slack.

Behavior

Slack transport configured
ShoulderTap verifies the Slack signature and processes the event. Direct-message replies from experts are captured and turned into proposals; URL-verification challenges are answered. Messages from bots, message edits, and non-DM messages are ignored.
Slack transport not configured
Returns 501 Not Implemented. Running with --transport console, there is no Slack integration to handle the event.
This endpoint exists to serve Slack. In normal operation you configure it once in your Slack app and never touch it again — expert replies flow through it automatically.