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
push and pull_request events on the specified branch.
Automatic deploys on push
When you push to the connected branch:- GitHub sends a
pushwebhook to Canvas - Canvas clones your repo and checks out the pushed commit
- Runs
npm cito install dependencies - Runs
npm run buildto produce the build output - Zips the
dist/directory and deploys it
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: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 therepo_url.

