The GitHub connection is what makes Bellnote zero-touch: merge a PR and a draft is waiting for you. This page covers what we access, what we listen for, and how to control it.
Install the GitHub App
From your project, click Connect GitHub. You'll be redirected to GitHub to install the Bellnote GitHub App on one or more repositories. Pick the repo you ship your product from — the one whose merges your users care about.
Permissions: read-only, always
Bellnote requests the minimum scopes needed to read pull requests, commit metadata, and diff summaries. We never request write access to your code, issues, or settings. Installation IDs and webhook secrets are stored per repo; integration secrets are encrypted at rest.
What triggers a draft
Once connected, Bellnote receives signed webhooks (X-Hub-Signature-256 verified) for:
- Merged pull requests — closed PRs where
mergedis true. - Pushes to the default branch — multiple commits in one push are aggregated into a single draft.
Each event enqueues a generation job, idempotent by repo + SHA/PR number, so duplicate deliveries never create duplicate drafts. Drafts typically appear in your queue within 30 seconds.
Trigger modes
Per repo, in Integrations → GitHub:
| Mode | Behavior |
|---|---|
per_merge (default) |
Every merge or push produces one draft. |
weekly_digest |
Merges collect for a week; one digest draft is generated Monday 09:00 in your project timezone. |
What goes into a draft
For each change we collect the PR title, body, labels, commit messages, and a diff summary — capped at roughly 5,000 characters per change. Oversized diffs are trimmed to the file list plus the first hunks; lockfiles, dist/, and minified assets are dropped. The prompt then adds your voice profile (style directives learned from your published entries and edits) and up to three of your recent published entries as examples.
Chore-only changes (dependency bumps, invisible refactors) are auto-rejected with a reason rather than queued — enable draft everything mode if you prefer to decide yourself.
Test the connection
In Integrations → GitHub use Send test event, or click Generate test draft from latest merge in the draft queue. You'll see the connection status, the connected repo, and the last received event timestamp on the same page.
Disconnecting
Uninstall the GitHub App from your GitHub settings, or disconnect the repo in the portal. Existing drafts and published entries are unaffected — disconnecting only stops new drafts.