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.

Faisal Husain

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:
- A collaborator pushes code to main.
- A GitHub Action runs on the push.
- This action commits a small dummy file (like .deploy-trigger) using a Personal Access Token (PAT) from the repository owner.
- 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:
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:
- Go to your GitHub Settings > Developer settings > Personal access tokens > Tokens (classic).
- Generate a new token with repo scope.
- Copy it and go to your repository > Settings > Secrets and variables > Actions.
- 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 🙋♂️