
A Deploy button for editors: trigger, track, cancel and roll back Vercel deployments from the Payload admin.
Jobs & automationConnects Payload to a separate Vercel frontend project so editors can rebuild the site without a Vercel login. It tracks pending changes on opted-in collections and globals, runs debounced automatic deploys, and records each deployment in a ledger collection. With an optional Vercel token it also shows status and history and supports cancel and rollback. Requires Payload 3.88 or later.
Vercel Integration for Payload CMS: trigger deploy hooks from the admin or automatically after content changes, see what is waiting to go live, follow every deployment, cancel and roll back.
Installation
npm i @payload-solutions/plugin-vercel2
Stars
0
Forks
0
Open Issues
Today
Last Updated
4
Weekly Downloads
v0.2.0
npm Version
566.7 KB
Unpacked Size
0
Dependencies
Trends appear after 7 days of data. Daily snapshots have not started yet.
Shared by 5 plugins in mpresecan/payload-solutions.
Trends appear after 7 days of data. Daily snapshots have not started yet.
Each point is npm's rolling 7-day download count.
Health Score
Composite score based on GitHub activity, stars, npm downloads, publish recency, dependency count, and package size.
Badge for your README
[](https://payloaddirectory.dev/plugins/1356812914-plugin-vercel)<a href="https://payloaddirectory.dev/plugins/1356812914-plugin-vercel"><img src="https://payloaddirectory.dev/badge/1356812914-plugin-vercel.svg" alt="Payload Directory"></a>README
Vercel Integration for Payload CMS. Your frontend is a separate Vercel project — Astro, a static Next export, a second Next app — and it has to be rebuilt when editors publish. This plugin gives editors a Deploy button on every admin page, shows what is waiting to go live, deploys automatically one minute after the last change, follows every deployment on Vercel, and can cancel or roll back from the same place. Nobody needs a Vercel login.
import { vercelPlugin } from '@payload-solutions/plugin-vercel'
vercelPlugin({
targets: [{ slug: 'production', label: 'Website', hook: process.env.VERCEL_DEPLOY_HOOK_PRODUCTION, url: 'https://example.com' }],
token: process.env.VERCEL_TOKEN, // optional: status, history, cancel, rollback
collections: { pages: true, posts: true },
globals: { header: true },
})
Docs: https://payload.solutions/docs/plugins/vercel-integration
pnpm add @payload-solutions/plugin-vercel
Peer dependencies: payload ^3.88, @payloadcms/ui, @payloadcms/next, react, react-dom. No runtime dependencies.
production, staging, a docs site). The Vercel project id is read from the hook URL. A target whose env var is unset shows as not configured and never throws.afterChange/afterDelete hooks on the collections and globals you opt in record one row per document per target (a document saved twenty times is one row). Collections with drafts count publishes and unpublishes only. The admin header shows "3 changes · deploying in 0:42"; every tracked document carries a Not deployed yet / Live pill.sendBeacon when the tab closes, the vercel-tick scheduled task, or POST /api/vercel/tick from a cron — so it works on Vercel Hobby (whose cron runs once a day) with zero extra infrastructure.vercel-deployments with who, why, what changed (capped summary), and, with a token, the Vercel deployment id, state, URL, duration and error. Bounded by retention (90 days / 200 rows per target).VERCEL_TOKEN: polling (/v7/deployments, /v13/deployments/{id}) plus an optional signed webhook receiver (POST /api/vercel/webhook, HMAC-SHA1 x-vercel-signature, Pro/Enterprise accounts).admin.components.actions), Deployments view (/admin/deployments), document pill (beforeDocumentControls), and the deployments collection list. Built from @payloadcms/ui components.payload.vercel.deploy(), .status(), .pending(), .markChanged(), .pause(), .cancel(), .rollback(), .tick().
Deploy from any admin page, with a reason and the changes it carries. |
Every tracked document says whether it is live yet. |
A failed build keeps its changes pending. |
The header pill on every admin page. |
More in the documentation: https://payload.solutions/docs/plugins/vercel-integration
pnpm dev:mock-vercel # mock Vercel on :3399 (deploy hooks, deployments API, cancel, rollback)
pnpm dev # admin on :3400, [email protected] / test — copy dev/.env.example to dev/.env first
pnpm test:unit # pure logic
pnpm test:int # real Payload + sqlite against the mock
pnpm test:e2e # Playwright, starts both servers
Vercel is a trademark of Vercel, Inc. This plugin is not affiliated with or endorsed by Vercel.
Topics
plugin action scheduler
Schedule one-off, recurring and cron actions with retries and an admin dashboard, run by Payload's job queue.
664/wk2v3
n8n webhooks
Register n8n webhooks in Payload and trigger n8n flows from your code or admin
335/wk3v3
payload plugin outbound webhooks
Send signed HTTP webhooks on collection create, update and delete, delivered durably through the Jobs Queue
6011/wk0v3
payload plugin netlify deploy
Publish button in the Payload admin that builds a Netlify site, streams the log and publishes a preview
6614/wk30v3
payload auditor
Hook-based audit logging for Payload collections and globals with buffered writes and automatic log cleanup
69735/wk79v3
payload plugin scheduler
Date field that queues native Payload schedulePublish jobs for drafts in collections and globals
6720/wk32v3