Tag Sentry releases and post Vercel deploys to Slack
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.
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.
Additional information
What does this prompt do?
- Watches for Vercel production promotions and kicks off the moment one happens.
- Registers the new release in Sentry using the commit so future errors get grouped by version.
- Records the release as deployed to your production environment in Sentry with the live deployment URL.
- Posts a short release note in Slack with the project, commit message, who promoted it, the live URL, and a link to the Sentry release.
What do I need to use this?
- A Vercel account with permission to manage webhooks for your project or team.
- A Sentry account with permission to create releases and deploys in the project you want to track.
- A Slack workspace where you can install our Slack app and a channel for release announcements.
How can I customize it?
- Pick which Slack channel the announcement lands in, and tweak the message format (emoji, fields shown, mention groups).
- Change which Sentry project the release is bound to, or rename the environment from production to staging or preview.
- Add a filter so only specific Vercel projects trigger announcements, instead of every promoted deploy.
Frequently asked questions
What is a Vercel promotion and how is it different from a regular deploy?
Why tag releases in Sentry at all?
Will it announce the same release twice if I redeploy?
Do I need Vercel's built-in Sentry integration?
Can I send the announcement to multiple channels?
Related templates
Every weekday at 8am, your billing team gets a Slack rundown of yesterday's failed Braintree charges, the revenue at risk, and who to chase first.
Every weekday morning, roll up your sprint's work items into a clear per-person standup summary and post it to your team's Slack channel before you meet.
Every three hours we scan Braintree for new disputes and chargebacks, open a tracked ticket with a tailored evidence checklist, and alert your team in Slack before the response deadline slips.
Every weekday morning we check your most important Databricks tables for freshness and data problems, and ping Slack only when something actually looks wrong.
Every Monday, automatically find which employee accounts on your company domain turned up in data breaches and get a plain-English briefing in Slack.
When a pipeline build fails, we post a tight Slack card naming who pushed, the likely cause, and a link to the build so on-call can triage in seconds.
Stop hand-tagging Sentry releases after every Vercel deploy.
Connect Vercel, Sentry, and Slack once. Every promotion to production gets tagged, deployed, and announced automatically.