DevPulse Docs

Troubleshooting

Common problems and their fixes.

My Slack messages aren't appearing

  • Is the bot in the channel? Run /invite @DevPulse.
  • Did Slack accept your Request URL? Open your Slack App settings → Event Subscriptions. The Request URL should show a green checkmark. If it shows red, your SLACK_GLOBAL_SIGNING_SECRET may not be configured.
  • Are scopes correct? You need channels:history at minimum, plus groups:history, im:history, mpim:history for non-public channels.
  • Does the message contain a PR URL or a keyword? See parsing rules.

I see a 401 in the Slack "Recent Events" tab

The signing secret stored in DevPulse doesn't match the one Slack is sending. Re-copy the signing secret from Basic Information → App Credentials and paste it into Settings → Slack integration.

OAuth install fails with signing_secret_missing

Set SLACK_GLOBAL_SIGNING_SECRET in your server's environment. This is the signing secret of the Slack App you registered — the same value you'd paste in manual setup.

Outgoing webhook fails to deliver

  • Check the Health page for pending delivery count.
  • Verify your endpoint returns 2xx. Anything else triggers retry-with-backoff.
  • Confirm the URL is publicly reachable (firewalled internal hosts won't work without a tunnel).

Daily digest emails aren't arriving

  • Is RESEND_API_KEY set on the server?
  • Is DIGEST_FROM_EMAIL a verified sender in Resend?
  • Workspace timezone and day boundary determine when the cron fires. Default is local 17:00. The Vercel cron runs every 30 minutes and only delivers when local time matches.

Sprint progress doesn't update after a merge

A ticket is only marked done when at least one PR for it has both an approved event AND status merged. If you merged without ever recording an approval, the ticket stays open. Post approved <PR URL> in Slack to add the missing signal.

Need more help?

Visit /<workspace>/health to see system status, recent events, and any pending webhook deliveries.