# GitHub — Pipedream Connect

> Where the world builds software. Millions of developers and companies build, ship, and maintain their software on GitHub—the largest and most advanced development platform in the world.

- API slug: `github` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Developer Tools
- Website: https://github.com/
- Managed OAuth scopes: `repo` · `read:org` · `admin:org_hook` · `gist` · `project` · `notifications` · `read:user` · `write:discussion` · `admin:repo_hook`
- This page (HTML): https://pipedream.com/apps/github
- Tools: 48 actions · 27 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: github`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "github",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Create Issue:
const result = await mcp.callTool({
  name: "github-create-issue",
  arguments: {
    repoFullname: "Repository",
    title: "Title",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a GitHub endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://api.github.com/user

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vy?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "github-create-issue",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    github: { authProvisionId: "apn_xxxxxxx" },
    repoFullname: "Repository",
    title: "Title",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (48)

### `github-create-issue` — Create Issue (Write)

Create a new issue in a repository, optionally with labels, assignees, and a milestone. Provide the repository as an owner/repo string. Labels and assignees are passed by name/login (e.g. bug, octocat) — setting them requires push access to the repo. To comment on an existing issue instead, use…

Full schema: https://pipedream.com/apps/github/actions/create-issue.md

### `github-search-issues-and-pull-requests` — Search Issues and Pull Requests (Read-only)

Search issues and pull requests across GitHub using the issues-search query DSL. This is the escape hatch for finding items by keyword, state, label, author, or assignee when you don't already know the issue/PR number. Build the query from space-separated qualifiers: repo:owner/name to scope to one…

Full schema: https://pipedream.com/apps/github/actions/search-issues-and-pull-requests.md

### `github-create-branch` — Create Branch (Write)

Create a new branch in a repository, pointing at the tip of a source branch. Provide the repository as an owner/repo string, the new branchName, and optionally the sourceBranch to branch from (defaults to the repository's default branch). Use Create or Update File Contents to add commits to the new…

Full schema: https://pipedream.com/apps/github/actions/create-branch.md

### `github-create-gist` — Create Gist (Write)

Allows you to add a new gist with one or more files. See the documentation

Full schema: https://pipedream.com/apps/github/actions/create-gist.md

### `github-create-issue-comment` — Create Issue Comment (Write)

Add a comment to an existing issue or pull request (GitHub treats PRs as issues for comments, so the same number works for both). Provide the repository as an owner/repo string, the issue/PR number, and the comment body. If you only know the issue/PR by title, call Search Issues and Pull Requests…

Full schema: https://pipedream.com/apps/github/actions/create-issue-comment.md

### `github-create-or-update-file-contents` — Create or Update File Contents (Write)

Create a new file or overwrite an existing one in a repository with a single commit. Provide the repository as an owner/repo string, the file path, the raw text content (passed as-is — do not base64-encode it yourself), and a commit message. If the file already exists on the target branch it is…

Full schema: https://pipedream.com/apps/github/actions/create-or-update-file-contents.md

### `github-create-pull-request` — Create Pull Request (Write)

Open a pull request proposing to merge one branch into another within a repository. Provide the repository as an owner/repo string, the head branch (the source containing your changes) and the base branch (the target, e.g. main), plus a title. The head and base branches must already exist and…

Full schema: https://pipedream.com/apps/github/actions/create-pull-request.md

### `github-create-pull-request-review` — Create Pull Request Review (Write)

Submit a review on a pull request: approve it, request changes, or leave a general comment. Set event to APPROVE, REQUEST_CHANGES, or COMMENT — a body is required for REQUEST_CHANGES and COMMENT. Optionally attach inline comments tied to specific lines of the diff. GitHub forbids approving your own…

Full schema: https://pipedream.com/apps/github/actions/create-pull-request-review.md

### `github-create-repository` — Create Repository (Write)

Creates a new repository for the authenticated user. See the documentation

Full schema: https://pipedream.com/apps/github/actions/create-repository.md

### `github-create-workflow-dispatch` — Create Workflow Dispatch (Write)

Creates a new workflow dispatch event. See the documentation

Full schema: https://pipedream.com/apps/github/actions/create-workflow-dispatch.md

### `github-disable-workflow` — Disable Workflow (Write)

Disables a workflow and sets the state of the workflow to disabled_manually. See the documentation

Full schema: https://pipedream.com/apps/github/actions/disable-workflow.md

### `github-enable-workflow` — Enable Workflow (Write)

Enables a workflow and sets the state of the workflow to active. See the documentation

Full schema: https://pipedream.com/apps/github/actions/enable-workflow.md

### `github-get-commit` — Get Commit (Read-only)

Get the details of a single commit, including the list of files it changed (with per-file additions/deletions and patches) and aggregate stats. Provide the repository as an owner/repo string and a ref — a commit SHA, branch name, or tag. Use List Commits to find a commit SHA, or pass a branch name…

Full schema: https://pipedream.com/apps/github/actions/get-commit.md

### `github-get-current-user` — Get Current User (Read-only)

Gather a full snapshot of the authenticated GitHub actor, combining /user, /user/orgs, and /user/teams. Returns profile metadata (login, name, email, company, plan, creation timestamps) and trimmed lists of organizations and teams for quick role awareness. Helpful when you need to validate which…

Full schema: https://pipedream.com/apps/github/actions/get-current-user.md

### `github-get-issue` — Get Issue (Read-only)

Get the full details of a single issue: title, body, state, labels, assignees, milestone, comment count, and timestamps. Provide the repository as an owner/repo string and the issue number. If you only know the issue by title or topic, call Search Issues and Pull Requests first to resolve its…

Full schema: https://pipedream.com/apps/github/actions/get-issue.md

### `github-get-issue-assignees` — Get Issue Assignees (Read-only)

Get assignees for an issue in a GitHub repo. See the documentation

Full schema: https://pipedream.com/apps/github/actions/get-issue-assignees.md

### `github-get-pull-request` — Get Pull Request (Read-only)

Get the full details of a single pull request along with its reviews and a CI/merge readiness summary. Returns PR metadata (title, body, state, head/base branches, draft flag, timestamps), the mergeable/mergeable_state flags, a checksSummary rollup of CI status for the head commit (combined commit…

Full schema: https://pipedream.com/apps/github/actions/get-pull-request.md

### `github-get-pull-request-files` — Get Pull Request Files (Read-only)

List the files changed in a pull request (the PR diff at the file level). Returns each file's filename, status (added/modified/removed/renamed), additions/deletions/changes counts, and the unified patch when available — use this to review what a PR changes before approving or merging it. Provide…

Full schema: https://pipedream.com/apps/github/actions/get-pull-request-files.md

### `github-get-repository-content` — Get Repository Content (Read-only)

Read a file's contents or list a directory in a repository. For a file, the base64 payload is decoded for you and returned as plain text in the content field. For a directory, returns the list of entries (name, path, type). Provide the repository as an owner/repo string and the path to the file or…

Full schema: https://pipedream.com/apps/github/actions/get-repository-content.md

### `github-get-repository` — Get Repository Info (Read-only)

Get metadata for a single repository: description, default branch, visibility, topics, star/fork/open-issue counts, your permission level, and timestamps. Use this to discover a repo's default branch before reading files with Get Repository Content or listing history with List Commits. Provide the…

Full schema: https://pipedream.com/apps/github/actions/get-repository.md

### `github-get-reviewers` — Get Reviewers (Read-only)

Get reviewers for a PR (see documentation) or Commit SHA (see documentation).

Full schema: https://pipedream.com/apps/github/actions/get-reviewers.md

### `github-get-workflow-run` — Get Workflow Run (Read-only)

Get the details of a single GitHub Actions workflow run, including its per-job conclusions and a link to the run's logs. Returns the run's status/conclusion and timestamps plus a jobs array (each job's name, status, conclusion, and logsUrl) so you can see exactly which job failed. Provide the…

Full schema: https://pipedream.com/apps/github/actions/get-workflow-run.md

### `github-list-branches` — List Branches (Read-only)

List the branches in a repository. Provide the repository as an owner/repo string. Optionally filter to only protected (or only unprotected) branches. If you need to discover repository names first, use List Repositories. See the documentation

Full schema: https://pipedream.com/apps/github/actions/list-branches.md

### `github-list-commits` — List Commits (Read-only)

List commits in a repository, most recent first. Optionally scope to a branch or starting SHA, a file path, an author, or a date range. Provide the repository as an owner/repo string. Use Get Repository to find the default branch name if needed. See the documentation

Full schema: https://pipedream.com/apps/github/actions/list-commits.md

### `github-list-gist-id-options` — List Gist Id Options (Read-only)

Retrieves available options for the Gist Id field.

Full schema: https://pipedream.com/apps/github/actions/list-gist-id-options.md

### `github-list-gists-for-a-user` — List Gists for a User (Read-only)

Lists public gists for the specified user. See the documentation

Full schema: https://pipedream.com/apps/github/actions/list-gists-for-a-user.md

### `github-list-milestones` — List Milestones (Read-only)

List the milestones in a repository (title, state, due date, and open/closed issue counts). Use this to discover a milestone's title or number before filtering or updating issues. Provide the repository as an owner/repo string; if you pass only a repo name, the authenticated user is assumed as the…

Full schema: https://pipedream.com/apps/github/actions/list-milestones.md

### `github-list-org-name-options` — List Organization Options (Read-only)

Retrieves available options for the Organization field.

Full schema: https://pipedream.com/apps/github/actions/list-org-name-options.md

### `github-list-organization-repositories` — List Organization Repositories (Read-only)

List repositories for an organization. See the documentation

Full schema: https://pipedream.com/apps/github/actions/list-organization-repositories.md

### `github-list-organizations` — List Organizations (Read-only)

List all organizations in the authenticated user's account. See the documentation

Full schema: https://pipedream.com/apps/github/actions/list-organizations.md

### `github-list-project-items` — List Project Items (Read-only)

List the items in a Project (V2). Each item has an id, a type, and its title under fieldValueByName.text (not a flat title field). Use the returned item id with Update Project (V2) Item Status to change an item's status. Get the project number from List Projects and its valid statuses from List…

Full schema: https://pipedream.com/apps/github/actions/list-project-items.md

### `github-list-project-statuses` — List Project Statuses (Read-only)

List the options of a Project (V2) Status field (e.g. Todo, In Progress, Done), returning each option's name and id. Use this to discover the valid status values for a project before calling Update Project (V2) Item Status. Get the project number from List Projects. Discover organization logins…

Full schema: https://pipedream.com/apps/github/actions/list-project-statuses.md

### `github-list-projects` — List Projects (Read-only)

List the Projects (V2) owned by an organization, or scoped to a specific repository (returns each project's number and title). This is the entry point for the Projects (V2) discovery chain: use the returned project number with List Project Statuses, List Project Items, or Update Project (V2) Item…

Full schema: https://pipedream.com/apps/github/actions/list-projects.md

### `github-list-releases` — List Releases (Read-only)

List releases for a repository See the documentation

Full schema: https://pipedream.com/apps/github/actions/list-releases.md

### `github-list-repositories` — List Repositories (Read-only)

List repositories the authenticated user can access, or — when org is provided — the repositories of a specific organization. Use this to discover a repo's owner/repo name before calling Get Repository, Get Repository Content, or List Commits. To find repos by name, set the name substring filter…

Full schema: https://pipedream.com/apps/github/actions/list-repositories.md

### `github-list-repository-collaborators` — List Repository Collaborators (Read-only)

List the collaborators on a repository (their login, permissions, and profile links). Use this to see who has access to a repo, or to find a valid collaborator login before assigning issues or requesting reviews. Provide the repository as an owner/repo string; if you pass only a repo name, the…

Full schema: https://pipedream.com/apps/github/actions/list-repository-collaborators.md

### `github-list-repository-labels` — List Repository Labels (Read-only)

List the labels defined in a repository (name, color, and description). Use this to discover valid label names before filtering issues or applying labels. Provide the repository as an owner/repo string; if you pass only a repo name, the authenticated user is assumed as the owner. Discover…

Full schema: https://pipedream.com/apps/github/actions/list-repository-labels.md

### `github-list-team-id-options` — List Team Id Options (Read-only)

Retrieves available options for the Team Id field.

Full schema: https://pipedream.com/apps/github/actions/list-team-id-options.md

### `github-list-workflow-runs` — List Workflow Runs (Read-only)

List GitHub Actions workflow runs for a repository, most recent first. Optionally filter by branch or status (e.g. completed, in_progress, failure, success). Returns each run's id, workflow name, status, conclusion, branch, and timestamps. Use this to triage CI — find a failing run, then pass its…

Full schema: https://pipedream.com/apps/github/actions/list-workflow-runs.md

### `github-list-workflows` — List Workflows (Read-only)

List the GitHub Actions workflows defined in a repository. Returns each workflow's id, name, path (e.g. .github/workflows/ci.yml), and state. Use this to discover the workflow file name or ID needed by Run Workflow. Provide the repository as an owner/repo string. See the documentation

Full schema: https://pipedream.com/apps/github/actions/list-workflows.md

### `github-merge-pull-request` — Merge Pull Request (Write)

Merge an open pull request into its base branch. Choose the mergeMethod: merge (a merge commit, the default), squash (combine all commits into one), or rebase. The merge fails if the PR is not mergeable (conflicts, failing required checks, or required reviews missing) — check mergeable state and CI…

Full schema: https://pipedream.com/apps/github/actions/merge-pull-request.md

### `github-run-workflow` — Run Workflow (Write)

Trigger a GitHub Actions workflow run, or re-run the failed jobs of a previous run. To start a new run, provide workflow (the workflow file name, e.g. ci.yml, its display name, or its numeric ID) and optionally ref (the branch or tag to run on — defaults to the repository's default branch) and…

Full schema: https://pipedream.com/apps/github/actions/run-workflow.md

### `github-star-repo` — Star Repo (Write)

Star a repository. See the docs for more info.

Full schema: https://pipedream.com/apps/github/actions/star-repo.md

### `github-sync-fork-branch-with-upstream` — Sync Fork Branch with Upstream (Write)

Sync a forked branch with the upstream branch. See the documentation

Full schema: https://pipedream.com/apps/github/actions/sync-fork-branch-with-upstream.md

### `github-update-gist` — Update Gist (Write)

Allows you to update a gist's description and to update, delete, or rename gist files. See the documentation

Full schema: https://pipedream.com/apps/github/actions/update-gist.md

### `github-update-issue` — Update Issue (Write)

Update an existing issue: change its title, body, state (open/closed), labels, assignees, or milestone. Provide the repository as an owner/repo string and the issue number. Setting labels replaces the full label set (it does not append), so include any existing labels you want to keep. Closing an…

Full schema: https://pipedream.com/apps/github/actions/update-issue.md

### `github-update-project-v2-item-status` — Update Project (V2) Item Status (Write)

Update the status of an item in the selected Project (V2). See the documentation

Full schema: https://pipedream.com/apps/github/actions/update-project-v2-item-status.md

### `github-update-pull-request` — Update Pull Request (Write)

Update an existing pull request's title, body, state (open/closed), or base branch. Only the fields you provide are changed. Provide the repository as an owner/repo string and the PR number. If you only know the PR by title, call Get Pull Request or Search Issues and Pull Requests with is:pr first…

Full schema: https://pipedream.com/apps/github/actions/update-pull-request.md

## Triggers (27)

### `github-new-branch` — New Branch Created (Instant)

Emit new event when a branch is created.

Full schema: https://pipedream.com/apps/github/triggers/new-branch.md

### `github-new-card-in-column` — New Card in Column (Classic Projects) (Instant)

Emit new event when a (classic) project card is created or moved to a specific column. For Projects V2 use New Issue with Status trigger. More information here

Full schema: https://pipedream.com/apps/github/triggers/new-card-in-column.md

### `github-new-collaborator` — New Collaborator (Instant)

Emit new event when a collaborator is added

Full schema: https://pipedream.com/apps/github/triggers/new-collaborator.md

### `github-new-commit` — New Commit (Instant)

Emit new event when commits are pushed to a branch

Full schema: https://pipedream.com/apps/github/triggers/new-commit.md

### `github-new-commit-comment` — New Commit Comment (Instant)

Emit new event when a commit comment is created

Full schema: https://pipedream.com/apps/github/triggers/new-commit-comment.md

### `github-new-discussion` — New Discussion (Instant)

Emit new event when a discussion is created

Full schema: https://pipedream.com/apps/github/triggers/new-discussion.md

### `github-new-fork` — New Fork (Instant)

Emit new event when a repository is forked

Full schema: https://pipedream.com/apps/github/triggers/new-fork.md

### `github-new-gist` — New Gist (Polling)

Emit new events when new gists are created by the authenticated user. See the documentation

Full schema: https://pipedream.com/apps/github/triggers/new-gist.md

### `github-new-issue-comment` — New Issue Comment (Instant)

Emit new event when a new comment is added to an issue or pull request

Full schema: https://pipedream.com/apps/github/triggers/new-issue-comment.md

### `github-new-label` — New Label (Instant)

Emit new event when a new label is created

Full schema: https://pipedream.com/apps/github/triggers/new-label.md

### `github-new-mention` — New Mention (Polling)

Emit new event when you are @mentioned in a new commit, comment, issue or pull request. See the documentation

Full schema: https://pipedream.com/apps/github/triggers/new-mention.md

### `github-new-notification` — New Notification (Polling)

Emit new event when the authenticated user receives a new notification. See the documentation

Full schema: https://pipedream.com/apps/github/triggers/new-notification.md

### `github-new-or-updated-issue` — New or Updated Issue (Instant)

Emit new events when an issue is created or updated

Full schema: https://pipedream.com/apps/github/triggers/new-or-updated-issue.md

### `github-new-or-updated-milestone` — New or Updated Milestone (Instant)

Emit new event when a milestone is created or updated

Full schema: https://pipedream.com/apps/github/triggers/new-or-updated-milestone.md

### `github-new-or-updated-pull-request` — New or Updated Pull Request (Instant)

Emit new event when a pull request is opened or updated

Full schema: https://pipedream.com/apps/github/triggers/new-or-updated-pull-request.md

### `github-new-organization` — New Organization (Polling)

Emit new event when the authenticated user is added to a new organization. See the documentation

Full schema: https://pipedream.com/apps/github/triggers/new-organization.md

### `github-new-release` — New release (Instant)

Emit new event when a new release is created

Full schema: https://pipedream.com/apps/github/triggers/new-release.md

### `github-new-repository` — New Repository (Polling)

Emit new event when a new repository is created or when the authenticated user receives access. See the documentation

Full schema: https://pipedream.com/apps/github/triggers/new-repository.md

### `github-new-review-request` — New Review Request (Polling)

Emit new events when you or a team you're a member of are requested to review a pull request across repositories accessible to the connected account. See the documentation

Full schema: https://pipedream.com/apps/github/triggers/new-review-request.md

### `github-new-security-alert` — New Security Alert (Polling)

Emit new event for security alert notifications. See the documentation

Full schema: https://pipedream.com/apps/github/triggers/new-security-alert.md

### `github-new-star-by-user` — New Star By User (Polling)

Emit new events when the specified user stars a repository. See the documentation

Full schema: https://pipedream.com/apps/github/triggers/new-star-by-user.md

### `github-new-star` — New Stars (Instant)

Emit new event when a repository is starred

Full schema: https://pipedream.com/apps/github/triggers/new-star.md

### `github-new-team` — New Team (Polling)

Emit new event when the authenticated user is added to a new team. See the documentation

Full schema: https://pipedream.com/apps/github/triggers/new-team.md

### `github-webhook-events` — New Webhook Event (Instant) (Instant)

Emit new event for each selected event type

Full schema: https://pipedream.com/apps/github/triggers/webhook-events.md

### `github-new-workflow-job-completed` — New Workflow Job Completed (Instant) (Instant)

Emit new event when a job in a workflow is completed, regardless of whether the job was successful or unsuccessful.

Full schema: https://pipedream.com/apps/github/triggers/new-workflow-job-completed.md

### `github-new-workflow-run-completed` — New Workflow Run Completed (Instant) (Instant)

Emit new event when a GitHub Actions workflow run completes

Full schema: https://pipedream.com/apps/github/triggers/new-workflow-run-completed.md

### `github-new-issue-with-status` — Project Item Status Changed (Instant)

Emit new event when a project item is tagged with a specific status. Currently supports Organization Projects only. More information here

Full schema: https://pipedream.com/apps/github/triggers/new-issue-with-status.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
