Skip to content
Back to skills

Vercel Deploy Integration

ASecurity

'Deploy and manage Vercel production deployments with promotion, rollback,

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
devopsgobashgitapi

Works with

  • claude code
  • cli
  • api

Security analysis

A96/100
  • mediumUses curl or wget to download content

Pro scans all 5 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add pauldx/claudifying --skill vercel-deploy-integration --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Vercel Deploy Integration?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Vercel Deploy Integration
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pauldx-vercel-deploy-integration/badge)](https://www.skillsdirectory.com/skills/pauldx-vercel-deploy-integration)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: vercel-deploy-integration
description: 'Deploy and manage Vercel production deployments with promotion, rollback,
  and multi-region strategies.

  Use when deploying to production, configuring deployment regions,

  or setting up blue-green deployment patterns on Vercel.

  Trigger with phrases like "deploy vercel", "vercel production deploy",

  "vercel promote", "vercel rollback", "vercel regions".

  '
allowed-tools: Read, Write, Edit, Bash(vercel:*), Bash(curl:*)
version: 1.0.0
license: MIT
tags:
- saas
- vercel
- deployment
- production
- rollback
compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw
---
# Vercel Deploy Integration

## Overview
Deploy Vercel applications to production using CLI, API, and Git-triggered workflows. Covers deployment promotion, instant rollback, rolling releases, multi-region function configuration, and deploy hooks for headless CMS integration.

## Prerequisites
- Vercel project linked and configured
- Production environment variables set
- Custom domain configured (optional)
- `VERCEL_TOKEN` for API-based deployments

## Instructions

### Step 1: Production Deploy Methods
```bash
# Method 1: CLI direct production deploy
vercel --prod

# Method 2: Promote a preview deployment to production
vercel promote https://my-app-preview-xxx.vercel.app

# Method 3: API-based deployment
curl -X POST "https://api.vercel.com/v13/deployments" \
  -H "Authorization: Bearer $VERCEL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-app",
    "target": "production",
    "gitSource": {
      "type": "github",
      "repoId": "123456789",
      "ref": "main",
      "sha": "'$(git rev-parse HEAD)'"
    }
  }'

# Method 4: Deploy Hook (for CMS-triggered rebuilds)
curl -X POST "https://api.vercel.com/v1/integrations/deploy/prj_xxx/hook_xxx"
```

### Step 2: Instant Rollback
```bash
# Roll back to the previous production deployment (no rebuild)
vercel rollback

# Roll back to a specific deployment
vercel rollback dpl_xxxxxxxxxxxx

# Verify the rollback
vercel ls --prod
curl -s https://yourdomain.com/api/health | jq .

# Via API — promote a known-good deployment
curl -X POST "https://api.vercel.com/v9/projects/my-app/promote" \
  -H "Authorization: Bearer $VERCEL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"deploymentId": "dpl_known_good_id"}'
```

Key points:
- Instant rollback swaps production traffic without rebuilding
- The rolled-back deployment retains its original environment variables
- All production domains immediately point to the rolled-back deployment

### Step 3: Rolling Releases (Gradual Rollout)
Configure rolling releases in the dashboard under **Settings > Rolling Releases**:

```json
// vercel.json — rolling release config
{
  "rollingRelease": {
    "enabled": true,
    "stages": [
      { "targetPercentage": 10, "duration": 300 },
      { "targetPercentage": 50, "duration": 600 },
      { "targetPercentage": 100 }
    ]
  }
}
```

This routes 10% of traffic to the new deployment for 5 minutes, then 50% for 10 minutes, then 100%. If errors spike during any stage, rollback instantly.

### Step 4: Multi-Region Function Configuration
```json
// vercel.json — deploy functions to specific regions
{
  "regions": ["iad1", "sfo1", "cdg1", "hnd1"],
  "functions": {
    "api/user.ts": {
      "memory": 1024,
      "maxDuration": 30
    },
    "api/heavy-compute.ts": {
      "memory": 3008,
      "maxDuration": 60,
      "regions": ["iad1"]
    }
  }
}
```

Available regions:
| Region | Location | Code |
|--------|----------|------|
| Washington, D.C. | US East | `iad1` |
| San Francisco | US West | `sfo1` |
| Paris | Europe | `cdg1` |
| Tokyo | Asia | `hnd1` |
| Sydney | Australia | `syd1` |
| S. Paulo | South America | `gru1` |
| London | Europe | `lhr1` |

### Step 5: Deploy Hooks (CMS Triggers)
Create deploy hooks in **Settings > Git > Deploy Hooks**:

```bash
# Create via dashboard, then trigger with POST
curl -X POST "https://api.vercel.com/v1/integrations/deploy/prj_xxx/hook_xxx"

# Common CMS integrations:
# Contentful — webhook URL → Vercel deploy hook
# Sanity — GROQ listener → deploy hook
# Strapi — lifecycle hook → deploy hook
```

### Step 6: Deployment Monitoring
```bash
# List recent production deployments
vercel ls --prod --limit=5

# Check deployment state
curl -s -H "Authorization: Bearer $VERCEL_TOKEN" \
  "https://api.vercel.com/v6/deployments?target=production&limit=5&projectId=prj_xxx" \
  | jq '.deployments[] | {uid, url, state, createdAt}'

# Monitor deployment logs in real-time
vercel logs https://yourdomain.com --follow
```

## Deploy Lifecycle

```
git push main
  → Vercel builds (BUILDING)
    → Build succeeds (READY)
      → Traffic routes to new deployment
        → Old deployment kept for instant rollback
```

## Output
- Production deployment live via CLI, API, or Git push
- Instant rollback configured to previous deployment
- Rolling releases for gradual traffic shifting
- Function regions optimized for user geography
- Deploy hooks for CMS-triggered rebuilds

## Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| `DEPLOYMENT_BLOCKED` | Deployment freeze or branch protection | Disable freeze in Settings or use --force |
| Promotion fails | Preview deployment has different env vars | Verify env vars match between preview and production |
| Rolling release stuck | Error threshold exceeded | Fix the code, then restart the rollout |
| Deploy hook returns 404 | Hook deleted or project ID wrong | Recreate the hook in Settings > Git |
| Region not available | Plan doesn't support multi-region | Upgrade to Pro or Enterprise |

## Resources
- [Deploying to Vercel](https://vercel.com/docs/deployments)
- [Instant Rollback](https://vercel.com/docs/instant-rollback)
- [Rolling Releases](https://vercel.com/docs/rolling-releases)
- [Promoting Deployments](https://vercel.com/docs/deployments/promoting-a-deployment)
- [Deploy Hooks](https://vercel.com/docs/deploy-hooks)
- [Function Regions](https://vercel.com/docs/functions/configuring-functions)

## Next Steps
For webhook integration, see `vercel-webhooks-events`.

Files in this skill

  • SKILL.md6 KB
  • references/errors.md506 B
  • references/examples.md438 B
  • references/google-cloud-run.md643 B
  • references/vercel-deployment.md470 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in devops →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.