# GitHub

> Part of the NocoDB documentation (Workflows > Workflows > Nodes > Integration). Index of all pages: https://nocodb.com/llms.txt. Any docs page is available as Markdown by adding `.md` to its URL.

URL: https://nocodb.com/docs/workflows/nodes/integration-nodes/github
Last updated: 2026-10-03

Manage GitHub issues, pull requests and labels from NocoDB workflows, and start workflows from GitHub events.

NocoDB connects to GitHub, so you can automate development workflows from your bases. With the GitHub integration, you can manage issues, pull requests and labels. You can also start workflows from GitHub events.

<AskNocoAI>
  <Prompt>
    When a [bug] is added, create an issue in [our GitHub repository]
  </Prompt>

  <Prompt>
    When [Status] changes to [Ready], create a GitHub issue for the [task]
  </Prompt>

  <Prompt>
    When a [feature request] gets [10] votes, open a GitHub issue for it
  </Prompt>
</AskNocoAI>

## Prerequisites

* **GitHub account**: To learn more about GitHub and create an account, go to the [GitHub website](https://github.com/) and refer to the [GitHub documentation](https://docs.github.com/).
* **NocoDB GitHub integration**: For setup instructions, refer to [Integrations](/docs/product/integrations/create-connection). You must configure at least one GitHub integration to use this feature.

***

At this time, the GitHub node in NocoDB supports **one trigger** and **eight actions**:

**Trigger**

* GitHub Webhook Trigger

**Actions**

* Create Issue
* Update Issue
* List Issues
* Add Issue Labels
* Set Issue Labels
* Remove Issue Label
* Create Pull Request
* List Pull Requests

You can add each one as a workflow step and configure it independently.

## Trigger

### GitHub Webhook Trigger

Use this trigger to start a workflow when specific events occur in a GitHub repository.

{/* ![GitHub Webhook Trigger](/img/v2/workflow/nodes/integration/github/webhook-trigger.png) */}

{/* PLACEHOLDER_IMAGE: webhook-trigger.png */}

**Configuration**

* **GitHub Account:**
  Select the connected GitHub account.

* **Repository:**
  Select the repository to monitor.

* **Events:**
  Select one or more events to listen for:
  * `push`, `pull_request`, `issues`, `issue_comment`, `release`, `star`, `fork`, `watch`

When you publish the workflow, NocoDB automatically creates the webhook. When you unpublish the workflow, NocoDB removes the webhook.

## Available GitHub Actions

### 1. Create Issue

Use this action to create a new issue in a GitHub repository.

{/* ![GitHub Create Issue](/img/v2/workflow/nodes/integration/github/create-issue.png) */}

{/* PLACEHOLDER_IMAGE: create-issue.png */}

**Configuration**

* **GitHub Account:**
  Select the connected GitHub account.

* **Repository:**
  Select the target repository.

* **Title:** *(required)*
  The title of the issue (max 256 characters).

* **Body:** *(optional)*
  The description of the issue. Markdown is supported.

* **Milestone:** *(optional)*
  Select a milestone from the repository.

* **Labels:** *(optional)*
  Select one or more labels to apply.

* **Assignees:** *(optional)*
  Select one or more users to assign.

### 2. Update Issue

Use this action to update an existing GitHub issue.

{/* ![GitHub Update Issue](/img/v2/workflow/nodes/integration/github/update-issue.png) */}

{/* PLACEHOLDER_IMAGE: update-issue.png */}

**Configuration**

* **GitHub Account:**
  Select the connected GitHub account.

* **Repository:**
  Select the repository that contains the issue.

* **Issue Number:** *(required)*
  The number of the issue to update.

* **Title:** *(optional)*
  The new title.

* **Body:** *(optional)*
  The new description.

* **State:** *(optional)*
  Set to `open` or `closed`.

* **Milestone:** *(optional)*
  Update the milestone.

* **Labels:** *(optional)*
  Update the labels on the issue.

* **Assignees:** *(optional)*
  Update the assigned users.

### 3. List Issues

Use this action to get issues from a GitHub repository.

{/* ![GitHub List Issues](/img/v2/workflow/nodes/integration/github/list-issues.png) */}

{/* PLACEHOLDER_IMAGE: list-issues.png */}

**Configuration**

* **GitHub Account:**
  Select the connected GitHub account.

* **Repository:**
  Select the repository.

* **State:** *(optional)*
  Filter by `open`, `closed`, or `all`. Default: `open`.

* **Labels:** *(optional)*
  Filter by one or more labels.

* **Assignee:** *(optional)*
  Filter by the assigned user.

* **Milestone:** *(optional)*
  Filter by milestone.

* **Sort:** *(optional)*
  Sort by `created`, `updated`, or `comments`.

* **Direction:** *(optional)*
  Sort direction: `asc` or `desc`.

* **Results per page:** *(optional)*
  The number of results to return (max 100).

### 4. Add Issue Labels

Use this action to add one or more labels to an issue. The labels that the issue has stay on it.

{/* ![GitHub Add Labels](/img/v2/workflow/nodes/integration/github/add-labels.png) */}

{/* PLACEHOLDER_IMAGE: add-labels.png */}

**Configuration**

* **GitHub Account:**
  Select the connected GitHub account.

* **Repository:**
  Select the repository.

* **Issue Number:** *(required)*
  The issue to modify.

* **Labels:** *(required)*
  One or more labels to add.

### 5. Set Issue Labels

Use this action to **replace all labels** on an issue with a new set.

**Configuration**

* **GitHub Account:**
  Select the connected GitHub account.

* **Repository:**
  Select the repository.

* **Issue Number:** *(required)*
  The issue to modify.

* **Labels:** *(optional)*
  The labels to set. These labels replace all labels that the issue has.

### 6. Remove Issue Label

Use this action to remove a specific label from an issue.

**Configuration**

* **GitHub Account:**
  Select the connected GitHub account.

* **Repository:**
  Select the repository.

* **Issue Number:** *(required)*
  The issue to modify.

* **Label:** *(required)*
  The label to remove.

### 7. Create Pull Request

Use this action to create a new pull request.

{/* ![GitHub Create PR](/img/v2/workflow/nodes/integration/github/create-pr.png) */}

{/* PLACEHOLDER_IMAGE: create-pr.png */}

**Configuration**

* **GitHub Account:**
  Select the connected GitHub account.

* **Repository:**
  Select the repository.

* **Title:** *(required)*
  The title of the pull request (max 256 characters).

* **Source Branch:** *(required)*
  The branch that contains your changes.

* **Target Branch:** *(required)*
  The branch to merge into.

* **Body:** *(optional)*
  The description of the pull request. Markdown is supported.

* **Draft:** *(optional)*
  Create the pull request as a draft.

* **Allow maintainer edits:** *(optional)*
  Let maintainers of the base branch push to the PR branch.

### 8. List Pull Requests

Use this action to get pull requests from a repository.

{/* ![GitHub List PRs](/img/v2/workflow/nodes/integration/github/list-prs.png) */}

{/* PLACEHOLDER_IMAGE: list-prs.png */}

**Configuration**

* **GitHub Account:**
  Select the connected GitHub account.

* **Repository:**
  Select the repository.

* **State:** *(optional)*
  Filter by `open`, `closed`, or `all`. Default: `open`.

* **Head Branch:** *(optional)*
  Filter by the source branch.

* **Base Branch:** *(optional)*
  Filter by the target branch.

* **Sort:** *(optional)*
  Sort by `created`, `updated`, `popularity`, or `long-running`.

* **Direction:** *(optional)*
  Sort direction: `asc` or `desc`.

* **Results per page:** *(optional)*
  The number of results to return (max 100).

## Testing the Action

Each GitHub action has a **Test Step** option.

Use it to:

* Make sure that the credentials and configuration are correct
* Make sure that the action runs correctly
* Test with data from workflow steps that you tested before

## Notes & Limitations

* The authenticated user must have admin, maintain or push permissions on the repository.
* For webhook triggers, the repository must allow webhook creation.
* NocoDB gets the labels, milestones and assignees dynamically from the selected repository.
* Issue numbers must be valid integers.

---

## Related pages

- [AI](https://nocodb.com/docs/workflows/nodes/integration-nodes/ai.md): Use AI to generate text or structured data within NocoDB workflows.
- [Gmail](https://nocodb.com/docs/workflows/nodes/integration-nodes/gmail.md): Send emails using Gmail as part of NocoDB workflows.
- [Slack](https://nocodb.com/docs/workflows/nodes/integration-nodes/slack.md): Send messages to Slack channels or users in NocoDB workflows.
- [Outlook](https://nocodb.com/docs/workflows/nodes/integration-nodes/outlook.md): Send emails from a connected Outlook account in NocoDB workflows.
- [Twilio](https://nocodb.com/docs/workflows/nodes/integration-nodes/twilio.md): Send and receive SMS messages using Twilio.
- [Google Calendar](https://nocodb.com/docs/workflows/nodes/integration-nodes/google-calendar.md): Start NocoDB workflows when new events are created in Google Calendar.
- [HubSpot CRM](https://nocodb.com/docs/workflows/nodes/integration-nodes/hubspot-crm.md): Manage HubSpot CRM contacts, companies, and deals from NocoDB workflows.
