I’m trying to configure my Vercel project so that:
-
Preview deploys start automatically (on any feature branch commit).
-
Develop and main deploys are triggered only by my GitHub Actions workflow — not automatically by Vercel.
I know that it’s possible to disable automatic builds for specific branches via Ignored Build Step, e.g.:
[ "$VERCEL_ENV" != "preview" ] && exit 1
or using the “Only build pre-production” option.
However, when I do this, deploys triggered by my GitHub Actions (via deploy hooks) are also skipped/canceled, because of the rule set in Ignored build step.
Current workflow (if “Automatic” is used in Ignored Build Step):
-
I make code changes → commit → automatic preview deploy starts (✅ expected).
-
I merge to
develop→ automatic develop deploy starts (❌ unwanted). -
GitHub Actions also runs → triggers Vercel deploy (✅ desired).
Result: I get two deploys for develop — one automatic from Vercel, one from GA via webhook.
❓Question
How can I:
-
Disable automatic deploys for
developandmain, -
But still allow deploys triggered via Vercel Deploy Hook (from GitHub Actions)?
Is there a way for Vercel to recognize deploys triggered by webhook separately from automatic Git commits, or do I need some manual workaround?
I couldn’t wrap my head around it ![]()