Knowledge base

Connect your GitHub account with a token so your sites deploy from a repository

Create a fine-grained GitHub token for the repositories you deploy and connect it, so a push deploys your site and branches get previews.

What connecting it does for you

Connecting GitHub with a token lets a site deploy from one of your repositories: push to the branch and the site updates. It also lets us publish to GitHub Pages on your account where you choose that as a site's host.

If your repositories belong to an organisation, prefer the Zinn® GitHub app instead — see Install the Zinn® GitHub app. A token belongs to one person and stops working when they leave.

Before you start

A GitHub account with access to the repositories you want to deploy. If they belong to an organisation, an owner may have to approve fine-grained tokens for it.

1. Create the key at GitHub

On GitHub, click your profile picture, then Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token. Name it and choose an expiration. Under Repository access choose Only select repositories and pick the ones you deploy — the narrowest access that works.

Under Repository permissions give Read and write on:

  • Contents
  • Pages
  • Administration

Press Generate token and copy it — GitHub shows it once.

2. Connect it here

Open Integrations in your dashboard and choose Connect an account. Pick Code hosting as the group and GitHub as the account, fill in API token, and press Connect account.

We test what you paste before anything is saved. A key that does not work is never stored, and the answer says what was wrong with it. A key that works is kept encrypted in our secrets vault — never in our database — and is never shown again, not even to you.

What happens next

  • A site can deploy straight from a repository on this account: choose it on the
  • site's repository connection, pick the repository and branch, and a push deploys.

  • Every other branch can get its own preview, so you can check a change before it reaches the
  • live site.

  • Git-built static hosts such as Render and Azure Static Web Apps use this connection as the
  • source of the site's code.

If it does not connect

A repository does not appear. The token's repository access does not include it. Edit the token on GitHub and add the repository.

It worked and then stopped. Fine-grained tokens expire on the date you chose. Generate a new one and connect it; GitHub emails you before a token expires.

It says the key was rejected. Almost always one of three things: a space or a line break copied with it, a key that has expired, or a key that was revoked or regenerated after you copied it. Create a fresh one and paste it again.

It connects, but something later fails. The key authenticates but lacks a permission the action needs. Create a new key with the permissions listed above, then disconnect the old connection and connect the new key.

Disconnecting

Open Integrations, find the account and press Disconnect. That deletes the stored key at once. Anything that was using it stops at its next action, and the screens that depended on it say so rather than failing quietly.

Disconnecting does not undo what was already done — records, deployments or settings we changed on your account stay as they are. If you think the key itself may have leaked, also revoke it at the vendor; disconnecting removes our copy, not theirs.

Latest from the blog

What we have been writing about hosting, SEO and running sites at scale.

SEO and Link Building from the Hosting Layer: A 2026 Operator's View

How hosting shapes indexing and link equity in 2026: keeping pages indexed, vetting aged domains before you build on them, link building without a footprint, and an honest line on what infrastructure can and cannot do for SEO.

Read the post

Making WordPress Fast and Secure: A Performance and Plugin Checklist

A practical checklist for fast, secure WordPress: server-level caching, a per-site object cache, the handful of plugins worth running, keeping the stack current, and the WooCommerce pages you must never cache.

Read the post

How to Choose Managed Web Hosting in 2026: A Buyer's Guide

What actually separates good managed hosting from a cheap box with a control panel — migrations, backups, isolation, real caching and honest scaling — and how to judge it before you commit.

Read the post

Read the blog

Still stuck?

Support is included on every plan, the desk is open 24 hours a day, and you can write to us in any of our 58 languages — we answer you in yours.

Contact support All articles