Tag Sentry releases and post Vercel deploys to Slack

By General Input

Every time you promote a Vercel production deploy, register the release in Sentry, mark it deployed, and announce it in your team's Slack channel.

Integrations

  • Vercel
  • Sentry
  • Slack Bot

Type

Deterministic Code

Categories

  • Engineering
  • Operations

Build a deterministic code workflow that registers Vercel production deploys as Sentry releases and announces them in Slack. No AI judgement is needed; the flow is fixed.

Trigger: incoming webhook from Vercel for the deployment.promoted event, filtered to production deployments only (target == 'production'). The user will configure the webhook in Vercel pointing at this workflow's webhook URL.

Steps, in order:

1) Call Vercel's Get Deployment with the deployment id from the webhook payload. From the response, extract: the commit SHA (meta.githubCommitSha or the generic gitSource sha), the commit message (meta.githubCommitMessage), the project name, the live deployment URL (the production alias if present, otherwise the deployment URL), and the user who promoted it (the human-readable name or username from the deployment creator / promoter field on the payload).

2) Idempotency check: call Sentry's Retrieve a Release using the commit SHA as the version identifier, scoped to the Sentry organization the user configures. If it returns the release, skip step 3. If it returns 404, run step 3.

3) Call Sentry's Create a New Release. Use the commit SHA as the version. Bind it to the Sentry project the user configures (default to the Vercel project name, but expose a config field so they can override). Include the commit as a ref so Sentry can fetch commit metadata for suspect-commit grouping.

4) Call Sentry's Create a Deploy for that release. Set environment to 'production' (configurable). Set the deploy URL to the live deployment URL from step 1. Set the deploy name to something like '<project> <shortSha>'.

5) Call Slack Bot's Send a Message to the releases channel the user configures. Format a short announcement with: project name, short SHA, the first line of the commit message, who promoted it, a link to the live deployment URL, and a link to the new Sentry release (https://sentry.io/organizations/<org>/releases/<version>/). Use Slack Block Kit so the fields are nicely laid out.

Config inputs the user should set on the workflow: Sentry organization slug, Sentry project slug (optional override; defaults to Vercel project name), Sentry environment name (default 'production'), Slack channel id or name for announcements, optional Vercel project filter (only announce these project names; empty = all).

Credentials: vercel (api token), sentry (auth token with project:releases scope), slackbot (bot token with chat:write and chat:write.public). Use slackbot rather than user-token slack so the announcement is attributed to a bot identity that won't disappear when a person leaves.

Error handling: if Get Deployment fails or returns no commit SHA, log and stop (don't post to Slack with missing data). If Sentry create-release returns a 409 conflict, treat it as already-exists and continue to Create a Deploy. If Slack fails, the Sentry record should still stand; surface the Slack error in the run log.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them