Why Vercel replaced its notification stack with Knock

Notifications are one of those features that seem simple until you build them at scale. Vercel recently launched a public beta of its new notification system, built on top of Knock, a notifications API and React component library. The move was driven by a need for faster iteration, reliable delivery, and better observability — without maintaining the underlying infrastructure in-house.

The evaluation criteria were straightforward. Vercel needed a solution that could:

  • Work with its existing design and component system
  • Support custom, flexible notification logic
  • Scale with its user base without added operational complexity

The team also wanted to ship quickly, since the notification center was a highly requested feature. But it needed to remain adaptable for future requirements, not just the immediate use case.

Knock's primitives: workflows, feeds, and preferences

Knock provides a set of building blocks that cover the full notification lifecycle. Workflows are triggered via an API call to the trigger endpoint, which passes a payload of recipients and data through the specified workflow. From there, Knock handles delivery across channels — starting with in-app feeds and email, but extensible to other channels as needed.

A few primitives stood out for Vercel's implementation:

  • Per-user in-app feeds with real-time updates over WebSockets, exposed through React hooks.
  • Notification preferences managed through Knock's API, so users control which channels they receive alerts on.
  • Batching to consolidate noisy notification types, such as domain misconfiguration alerts, into more digestible digests.
  • A single dashboard offering a unified view of all notifications, with analytics and live workflow previews for debugging and performance monitoring.

Knock's React component library was a significant advantage in the evaluation. Vercel was able to stand up an in-app feed demo in under an hour, while still maintaining full control over the component code. The library handles the complex parts — feed state, pagination, unread counts, and real-time updates — while leaving styling and layout to the application.

One of the more practical benefits surfaced internally: customer success engineers can troubleshoot notification issues, and product managers can update templates and workflows, all without waiting on engineering cycles. That division of labor shortens the loop between identifying a problem and fixing it.

New notification types in the Vercel dashboard

The new system ships with several notification types designed around common deployment workflows.

Deployment failure alerts. Users now receive notifications when a deployment fails. These are enabled by default across email and the in-app feed, and can be configured per channel in account settings.

Batched domain misconfiguration digests. Domain misconfiguration alerts were a known source of noise. Using Knock's batch function, Vercel now aggregates these into fewer, more consumable notifications, so teams still get the signal without the spam.

Future releases will extend the system with additional batched notifications and new types, including comments on Preview Deployments, delivered across all supported channels.

Getting started with the integration

The Vercel + Knock integration is available through Vercel's integration marketplace. Connecting a Vercel project to a Knock account automatically sets the KNOCK_API_KEY and KNOCK_PUBLIC_API_KEY environment variables on the project, removing the need for manual configuration.

For teams already building with Next.js, the integration fits naturally into an existing workflow. Knock's API and React components slot in alongside Next.js API Routes, which deploy as Serverless Functions automatically. That combination lets developers add a production-grade notification system without provisioning any dedicated infrastructure.