# Trigger Vercel Deploy (Fix Vercel CI/CD Collaboration Issue for Free Tier Users)

Vercel has cut off collaboration CI/CD for free tier users. Here is a new and simple way to trigger deployment using GitHub Actions.

Published: 18th March 2026

Remember my last blog where I talked about setting up GitHub Actions to build and deploy to Vercel? Well, as many of you found out (including me!), that trick stopped working. 😫 

Vercel keeps tightening the screws on the free tier, but as "professional engineers," we always find a way! 😂

## The Problem
Vercel disables auto-deployments when a collaborator (someone other than the owner) pushes to the repo. This is super annoying when you are working on a side project with a friend and don't want to shell out $20/month just for CI/CD.

## The New Trick: The "Poke" Method 👈
Instead of trying to build the whole app in GitHub Actions (which is slow and hard to configure), we can just "poke" the repository. 

The idea is simple:
1. A collaborator pushes code to **main**.
2. A GitHub Action runs on the push.
3. This action commits a small dummy file (like **.deploy-trigger**) using a **Personal Access Token (PAT)** from the repository owner.
4. Because the push came from the **owner**, Vercel happily triggers the deployment! 🚀

# Implementing the Solution

First, you need a Personal Access Token (PAT) from the owner's GitHub account with **repo** permissions. Add this to your repo secrets as **VERCEL_GITHUB_TOKEN**.

Now, create **.github/workflows/trigger-deploy.yml**:

```yaml title=".github/workflows/trigger-deploy.yml" showLineNumbers
name: Trigger Vercel Deploy

on:
  push:
    branches: [ main ]

jobs:
  trigger-deploy:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Trigger Vercel Deploy
        run: |
          git config user.name "GitPost Bot"
          git config user.email "[EMAIL_ADDRESS]"
          echo "$(date)" > .deploy-trigger
          git add .deploy-trigger
          git commit -m "chore: trigger deploy [skip ci]"
          git push
        env:
          GITHUB_TOKEN: ${{ secrets.VERCEL_GITHUB_TOKEN }}
```

### Why this works?
- **GitPost Bot**: We use a bot name to keep the commit history clean.
- **.deploy-trigger**: A small file that stores the date of the last trigger.
- **[skip ci]**: We add this to the commit message so GitHub Actions doesn't go into an infinite loop (ironically, Vercel will still see the push and deploy it).

## Step to get VERCEL_GITHUB_TOKEN:
1. Go to your GitHub Settings > Developer settings > Personal access tokens > Tokens (classic).
2. Generate a new token with **repo** scope.
3. Copy it and go to your repository > Settings > Secrets and variables > Actions.
4. Add a new repository secret named **VERCEL_GITHUB_TOKEN**.

And there you have it! 🎉 Now every time your collaborator pushes, this action will "poke" the repo as you, and Vercel will start the deployment. It's fast, free, and works like a charm. 😎🚀

Thank you bye bye 🙋‍♂️

Original page: https://faisalhusa.in/blog/vercel-free-tier-cicd-fix-new
