slack-delivery
by vercel
Slack channel specialist workflow: debug Slack OAuth vs delivery-ready, /slack/events fast path, raw-body signatures, route repair, boot-message cleanup, and…
npx skills add https://github.com/vercel-labs/vercel-openclaw --skill slack-deliverySlack Delivery
Use after channel-debug-core for Slack issues.
Files
src/app/api/channels/slack/webhook/route.tssrc/server/channels/slack/**src/server/workflows/channels/drain-channel-workflow.tssrc/server/admin/why-not-ready.tssrc/app/api/channels/summary/route.ts
Runtime Path
Slack event -> /api/channels/slack/webhook -> Slack signature validation over raw body -> event/bot/subtype/user-message dedup -> fast path to port 3000 /slack/events OR workflow -> Bolt signature re-verification -> threaded Slack reply
Parallel Lane Inputs To Consume
Before proposing a Slack fix, consume:
- Vercel/app logs lane:
channels.slack_webhook_accepted, fast-path event, fallback/workflow event, requestId/deliveryId, and project targeting proof. - Sandbox runtime lane: port 3000 listener,
/slack/eventsprobe behavior, OpenClaw plugin count, sanitized config haschannels.slack. - Workflow lane:
drainChannelWorkflowrun state when fast path skipped/failed, with verified project targeting when.vercel/project.jsondiffers from the incident target. - Prior-fix comparison: openclaw-42 zero-plugin wedge, stale sandbox URL, workflow retry exhaustion, Slack 401 raw-body/signature failure.
Special Checks
- Raw body and
x-slack-*headers must survive forwarding. - Slack 401 from native handler usually means Bolt signature failure.
- OAuth complete is not delivery-ready.
liveConfigSyncfailed can be overridden by recent acceptedlastForward.- Route repair after 404 must be proven with before/after signals.
- Pending boot message cleanup happens when bot reply events arrive.
app_mentionplusmessage.channelscan duplicate user intent.