---
sourceDocument: Zurich Workflow Data Fabric
sourceDocumentLink: https://www.servicenow.com/docs/r/zurich/integrate-applications

 Release :

    - zurich

ft:locale :

    - en-US

ft:publication_title :

    - Zurich Workflow Data Fabric

ft:clusterId :

    - crint

bundleId :

    - crint

workflow :

    - Creator


---

# GitHub Spoke

# GitHub Spoke {#ariaid-title1}

* Release version: Zurich
* 
* Updated January 14, 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 13 minutes to read

Manage distributed version control and source code in GitHub from your ServiceNow instance. Create flows in ServiceNow to manage collaborative features such as tracking bugs, feature requests, tasks and so on, for projects in GitHub. View and analyze meaningful usage data for GitHub Enterprise Cloud and GitHub Enterprise Server software subscriptions so that you can reclaim stale licenses.

## Request apps on the Store {#github-spoke__section_sz5_jv3_z3b}

Visit the [ServiceNow Store](https://store.servicenow.com/sn_appstore_store.do#!/store/home) website to view all the available apps and for information about submitting requests to the store. For cumulative release notes information for all released apps, see the [ServiceNow Store version history release notes](https://www.servicenow.com/docs/r/store-release-notes/sn-store-release-notes.html).{#github-spoke__inline-send-to-store}

## Integration Hub
subscription {#github-spoke__section_rsf_yvb_l3b}

This spoke requires an Integration Hub subscription. For more information, see [Legal schedules - IntegrationHub overview](https://www.servicenow.com/content/dam/servicenow-assets/public/en-us/doc-type/legal/snc-addendum-integrationhub.pdf).

## Spoke version {#github-spoke__section_lnc_qhv_bsb}

GitHub spoke v3.6.4 is the latest version.{#github-spoke__github-ver}

## Supported versions {#github-spoke__section_ccw_l34_zgb}

This spoke was built for GitHub API version v3, but may be compatible with later versions.

## Spoke requirements {#github-spoke__section_ztc_whx_cjb}

* GitHub account
* User with admin credentials
* Token to authenticate the ServiceNow instance

{#github-spoke__ul_mmz_ql4_xjb}See the [GitHub documentation](https://help.github.com/en) for instructions on creating a GitHub account and generating a token.

## GitHub Webhooks module {#github-spoke__section_ak4_xwn_z3b}

Bi-directional webhooks can be set up to be notified about the required events. Routing policy defines conditions that must be met to notify the ServiceNow app. These conditions are based on the events in GitHub for which you want to be notified about. When the conditions are met, the routing policy triggers the associated subflow, which in turn automates the GitHub tasks.  
The bi-directional webhooks require separate setup and can be used independently without using the spoke actions. By default, the GitHub Webhooks application is available in the GitHub spoke and has the following modules:

* GitHub Webhook Registries
* GitHub WebHook Routing Policies
{#github-spoke__ul_qzt_2h4_z3b}  
Use the GitHub Webhook Registries module to assign a token and provide the API path. You must generate a Callback URL here and provide this URL in GitHub. A default routing policy is provided in the GitHub WebHook Routing Policies module. The default routing policy supports these GitHub fields:{#github-spoke__table_tv4_qpg_jkb__entry__1}

| Supported GitHub fields |||
|-|-|-|
| Action | Project Card Creator | Ref |
| Base Ref | Project Card Note | Ref Type |
| Commit Comment Body | Project Card Previous Note | Release Assets |
| Commit Comment Created At | Project Card Updated At | Release Author |
| Commit Comment Path | Project Column Created At | Release Body |
| Commit Comment Updated At | Project Column Name | Release Created At |
| Commit Comment User | Project Column Previous Name | Release Draft |
| Force Push | Project Column Updated At | Release Name |
| GitHub Instance URL | Project Created At | Release Published At |
| Issue Assigned To | Project Name | Release Tag Name |
| Issue Assignees | Project Previous Body | Release Target Commits |
| Issue Body | Project Previous Name | Repository Archived |
| Issue Closed At | Project State | Repository Created At |
| Issue Comment | Project Updated At | Repository Description |
| Issue Comment Count | Pull Request Assigned To | Repository inactive |
| Issue Comment Created At | Pull Request Assignees | Repository Full Name |
| Issue Comment Updated At | Pull Request Body | Repository Has Issues |
| Issue Created At | Pull Request Closed At | Repository Has Projects |
| Issue Labeled To | Pull Request Comment Count | Repository Import Status |
| Issue Labels | Pull Request Created At | Repository License |
| Issue Locked | Pull Request Draft | Repository Open Issues Count |
| Issue Milestone | Pull Request Labeled To | Repository Owner |
| Issue Previous Body | Pull Request Labels | Repository Private |
| Issue Previous Comment | Pull Request Locked | Repository Pushed At |
| Issue Previous Milestone | Pull Request Mergeable | Repository Starred At |
| Issue Previous Title | Pull Request Merged | Repository Updated At |
| Issue Previously Assigned To | Pull Request Merged At | Repository Vulnerability Alert Affected Range |
| Issue Previously Labeled To | Pull Request Milestone | Repository Vulnerability Alert External Identifier |
| Issue State | Pull Request Previous Body | Repository Vulnerability Alert Fixed In |
| Issue Title | Pull Request Previous Title | Repository Vulnerability Alert Package Name |
| Issue Updated At | Pull Request Previously Assigned To | Security Advisory Description |
| Issue User | Pull Request Previously Labeled To | Security Advisory ID |
| Milestone Closed At | Pull Request Rebaseable | Security Advisory Published At |
| Milestone Created At | Pull Request Review Body | Security Advisory Severity |
| Milestone Creator | Pull Request Review Comment | Security Advisory Summary |
| Milestone Description | Pull Request Review Comment Count | Security Advisory Updated At |
| Milestone Due On | Pull Request Review Comment Created At | Security Advisory Withdrawn At |
| Milestone State | Pull Request Review Comment File Path | Sender login |
| Milestone Title | Pull Request Review Comment Previous Comment | Status Commit Message |
| Milestone Updated At | Pull Request Review Comment Updated At | Status Context |
| Organization Description | Pull Request Review Previous Body | Status Created At |
| Organization Login | Pull Request Review State | Status Description |
| Pre-Release | Pull Request State | Status Name |
| Project Body | Pull Request Title | Status State |
| Project Card Archived | Pull Request Updated At | Status Updated At |
| Project Card Created At | Pull Request User | Webhook Event |
[ ]

{#github-spoke__table_tv4_qpg_jkb}

To use other conditions in the routing policy, create a routing policy in the GitHub WebHook Routing Policies module and specify conditions according to your requirement. See [Set up bi-directional webhook for the GitHub spoke](https://www.servicenow.com/docs/LyesORzuFWIwE_CcZvGPXg#setup-biwebhoook-github "Configure webhook to subscribe to GitHub with a ServiceNow callback URL.") for information regarding setting up and configuring the webhooks.

## Spoke triggers {#github-spoke__section_mmp_pbq_zbc}

ServiceNow supports specific events on GitHub that create triggers. You must first configure a flow with a supported trigger definition. When an event, for example, a push request, occurs on the GitHub, it sends the payload via a webhook to the ServiceNow instance. After that, the flow that you configured is triggered at the ServiceNow instance to automate a workflow. The supported events are:  
{#github-spoke__table_lj4_1dq_zbc__entry__3}

| Category | Trigger | Description |
|-|-|-|
| Branch Management | Branch Created | Flow is triggered when you create a branch on GitHub. |
| Repository Management | Pull Request Opened | Flow is triggered when you initiate a new pull request on GitHub. |
| Repository Management | Pull Request Edited | Flow is triggered when you update a pull request on GitHub. |
| Repository Management | Pull Request Closed | Flow is triggered when you close a pull request on GitHub. |
| Repository Management | Pull Request Assigned | Flow is triggered when you assign a pull request to a user on GitHub. |
| Repository Management | Pull Request Reopened | Flow is triggered when you reopen a pull request on GitHub. |
| Repository Management | Repository Fork | Flow is triggered when you fork a repository on GitHub. |
| Repository Management | Repository Push | Flow is triggered when you push to a repository on GitHub. |
| Release Management | Release Created | Flow is triggered when the details of a release are created on GitHub. |
| Release Management | Release Edited | Flow is triggered when the details of a release are updated on GitHub. |
| Release Management | Release Deleted | Flow is triggered when a release is removed on GitHub. |
| Release Management | Release Released | Flow is triggered when a release is released on GitHub. |
[ ]

{#github-spoke__table_lj4_1dq_zbc}

For information about setting up the triggers for the GitHub spoke, see [Activate the trigger definition on ServiceNow instance for the GitHub spoke](https://www.servicenow.com/docs/37B1jyOBV0GRns6tE0qFWg#activate-external-trigger "Activate the trigger definition to generate the secret and callback URL on your ServiceNow instance for the GitHub spoke."). For more information about inbound integration, see [Conditional and event-driven inbound integration](https://www.servicenow.com/docs/Sxwnb61Y8UjSuc7HzK7aOg "Integration Hub enables both conditional and event-driven inbound integration with third-party applications.").

## Spoke subflows {#github-spoke__section_gj2_3q4_z3b}

The GitHub spoke provides a sample subflow to handle various GitHub webhook events. Available sample subflows are:{#github-spoke__table_jcm_pvg_jkb__entry__3}

| Subflow | Description | Supported GitHub Event |
|-|-|-|
| Process GitHub Branch and Tag Webhook Events | Handles branch and tag webhook events. | Branch and Tag |
| Process GitHub Commit Webhook Events | Handles commit webhook events. | Commit |
| Process GitHub Issue Webhook Events | Handles issue webhook events. | Issue |
| Process GitHub Milestone Webhook Events | Handles milestone webhook events. | Milestone |
| Process GitHub Project Webhook Events | Handles project webhook events. | Project |
| Process GitHub Pull Request Webhook Events | Handles pull request webhook events. | Pull Request |
| Process GitHub Push Webhook Events | Handles push request webhook events. | Push Request |
| Process GitHub Release Webhook Events | Handles release webhook events. | Release |
| Process GitHub Repository Webhook Events | Handles repository webhook events. | Repository |
| Process GitHub Security Webhook Events | Handles security webhook events. | Security |
| Process GitHub Webhook Events | Handles all GitHub webhook events. | Note: This subflow handles all GitHub events. You can customize this subflow to handle other GitHub webhook events that are not supported by default. |
[Table 1. Spoke subflows]

{#github-spoke__table_jcm_pvg_jkb}

To create subflows to handle other GitHub webhook events or handle the supported GitHub webhook events differently, customize the Process GitHub Webhook Events subflow. For this, you must a create a copy of the subflow, parse the payload, and customize the
subflow according to your requirement. Payload is one of the inputs to the subflow.

While customizing subflows, you must confirm that the subflows are configured to avoid infinite loops.  
Note:  
* You must configure webhooks to use the spoke subflow. See [Set up bi-directional webhook for the GitHub spoke](https://www.servicenow.com/docs/LyesORzuFWIwE_CcZvGPXg#setup-biwebhoook-github "Configure webhook to subscribe to GitHub with a ServiceNow callback URL.") for information regarding setting up and configuring the webhook.
* The sample subflows run as a user by default. It can be configured to run as a system.
* GitHub spoke supports application/json payload. Configure the GitHub webhook accordingly. See the [GitHub Developer](https://developer.github.com/) documentation for instructions on creating and configuring a webhook.
{#github-spoke__ul_js3_r4w_qjb}

## Spoke actions {#github-spoke__section_jts_55k_5jb}

The GitHub spoke provides actions manage branches, issues, repositories, and source code when events occur in ServiceNow. Available actions include:  
{#github-spoke__table_ds1_vy2_3kb__entry__3}

| Category | Action | Description |
|-|-|-|
| Branch Management | Create Branch | Creates a branch in GitHub based on a specific commit SHA. |
| Branch Management | Delete Branch | Deletes a branch from the GitHub repository. |
| Branch Management | Look up Branch | Retrieves the details of a branch in the GitHub repository. |
| Branch Management | Look up Branch Protection | Retrieves the restriction details of the required branch. |
| Branch Management | Look up Branches | Retrieves the list of all branches in a repository. |
| Branch Management | Remove Branch Protection | Removes protection on the required branch. |
| Branch Management | Update Branch Protection | Updates protection on the required branch. |
| Issue Management | Create Comment on Issue | Creates comment on a required issue. |
| Issue Management | Create Issue | Creates issue for the required repository. |
| Issue Management | Delete Comment on Issue | Deletes comment on a required issue. |
| Issue Management | Lock Issue | Locks the required issue. This limits the conversation to collaborators only. |
| Issue Management | Look Up Comments on Issue Stream | Retrieves the list of comments on an issue. |
| Issue Management | Look Up Issues Stream | Retrieves the list of issues for a repository. |
| Issue Management | Unlock Issue | Unlocks the required issue. This opens conversation to all users. |
| Issue Management | Update Comment on Issue | Updates a comment on an issue. |
| Issue Management | Update Issue | Updates the details of the required issue. |
| Metadata Retrieval | Look up Fields by Action | Retrieves the list of fields for an action filter in the GitHub Fields table. |
| Metadata Retrieval | Look up Branches Metadata | Retrieves metadata of the branches. |
| Metadata Retrieval | Look up Issues Metadata | Retrieves metadata of the issues. |
| Metadata Retrieval | Look up Milestones Metadata | Retrieves metadata of the milestones. |
| Metadata Retrieval | Look up Pull Requests Metadata | Retrieves metadata of the pull requests. |
| Organization Management | Look up Organization Plan | Retrieves the plan name of an organization. |
| Organization Management | Look up Organization Members Stream | Retrieves the list of all members within an organization. |
| Organization Management | Look up Organization Repositories Stream | Retrieves the list of all repositories within an organization. |
| Organization Management | Remove Organization Member | Removes a user from an organization. |
| Organization Management | Look up Organization Events Stream | Retrieves the list of events in an organization based on the provided look back date. |
| Organization Management | Look up Organization Outside Collaborators Stream | Retrieves the list of all Outside Collaborators within an organization. |
| Organization Management | Remove Organization Outside Collaborator | Removes an outside collaborator from an organization. |
| Organization Management | Look up Organization Pending Outside Collaborators Stream | Retrieves a list of pending collaborators within a repository. |
| Organization Management | Look up Organization Invitations Stream | Retrieves a list of invitations within an organization. |
| Organization Management | Look up Organization Audit Log Stream | Retrieves a list of organization audit log events for a specified look-back date. |
| Repository Management | Add Collaborator | Adds collaborator to the required repository. |
| Repository Management | Delete Repository | Deletes a repository from GitHub. |
| Repository Management | Create Comment on Pull Request | Create review comments on a pull request. |
| Repository Management | Create Milestone | Creates milestone for the required repository. |
| Repository Management | Create Pull Request | Creates a pull request for a repository. |
| Repository Management | Create Reply on Pull Request Review Comment | Creates reply to a review comment for a pull request. |
| Repository Management | Create Repository | Creates a repository in GitHub. |
| Repository Management | Delete Comment on Pull Request | Deletes review comment on a pull request. |
| Repository Management | Delete Milestone | Deletes milestone from the required repository. |
| Repository Management | Look up Comments on Pull Request Stream | Retrieves the list of all review comments on a pull request. |
| Repository Management | Look up Milestones Stream | Retrieves the list of all milestones in a repository. |
| Repository Management | Look up Repository Events Stream | Retrieves the list of events across a repository. |
| Repository Management | Look Up Pull Requests Stream | Retrieves the details of pull requests for a repository. |
| Repository Management | Look Up Repositories Stream | Retrieves the details of repositories based on a specific user or organization. |
| Repository Management | Look up Repository Details | Retrieves the details of the specified repository. |
| Repository Management | Merge Pull Request | Merges the pull request to a repository. |
| Repository Management | Remove Collaborator | Removes collaborator from a repository. |
| Repository Management | Update Comment on Pull Request | Updates review comments provided for a pull request. |
| Repository Management | Update Milestone | Updates the details of a milestone in a repository. |
| Repository Management | Update Pull Request | Updates the details of a pull request in a repository. |
| Repository Management | Update Repository | Updates the details of a repository in GitHub. |
| Source Code Management | Create Comment on Commit | Creates a comment for the required commit using its SHA. |
| Source Code Management | Create or update a file | Creates a file or updates an existing file in a repository. |
| Source Code Management | Look up Comments by Commit ID Stream | Retrieves comments provided for a single commit. |
| Source Code Management | Look up Commit Information By ID | Retrieves the contents of the required commit reference. |
| Source Code Management | Look up File Content | Retrieves the contents of a file in a repository. Note: This action supports files with file size up to 1 MB. |
| Source Code Management | Look up Commits on a Repository | Retrieves the details of all commits made on a repository. |
| User Management | Look up All Users for Enterprise Server | Retrieves the list of all GitHub Enterprise Server users. |
| User Management | Look up Organizations for the Authenticated User Stream | Retrieves the list of organizations that the logged-in user is a member of. |
| User Management | Suspend User | Suspends a GitHub user account. |
| User Management | Look up Authenticated User | Retrieves information about the authenticated user. |
[ ]

{#github-spoke__table_ds1_vy2_3kb}

## Available AI agents {#github-spoke__section_d4j_nct_bfc}

Install Now Assist for Integration Hub and start using the available AI agents. For more information, see [Now Assist for Integration Hub](https://www.servicenow.com/docs/viy2Rs8UxQxzXVqad8moQg "Use the ServiceNow Now Assist AI agents to mimic human-like intelligence by using Large Language Models (LLMs) to perform tasks that range from simple automated responses to complex problem-solving. Utilize the conversational ability of Integration Hub spoke actions.").  
This spoke provides standalone AI agents that mimic human-like intelligence to perform tasks in your ServiceNow instance.

* In the ServiceNow agentic system, you can create an agentic workflow that comprises of a set of large language model (LLM) instructions along with one or more standalone AI agents to execute an objective. See [Create an agentic workflow](https://www.servicenow.com/docs/access?context=configure-use-case-ai-agents&version=zurich&pubname=zurich-intelligent-experiences&ft:locale=en-US) for information about adding AI agents to create agentic workflows as per your requirement and provide the required trigger.

  You can also search for other
  available AI agents and add them to your agentic workflow. See [Find AI agents](https://www.servicenow.com/docs/access?context=find-ai-agents&version=zurich&pubname=zurich-intelligent-experiences&ft:locale=en-US) for more information.
* You can create a clone of the required spoke AI agent and customize it as per your requirement. See [Duplicate an AI agent](https://www.servicenow.com/docs/access?context=clone-ai-agent&version=zurich&pubname=zurich-intelligent-experiences&ft:locale=en-US) for more information about creating a clone.
* See [AI Agent Studio](https://www.servicenow.com/docs/access?context=na-ai-agents&version=zurich&pubname=zurich-intelligent-experiences&ft:locale=en-US) for information about AI agents.
{#github-spoke__ul_tjz_vtr_m2c}

Available AI agents include:  
{#github-spoke__table_ecg_qct_bfc__entry__2}

| AI agent | Description |
|-|-|
| GitHub branch management AI agent | Manages and maintains the GitHub branches. Also, retrieves information about the GitHub branches. |
| GitHub issue management AI agent | Manages and automates GitHub-related tasks in Integration Hub. |
| GitHub repository management AI agent | Manages the GitHub repositories by handling the repository operations, pull requests, comments on pull request and milestones. |
| GitHub source code management AI agent | Manages source code and handles the repository files, commits, and comments. |
| GitHub Code Automation AI Agent | Manages code changes and GitHub operations from your ServiceNow instance. This agent interprets your requests, asks clarifying questions, and analyzes context to deliver well-integrated code updates. It also performs GitHub tasks such as creating branches, committing changes, and opening pull requests. |
[ ]

{#github-spoke__table_ecg_qct_bfc}

There might be AI agents installed on your instance that are not used in agentic workflows. To learn how to see all agents that are available to you, see [Find AI agents](https://www.servicenow.com/docs/access?context=find-ai-agents&version=zurich&pubname=zurich-intelligent-experiences&ft:locale=en-US).  
Note:  
Ensure that the user running an AI agent has the required roles and permissions to access data or perform operations on data in the table that is associated with the AI agent.

## Spoke modules {#github-spoke__section_ds4_y45_wqb}

The GitHub spoke adds these modules to your ServiceNow instance.{#github-spoke__table_k3c_bp5_wqb__entry__2}

| Module | Description |
|-|-|
| GitHub Owner | Displays the GitHub owner records that you had created. |
| GitHub Repositories | Displays the details of the GitHub repositories associated with the GitHub owners. |
[ ]

{#github-spoke__table_k3c_bp5_wqb}

## Connection and credential alias requirements {#github-spoke__section_hdq_dsj_vdb}

Integration Hub uses aliases to manage connection and credential information, and OAuth credentials. Using an alias eliminates the need to configure multiple credentials and connection information
profiles when using multiple environments. If the connection or credential information changes, you don't need to update any actions that use the connection.

For information about setting up the spoke, see
[Set up the GitHub spoke](https://www.servicenow.com/docs/9hnrn_oLjLg5PwvjuuZsJA "Integrate your ServiceNow instance with the GitHub and GitHub Enterprise Server to automate flows and perform actions on GitHub and GitHub Enterprise Server. For example, create a flow that creates a branch on GitHub and retrieves its details.").

