🚀 Quickstart
Connect to GitHub App OAuth with Nango and see data flow in 2 minutes.1
Create the integration
In Nango (free signup), go to Integrations -> Configure New Integration -> GitHub App OAuth.
2
Authorize GitHub App OAuth
Go to Connections -> Add Test Connection -> Authorize, then log in to GitHub App OAuth. Later, you’ll let your users do the same directly from your app.
3
Call the GitHub App OAuth API
Let’s make your first request to the GitHub API. Replace the placeholders below with your Environment API key, integration ID, and connection ID:Or fetch credentials with the Node SDK or API.✅ You’re connected! Check the Logs tab in Nango to inspect requests.
- cURL
- Node
curl "https://api.nango.dev/proxy/repos" \
-H "Authorization: Bearer <NANGO-API-KEY>" \
-H "Provider-Config-Key: <INTEGRATION-ID>" \
-H "Connection-Id: <CONNECTION-ID>"
Install Nango’s backend SDK with
npm i @nangohq/node. Then run:import { Nango } from '@nangohq/node';
const nango = new Nango({ apiKey: '<NANGO-API-KEY>' });
const res = await nango.get({
endpoint: '/repos',
providerConfigKey: '<INTEGRATION-ID>',
connectionId: '<CONNECTION-ID>'
});
console.log(res.data);
4
Implement Nango in your app
Follow our Auth implementation guide to integrate Nango in your app.To obtain your own production credentials, follow the setup guide linked below.
📚 GitHub App OAuth Integration Guides
Nango maintained guides for common use cases.- How to register your own GitHub App OAuth app
Register an OAuth app with GitHub and obtain credentials to connect it to Nango
🧩 Pre-built syncs & actions for GitHub App OAuth
Explore Nango-provided actions in your dashboard. Extend and customize them to fit your needs.Others
| Function name | Description | Type | Source code |
|---|---|---|---|
add-issue-comment | Create a new comment on an issue or pull request discussion thread. | Action | 🔗 Github |
cancel-workflow-run | Cancel a queued or in-progress workflow run. | Action | 🔗 Github |
compare-commits | Compare two commits/branches/tags and get the diff, ahead/behind counts, and file list. | Action | 🔗 Github |
create-branch | Create a new branch (git ref) pointing at an existing commit. | Action | 🔗 Github |
create-commit-status | Create a status (e.g. for CI) on a specific commit. | Action | 🔗 Github |
create-deployment-status | Add a status update to a deployment (e.g. success, failure, in_progress). | Action | 🔗 Github |
create-deployment | Create a new deployment. | Action | 🔗 Github |
create-issue-comment | Create a comment on an issue or pull request | Action | 🔗 Github |
create-issue | Create a new issue in a GitHub repository. | Action | 🔗 Github |
create-label | Create a repository label with name, color, and description | Action | 🔗 Github |
create-or-update-file | Create a new file, or update an existing one, via a single commit. | Action | 🔗 Github |
create-pages-site | Enable and configure a GitHub Pages site for a repository. | Action | 🔗 Github |
create-pull-request-review | Submit a review on a pull request (a comment, approval, or change request). | Action | 🔗 Github |
create-pull-request | Create a new pull request. | Action | 🔗 Github |
create-release | Creates a new release for a repository | Action | 🔗 Github |
create-review-request | Request reviewers or teams on an open pull request. | Action | 🔗 Github |
create-tag-object | Create an annotated git tag object for a commit or object SHA. | Action | 🔗 Github |
delete-branch | Delete a branch | Action | 🔗 Github |
delete-file | Deletes a file from a GitHub repository via a single commit | Action | 🔗 Github |
delete-issue-comment | Delete an issue or pull request comment. | Action | 🔗 Github |
delete-label | Delete a repository label by name. | Action | 🔗 Github |
delete-release | Delete a release. The underlying git tag is not deleted by this call. | Action | 🔗 Github |
get-branch | Get details of a single branch, including its latest commit sha. | Action | 🔗 Github |
get-commit | Get details of a single commit by sha or ref. | Action | 🔗 Github |
get-file-content | Get the content and metadata of a file (or list a directory) at a given path and ref. | Action | 🔗 Github |
get-issue | Fetch a single issue or pull request issue record by number. | Action | 🔗 Github |
get-job-logs-download-url | Get the API endpoint URL for a workflow job log download. Due to Nango proxy limitations with 302 redirects, this returns the API endpoint rather than the actual download URL. | Action | 🔗 Github |
get-label | Retrieve a single repository label by name. | Action | 🔗 Github |
get-merge-queue-entry | Get the merge queue entry for a specific pull request, if the repository has a merge queue enabled. | Action | 🔗 Github |
get-pages-site | Get the GitHub Pages site configuration of a repository | Action | 🔗 Github |
get-pull-request | Get details of a single pull request. | Action | 🔗 Github |
get-release | Get details of a single release. | Action | 🔗 Github |
get-repository | Get details of a repository. | Action | 🔗 Github |
get-review | Retrieve a pull request review by review ID. | Action | 🔗 Github |
get-tag-ref | Retrieve a tag ref or branch-style Git reference. | Action | 🔗 Github |
get-workflow-run-job | Get details of a single job within a workflow run. | Action | 🔗 Github |
get-workflow-run | Get details and status of a single workflow run | Action | 🔗 Github |
get-workflow | Get details of a single workflow by ID or filename. | Action | 🔗 Github |
list-branches | List branches in a repository. | Action | 🔗 Github |
list-commit-statuses | List all statuses posted for a specific commit. | Action | 🔗 Github |
list-commits | List commits on a branch or overall. | Action | 🔗 Github |
list-deployment-statuses | List the status history of a deployment. | Action | 🔗 Github |
list-deployments | List deployments for a repository | Action | 🔗 Github |
list-installation-repositories | List the repositories this GitHub App installation has access to | Action | 🔗 Github |
list-issue-comments | List comments on an issue or pull request. | Action | 🔗 Github |
list-issues | List issues (and, per GitHub API design, pull requests too) in a repository | Action | 🔗 Github |
list-labels | List repository labels with pagination. | Action | 🔗 Github |
list-pull-request-commits | List the commits included in a pull request. | Action | 🔗 Github |
list-pull-request-files | List the files changed in a pull request. | Action | 🔗 Github |
list-pull-request-reviews | List reviews submitted on a pull request. | Action | 🔗 Github |
list-pull-requests | List pull requests in a repository. | Action | 🔗 Github |
list-release-assets | List assets uploaded to a repository release. | Action | 🔗 Github |
list-releases | List releases for a repository. | Action | 🔗 Github |
list-tags | List tags in a repository. | Action | 🔗 Github |
list-workflow-run-artifacts | List artifacts produced by a workflow run. | Action | 🔗 Github |
list-workflow-run-jobs | List the jobs that ran as part of a workflow run. | Action | 🔗 Github |
list-workflow-runs | List workflow runs for a specific workflow or for the whole repository. | Action | 🔗 Github |
list-workflows | List GitHub Actions workflows defined in a repository. | Action | 🔗 Github |
merge-pull-request | Merge a pull request | Action | 🔗 Github |
rerun-workflow | Re-run a completed workflow run | Action | 🔗 Github |
search-code | Search file contents across indexed GitHub repositories using code-search qualifiers. | Action | 🔗 Github |
search-commits | Search commits across indexed repositories by message, author, or metadata qualifiers. | Action | 🔗 Github |
search-issues-and-pull-requests | Search issues and pull requests across indexed repositories using GitHub’s issue-search qualifiers. | Action | 🔗 Github |
search-labels | Search for labels within a specific repository by name or description. | Action | 🔗 Github |
search-repositories | Search public and accessible repositories using GitHub’s repository-search qualifiers. | Action | 🔗 Github |
search-topics | Search GitHub topics (the tagging/categorization objects behind repository topic pages). | Action | 🔗 Github |
search-users | Search GitHub user and organization accounts using user-search qualifiers. | Action | 🔗 Github |
trigger-workflow-dispatch | Manually trigger a workflow run (the workflow must have a workflow_dispatch trigger defined). | Action | 🔗 Github |
update-issue-comment | Update the body of an existing comment. | Action | 🔗 Github |
update-issue | Edit an issue’s title, body, state, assignees, labels, or milestone. | Action | 🔗 Github |
update-label | Update a repository label’s name, color, or description. | Action | 🔗 Github |
update-pull-request | Update a pull request’s title, body, state, or base branch. | Action | 🔗 Github |
update-release | Update an existing release’s metadata. | Action | 🔗 Github |
update-repository | Update repository-level settings such as description, homepage, default branch, feature toggles, merge options, and archived state. | Action | 🔗 Github |
branches | Sync branches for a repository. | Sync | 🔗 Github |
commits | Sync commits on a repository’s default branch (or a specified branch). | Sync | 🔗 Github |
deployments | Sync deployments for a repository. | Sync | 🔗 Github |
issues | Sync issues for one or more GitHub repositories with incremental updates based on issue activity | Sync | 🔗 Github |
list-files | Lists all the files of a Github repo given a specific branch | Sync | 🔗 Github |
pull_requests | Sync pull requests for a repository. | Sync | 🔗 Github |
releases | Sync releases for a repository. | Sync | 🔗 Github |
repositories | Sync repositories visible to the authenticated GitHub app installation | Sync | 🔗 Github |
repository-files | Sync file metadata for a specific repository branch. | Sync | 🔗 Github |
workflow_runs | Sync GitHub Actions workflow runs for a repository. | Sync | 🔗 Github |