Skip to content

Vercel GitHub Webhook Reconnect — Step by Step

Goal: Reconnect the GitHub integration so git push origin main auto-deploys to Vercel without running vercel --prod --force manually.

Estimated time: 2-3 minutes.


Step 1 — Open the Vercel project Git settings

Go to: https://vercel.com/ecomonetize/ecomonetize-content-engine/settings/git

Make sure you're logged in to Vercel under the account that has admin access to the ecomonetize org.


Step 2 — Check current state

On the Git settings page, look for a "Connected Git Repository" section:

What you see What it means
✅ Connected with green check + repo details Display says connected but webhook may be broken — go to Step 3
⚠️ "Connect Git Repository" button (no repo shown) Not connected at all — skip to Step 4
❌ "Error: repository not found" Auth token expired — go to Step 3

Step 3 — Disconnect (if currently showing connected or errored)

Click "Disconnect" on the current repository card. Confirm the dialog.

The page refreshes and shows a "Connect Git Repository" button. Proceed to Step 4.


Step 4 — Reconnect to GitHub

Click "Connect Git Repository" → choose GitHub.

If Vercel already has the GitHub app installed: Find eco-monetize/ecomonetize-factory in the list and click it. Accept the defaults (Framework: Vite, Build command: npm run build, Output: dist). Click "Connect".

If Vercel doesn't have GitHub app access: Click "Install Vercel on GitHub" → select "Only select repositories" → select ecomonetize-factory"Install & Authorize". You'll be redirected back to Vercel. Then follow the step above.


Step 5 — Verify the webhook installed

gh api repos/eco-monetize/ecomonetize-factory/hooks

Look for an entry where config.url contains vercel.com:

[{
  "id": 12345678,
  "name": "web",
  "active": true,
  "events": ["push", "pull_request"],
  "config": {
    "url": "https://api.vercel.com/v1/integrations/deploy/...",
    "content_type": "json"
  }
}]

If the response is [] (empty): the reconnect didn't install the webhook. Retry Steps 3-4 once. If still empty, there's a GitHub App permission issue — manual webhook install required.

If you see a vercel.com hook: you're done.


Step 6 — Test with a throwaway commit

cd /Users/rhartley/ecomonetize/Project.Manager/Code.Platform/ecomonetize-factory
git commit --allow-empty -m "chore: test vercel webhook reconnection"
git push origin main

Watch: https://vercel.com/ecomonetize/ecomonetize-content-engine/deployments

Within 10-20 seconds a new deployment should appear with "Building" status. Let it finish (~60-90 sec) and confirm it turns green ("Ready").


Verify the new bundle is live

curl -sL "https://ecomonetize-content-engine.vercel.app/?cb=$(date +%s)" | grep -oE '/assets/index-[A-Za-z0-9_-]+\.js' | head -1

The bundle hash should change from the previous value. If it does, the webhook is working correctly.


Troubleshooting

Symptom Fix
[] empty hooks after two reconnect attempts Manual webhook install via GitHub → repo Settings → Webhooks → Add webhook. Payload URL: https://api.vercel.com/v1/integrations/deploy/{your-project-id}. Content type: application/json. Events: push + pull_request.
Reconnect fails with auth error Sign out of Vercel GitHub integration and re-authorize: Vercel Dashboard → Settings → Integrations → GitHub → Manage.
Deployment triggers but fails to build Webhook is working. Build failure is a separate issue — check the Vercel deployment logs for the specific error.

  • [[vercel]] — primary Vercel tool reference
  • [[github]] — GitHub tool reference