Skip to main content

Overview

Connect a GitHub repository to a Canvas app and every push to your branch triggers an automatic build and deploy. Pull requests get preview URLs for live review before merging.

Connecting a repo

This configures a GitHub webhook that listens for push and pull_request events on the specified branch.

Automatic deploys on push

When you push to the connected branch:
  1. GitHub sends a push webhook to Canvas
  2. Canvas clones your repo and checks out the pushed commit
  3. Runs npm ci to install dependencies
  4. Runs npm run build to produce the build output
  5. Zips the dist/ directory and deploys it
Build output is streamed in real time — see Build Logs.
Canvas auto-detects your build output directory. It looks for dist/, build/, or out/ in order.

What gets built

Canvas runs a standard Node.js build process:
Your package.json must include a build script. The build output must contain an index.html.

Git metadata in versions

Every deploy from GitHub automatically records git metadata in the version record: This metadata is visible in Version History and in Studio.

Webhook events


Disconnecting

To stop automatic deploys, remove the webhook from your GitHub repository settings or update the app’s configuration to remove the repo_url.