---
schema_version: "1"
id: 665c4ad6487b48f87071742f555cfeed9b9fd53cbc3f5e87f73c88a5c30340fa
title: Installing and Authorizing GitHub Synchronization
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/design-center/design-ghs-install-authorize.md
canonical_url: https://docs.mulesoft.com/design-center/design-ghs-install-authorize
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 7ebefc1787ae68e4e7bbc6f9f9aa62af7f6ded303acaf7c201d2c0d2d99c6291
description: MuleSoft Documentation Site
latest: true
---
---
product: Design Center
---

# Installing and Authorizing GitHub Synchronization

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Installing the GitHub Synchronization application in an organization is the first step in making the
organization’s repositories accessible to API Designer.

Install the GitHub Synchronization application within the GitHub user interface. Perform this action
either as a GitHub organization administrator or as a GitHub user. Then, authorize the application
when performing a GitHub Synchronization action for the first time within API Designer.
Synchronization actions include creating new GitHub repositories for existing API specifications and
creating new API specifications that are synchronized with existing GitHub repositories.

## Install the GitHub Synchronization Application as a GitHub Organization Administrator

To get started, first install the GitHub Synchronization application within the GitHub user
interface.

### Before You Begin

To install the GitHub Synchronization application as a GitHub organization administrator, you must
have:

- A GitHub account

- A membership in the GitHub organization in which you want to install the application

- The administrator permission to access the GitHub organization (as configured through your GitHub
  account settings)

> [!IMPORTANT]
>
> - You cannot install and use GitHub Synchronization if your GitHub account uses an IP allow list.
>
> - In the email settings for the GitHub account you want to use with GitHub Synchronization, if you
>   select **Keep my email addresses private**, ensure you do not select **Block command line pushes
>   that expose my email**. The block setting prevents you from pushing commits in your synchronized
>   project.
>
> - The GitHub integration supports only non-enterprise accounts. See
>   [Types of Github Accounts](https://docs.github.com/en/enterprise-cloud@latest/get-started/learning-about-github/types-of-github-accounts).

### Install the GitHub Synchronization application

1.  Navigate to the
    [US GitHub Synchronization application page](https://github.com/apps/mulesoft-github-integration)
    or
    [EU Github Synchronization application page](https://github.com/apps/mulesoft-github-integration-eu)
    depending on your region.

2.  Click **Install**.

3.  In the **Install MuleSoft GitHub Integration** dialog, select an organization in which to
    install the application.

4.  Click **All repositories** to make all repositories available, or click **Only select
    repositories** and specify individual repositories.

5.  Click **Install**.

The application must be authorized in API Designer to complete the integration with GitHub. See
[Authorize the GitHub Sync Application in API Designer](#authorize-the-github-synchronization-application-in-api-designer).

## Install the GitHub Synchronization Application as a GitHub User

Installing the GitHub Synchronization application in a GitHub user account enables you to sync your
individual GitHub user repositories.

### Before You Begin

To install the GitHub Synchronization application as a GitHub user, you must have:

- A GitHub account

- A membership in the GitHub organization in which you want to install the application

> [!IMPORTANT] In the email settings for the GitHub account you want to use with GitHub
> Synchronization, if you select **Keep my email addresses private**, ensure you do not select
> **Block command line pushes that expose my email**. The block setting will prevent you from
> pushing commits in your synchronized project.

### Install the GitHub Synchronization Application

1.  Navigate to the
    [US GitHub Synchronization application page](https://github.com/apps/mulesoft-github-integration)
    or
    [EU Github Synchronization application page](https://github.com/apps/muesoft-github-integration-eu)
    depending on your region.

2.  Click **Install**.

3.  In the **Install MuleSoft GitHub Integration** dialog, select a GitHub user account (typically
    the first items in the displayed list).

4.  Click **All repositories** to make all repositories available or click **Only select
    repositories** and specify individual repositories.

5.  Click **Install**.

The application must be authorized in API Designer to complete the integration with GitHub. See
[Authorize the GitHub Synchronization Application in API Designer](#authorize-the-github-synchronization-application-in-api-designer).

## Authorize the GitHub Synchronization Application in API Designer

To authorize the GitHub Synchronization application, ensure your user ID is assigned the Design
Center Developer permission.

1.  Sign in to the Anypoint Platform.

2.  On the Design Center **Projects** page, click **Create +**.

3.  Select **New API Specification**.

4.  In the **New API Specification** panel, click **Authorize the MuleSoft app now to get started**.

5.  Click **Authorize**.

6.  In the subsequent dialog, click **Authorize MuleSoft GitHub Integration**.

You are redirected to API Designer, which displays an **Authorized Successfully** message. You can
now complete the process that originally triggered the application authorization.

## Troubleshooting GitHub Synchronization Application Installation

If you encounter errors when attempting to authorize the GitHub Synchronization application, try
deauthorizing and then reauthorizing the GitHub Synchronization application:

1.  Click **Revoke** in the GitHub user interface (**Settings** > **Applications** > **Authorized
    GitHub Apps**).

2.  [Authorize the GitHub Synchronization Application](#authorize-the-github-synchronization-application-in-api-designer).

If you see an empty list, ensure you’ve installed the application either in a GitHub organization or
in a GitHub user account before performing any sync action.

## Disabling the GitHub Integration

Your organization administrator can disable the Github Integration:

1.  On the Design Center **Projects** page, click **Settings**.

2.  Under **Integrations**, unselect **Enable Github Integration**.

3.  A confirmation dialog box appears.

4.  Click **Disable GitHub**.

The integration is now disabled. If your organization has sub-organizations, the organization
administrator can enable or disable the integration for each sub-organization as needed.

> [!WARNING] This action disables source syncing for all users and projects in your organization. If
> the integration is re-enabled, all past synchronizations are lost even when the repositories still
> exist on GitHub.
