GitHub icon

GitHub

Code hosting platform for repositories, issues, pull requests, commits, branches, and releases.

Supports repository work across branches, issues, comments, gists, collaborators, cards, and repository events.

Sign in to connect GitHub

Sign in to connect an account and start using GitHub in your apps.

Example Use Cases

These are example ways Snow can use GitHub when building apps with you. This list is meant to show examples, not document every possible capability. Connecting an account does not make Snow run these automatically on its own.

Abort Repository Migration

Tool to abort a repository migration that is queued or in progress. Use when you need to cancel an ongoing migration operation.

Accept a repository invitation

Accepts a PENDING repository invitation that has been issued to the authenticated user.

Add a repository collaborator

Adds a GitHub user as a repository collaborator, or updates their permission if already a collaborator; `permission` applies to organization-owned repositories (personal ones default to 'push' and ignore this field), and an invitation may be created or permissions updated directly.

Add a repository to an app installation

Adds a repository to a GitHub App installation, granting the app access; requires authenticated user to have admin rights for the repository and access to the installation.

Add a selected repository to a user secret

Grants a specified repository access to an authenticated user's existing Codespaces secret, enabling Codespaces created for that repository to use the secret.

Add app access restrictions

Adds GitHub Apps to the list of apps allowed to push to a protected branch. The branch must already have protection rules with restrictions enabled. This endpoint only works for organization repositories, not personal repositories. Apps must be installed on the repository with 'contents' write permissions.

Add assignees to an issue

Adds assignees to a GitHub issue. This action only adds users - it does not remove existing assignees. Changes are silently ignored if the authenticated user lacks push access to the repository.

Add email for auth user

Adds one or more email addresses (which will be initially unverified) to the authenticated user's GitHub account; use this to associate new emails, noting an email verified for another account will error, while an existing email for the current user is accepted.

Add field to user project

Tool to add a custom field to a user-owned GitHub Projects V2 project. Use when you need to add fields like status, priority, or custom data to organize project items.

Add item to user project

Tool to add an issue or pull request to a user-owned GitHub project. Use when you need to add existing repository items to a project board.

Triggers

These are the trigger events currently available for GitHub.

Branch Changed

Triggers when a GitHub branch changes. Monitors a specific branch for: - New commits pushed (head commit SHA changes) - Protection status toggled (branch becomes protected or unprotected) - Protection settings changed, including: required status checks and their enforcement level, admin enforcement, required pull request reviews (dismiss stale reviews, code owner reviews, approving review count, last push approval), required linear history, force push allowance, deletion allowance, conversation resolution, branch locking, and fork syncing.

Check Run Status / Conclusion Changed

Triggers when a specific GitHub check run changes its status or conclusion. Monitors a single check run for changes to: status (queued, in_progress, completed, etc.), conclusion (success, failure, neutral, cancelled, skipped, timed_out, action_required), started_at, and completed_at.

Check Suite Status / Conclusion Changed

Triggers when a GitHub check suite changes its status or conclusion for a given ref. Monitors all check suites associated with a git reference (branch, tag, or commit SHA) for changes to status (queued, in_progress, completed, etc.) and conclusion (success, failure, neutral, cancelled, skipped, timed_out, action_required, startup_failure, stale). Optionally filters by GitHub App ID.

Commit Event

Triggered when a new commit is pushed to a repository.

Follower Changes

Triggers when new followers are detected on your GitHub account.

GitHub Deployment State Changed

Triggers when a specific GitHub deployment's fields change. Monitors the following aspects of a single deployment: - ``environment`` -- the target environment name - ``original_environment`` -- the original environment name before normalization - ``description`` -- the human-readable deployment description - ``task`` -- the deployment task name - ``sha`` -- the commit SHA being deployed - ``ref`` -- the branch, tag, or SHA reference being deployed - ``updated_at`` -- the last-updated timestamp - ``transient_environment`` -- whether the environment is temporary - ``production_environment`` -- whether this is a production deployment When any of these fields change, an event is emitted containing the full current deployment details and a list of which fields changed.

GitHub Issue Comment Changed

Triggers when a specific GitHub issue comment changes. Monitors the following fields for changes: - ``body`` -- the text content of the comment (detects edits) - ``updated_at`` -- the last-updated timestamp - ``reactions_*`` -- all individual reaction counts (thumbs up/down, laugh, confused, heart, hooray, eyes, rocket) and the total count When a change is detected, the payload includes the full current comment data plus a ``changed_fields`` list indicating exactly which fields were modified.

GitHub Issue Labels Changed

Triggers when the labels on a specific GitHub issue change. Fires whenever a label is added to, removed from, or has its metadata (color, description) modified on the monitored issue. The payload includes: - ``current_labels`` -- the full set of labels currently on the issue - ``added_labels`` -- labels that were newly added - ``removed_label_names`` -- names of labels that were removed - ``changed_label_names`` -- labels whose metadata changed without being added or removed

GitHub Pull Request Reviewers Changed

Triggers when the list of requested reviewers (users or teams) for a pull request changes — for example when a reviewer is added, removed, or re-requested. The payload includes the full current reviewer list (users and teams with details), which reviewers were added, which were removed, and the previous reviewer list for reference.

GitHub Release State Changed

Triggers when a specific GitHub release (identified by tag name) changes. Monitors the release title, body/notes, draft flag, prerelease flag, published timestamp, target branch/commit, and the set of attached assets. The payload includes the full current release details, a list of which fields changed, and the previous values for comparison.