Connecting a GitHub Organization to Vercel
Set up Vercel to deploy repositories owned by a company GitHub organization, with automatic production and preview deployments.
Deploy repositories owned by the company GitHub organization from a single central Vercel team. Once the Vercel GitHub app is installed on the organization, every push produces a deployment automatically — production on the default branch, previews on pull requests.
Prerequisites
- A Vercel Pro (or Enterprise) team. Private repositories owned by a GitHub organization cannot be deployed on the free Hobby plan.
- Owner role on the GitHub organization (required to install the Vercel GitHub app organization-wide).
- Owner, or Member with repository access, on any repository you want to import. Outside Collaborators cannot import or connect repositories.
- If the organization enforces SAML SSO: permission to authorize third-party apps for SSO.
Setup
Sign in to the correct Vercel team
Go to vercel.com and sign in. In the top-left team switcher, select the company Pro team — not a personal Hobby account. Keeping all organization projects under one team centralizes billing, access, and environment variables.
Signing in with a personal Hobby account will block organization-owned private repositories at deploy time. Confirm the team is Pro before continuing.
Install the Vercel GitHub app on the organization
- In Vercel, click Add New → Project.
- Under Import Git Repository, open the account/namespace dropdown at the top-left of the list and look for the GitHub organization.
- If the organization is not listed, click Adjust GitHub App Permissions (or Install Vercel) to open GitHub.
- On GitHub, choose the organization as the install target — not your personal account.
- Choose the repository scope: All repositories exposes every current and future repo, or Only select repositories (recommended for a company org) lets you pick specific repos and add more later.
- Confirm the requested permissions (Contents, Deployments, Pull Requests, Webhooks) and click Install.
If the organization enforces SAML SSO and repositories still do not appear after install, go to GitHub → Settings → Applications → Vercel → Configure and authorize the app for SSO.
Import the first repository
Back in the New Project screen, the organization's repositories now appear in the import list. Click Import next to the repository you want to deploy.
Vercel auto-detects the framework (for example, Next.js). Adjust the build settings only if needed:
- Build Command — default
next build - Output Directory — default
.nextfor Next.js - Install Command — default
npm install - Root Directory — set this if the app lives in a subfolder of a monorepo
Add any required Environment Variables now (or later under Project Settings → Environment Variables), then click Deploy.
Verify automatic deployments
- Push a commit to the default branch (
main). Vercel should create a Production deployment automatically. - Open a pull request or push to a non-production branch. Vercel should create a Preview deployment and post the preview URL as a comment on the pull request.
- Check the Deployments tab in the project to confirm both ran successfully.
Configure team access and project defaults
- Team members — invite the colleagues who manage or deploy projects under the Vercel team settings. Match Vercel roles to GitHub organization roles so the right people can import repositories.
- Bot comments — if the Vercel bot's pull request and commit comments are noise, silence them per project under Project Settings → Git.
- Production branch — confirm it is correct. Vercel defaults to
main, thenmaster, then the repository's default branch. - Environment variables — set Production, Preview, and Development scopes as needed per project.
Verification checklist
- Vercel team is Pro (or Enterprise), not Hobby.
- Vercel GitHub app is installed on the organization, with the intended repository scope.
- At least one organization repository imported and deployed successfully.
- Push to
maintriggers a Production deployment. - Pull request triggers a Preview deployment with a comment URL.
- Relevant team members have access with appropriate roles.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Organization repositories do not appear in the import list | App not installed on the organization, or repo out of scope | Re-run the install step; check GitHub → Settings → Applications → Vercel → Configure |
| Repositories still missing after install | SAML SSO not authorized for the Vercel app | Authorize Vercel for SSO in the GitHub app configuration |
Cannot deploy from private repository | Project is on a Hobby account | Move the project to the Pro team |
| Member can see the repo but cannot import | Outside Collaborator, not a Member or Owner | Confirm GitHub organization role and repository access |
| Deployments do not trigger on push | Webhook missing or app permissions changed | Disconnect and reconnect Git in Project Settings → Git, or reinstall the Vercel GitHub app |