Preview deploy alerts in Slack with PR context

When a Vercel preview build finishes, post a plain-English summary, the preview link, and the pull request to the right Slack channel.

Agentic Task
VercelGitHubSlackEngineeringProductNotifications & Alerts

I want an agent workflow that posts a stakeholder-friendly heads-up in Slack every time a Vercel preview deployment finishes building, so designers, PMs, and reviewers can click straight through without digging in GitHub.

Trigger: an incoming webhook from Vercel on the deployment.succeeded event. Filter to preview deployments only and ignore production builds, failed builds, and cancelled builds.

When it fires, the agent should:

1. Call Vercel's Get Deployment with the deployment ID from the webhook payload to read the project name, branch, commit SHA, preview URL, and the deploy author.

2. Use GitHub's Search Issues and Pull Requests (or List Pull Requests filtered by head branch) to find the matching open pull request for that branch and commit SHA. If no PR is found, post a minimal heads-up with the preview URL and project/branch, and skip the summary step.

3. Call GitHub's Get a Pull Request for the matched PR to read its title, body, author, base branch, and diff statistics.

4. Draft a plain-language summary of what changed in 1 to 3 sentences. No diff syntax, no jargon, no raw file path lists. The audience is non-engineers.

5. Decide which Slack channel to post to using a configurable map from directory prefix to channel. For example, apps/design-system goes to #design-review, apps/marketing-site goes to #marketing, apps/api goes to #backend-review. If nothing matches, fall back to a default channel like #previews.

6. Use Slack's Send a Message to post one message to the chosen channel that includes the PR title and link, the author, the preview URL as a clickable link, and the plain-language summary.

Skip the post entirely if the branch is on an ignore list, if the deploy author is on an ignore list, or if the PR is a draft and draft-skipping is enabled.

I should be able to configure: the directory-to-channel routing map, the default channel, branches and authors to skip, whether draft PRs are included, and which Vercel projects this workflow watches (so one workflow can cover multiple projects).

Additional information

What does this prompt do?
  • Watches Vercel for preview deployments that just finished building, and ignores production deploys.
  • Finds the matching pull request on GitHub and reads its title, author, and what changed.
  • Drafts a short plain-language summary so designers, PMs, and reviewers know what they are clicking into.
  • Posts to the right Slack channel based on which part of the codebase changed, so design updates land in the design channel and marketing changes land in the marketing channel.
What do I need to use this?
  • A Vercel account with the project you want monitored
  • A GitHub login for the repository connected to that Vercel project
  • A Slack workspace and the channels you want previews posted into
How can I customize it?
  • Map your own folders to Slack channels, for example apps/design-system to #design-review and apps/marketing-site to #marketing.
  • Decide what goes in the message, like PR title, author, preview link, and summary length.
  • Skip specific authors, branches, or draft pull requests so noisy previews stay quiet.
  • Set a default channel for changes that do not match any of your folder rules.

Frequently asked questions

Does this post every time Vercel rebuilds?
Only when a preview deployment succeeds. Production deploys are ignored, and builds that fail or are cancelled are skipped.
What if the preview can't be matched to a pull request?
It still posts the basics like project, branch, and preview URL, and skips the PR summary so reviewers are never blocked waiting on it.
How is the channel decided?
It looks at which folders changed in the pull request and posts to the channel you mapped to that area. Anything that doesn't match a rule goes to a default channel you choose.
Does it work with monorepos?
Yes. The folder-based routing is the whole point. Different teams subscribe to different channels based on the part of the repo they own.
Doesn't Vercel's built-in Slack integration already do this?
Vercel's built-in app posts a bare 'preview ready' link. This adds the PR title, author, a plain-language summary of what changed, and routes the message to the right team's channel.

Stop sending stakeholders into GitHub to figure out a preview.

Connect Vercel, GitHub, and Slack once, and every preview deploy comes with the context reviewers actually need.