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
Published
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 πββοΈ
Let's work together
Have a product problem worth solving?
I help teams build fast, dependable products with thoughtful interfaces and strong engineering foundations.