> ## Documentation Index
> Fetch the complete documentation index at: https://hc.saas-manager.biz.nuro.jp/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub

> Instructions for integrating with GitHub.

## Supported Features

<Badge color="blue">Account Deletion</Badge> <Badge color="blue">Account Creation</Badge>

## Prerequisites

### Creating an Organization

Integrating with GitHub requires an organization. Go to the GitHub [admin page](https://github.com/settings/organizations) and verify that an organization has been created.

If no organization exists, create one. Attempting to integrate without an organization will result in an error (`errors.ids.oauth_no_workspace`).

<Info>
  If you have already created an organization but are still seeing an error, see "Integrating Multiple Organizations" below.
</Info>

## Integration Setup

There are the following methods to create a new integration:

* **General (Non-Enterprise Plan · OAuth)**
* **General (Non-Enterprise Plan · App)**
* **Enterprise Plan**

### General (Non-Enterprise Plan · OAuth)

1. Go to Integrations > Integrations, search for **Github**, and select the **General** tab.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1758967445340-2025-09-27-19-01-34.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=53aa3450ec98ff620d9c4c8a3c021068" alt="Screenshot" width="750" height="812" data-path="images/integrations/ole2ao8nnb/1758967445340-2025-09-27-19-01-34.png" />

2. Select **OAuth** from the connection type dropdown.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1766664800032-2025-12-25-21-13-10.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=f13cef2796daf855f1fc07b667db6cca" alt="Screenshot" width="630" height="596" data-path="images/integrations/ole2ao8nnb/1766664800032-2025-12-25-21-13-10.png" />

3. Select a permission level — **Read And Write (recommended) / Read Only / Read Only (excluding collaborators and invitations)** — and click \[**Connect**].

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1758968270800-2025-09-27-19-15-02.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=07bca898fa3edfc53e39ae38a8d034ea" alt="Screenshot" width="602" height="316" data-path="images/integrations/ole2ao8nnb/1758968270800-2025-09-27-19-15-02.png" />

4. You will be redirected to the GitHub login page. Enter your GitHub username or email address and password to log in.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1657609837664-image.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=ffbfa5118edbe860e4003be212987514" alt="Screenshot" width="471" height="817" data-path="images/integrations/ole2ao8nnb/1657609837664-image.png" />

5. After logging in to GitHub, a permission grant confirmation screen will appear as shown below.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1652946584715-image-3.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=cd175df0f4488f10d8a0f059b7d031e1" alt="Screenshot" width="770" height="1094" data-path="images/integrations/ole2ao8nnb/1652946584715-image-3.png" />

6. Review the permissions to be granted, click \[**Grant**] for your organization, then click \[**Authorize**].

7. Once the integration with GitHub is successful, registered user information will appear in the account list.

If it does not complete successfully, click **Edit** from the Status tab on the integrations screen and try again.

If the issue persists, please contact us via chat. For an overview of the GitHub integration, see the [integration page](https://admina.moneyforward.com/en/integrations/github).

<Info>
  If you use multiple organizations and accidentally clicked Authorize without clicking Grant, see "Integrating Multiple Organizations" below.
</Info>

### General (Non-Enterprise Plan · App)

1. If you select the connection type **App**, install the [app](https://github.com/apps/admina-organization-manager) in advance.

When installing the [app](https://github.com/apps/admina-organization-manager), select your organization name. The organization name = workspace key is required during integration.

Note: When using **App**, re-integration is not required even if the linked user leaves the organization.

2. Go to Integrations > Integrations, search for **Github**, and select the **General** tab.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1758967445340-2025-09-27-19-01-34.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=53aa3450ec98ff620d9c4c8a3c021068" alt="Screenshot" width="750" height="812" data-path="images/integrations/ole2ao8nnb/1758967445340-2025-09-27-19-01-34.png" />

3. Select **App** from the connection type dropdown, enter the **organization name** as the workspace key, and click \[Apply].

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1766662427901-2025-12-25-20-33-37.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=78d1d52f66231b5f6ba9d51a59e5c77f" alt="Screenshot" width="622" height="562" data-path="images/integrations/ole2ao8nnb/1766662427901-2025-12-25-20-33-37.png" />

4. Select your organization. Once the integration with GitHub is successful, registered user information will appear in the account list.

If it does not complete successfully, click **Edit** from the Status tab on the integrations screen and try again.

If the issue persists, please contact us via chat. For an overview of the GitHub integration, see the [integration page](https://admina.moneyforward.com/en/integrations/github).

### GitHub Enterprise (Self-Hosted)

If you use GitHub Enterprise, the integration process is different. Follow the steps below.

<Info>
  These instructions apply when using GitHub in a self-hosted environment. If you use a github.com URL, integrate from the **General** tab.
</Info>

#### Creating an OAuth App

1. Create an OAuth app following the [GitHub documentation](https://docs.github.com/en/enterprise-server@3.3/developers/apps/building-oauth-apps/creating-an-oauth-app). The following notes cover the parameters to enter.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1682323206558-image.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=f415708c3a92974d0685ea12d39065e5" alt="Screenshot" width="1328" height="482" data-path="images/integrations/ole2ao8nnb/1682323206558-image.png" />

2. For \[Application name], enter **`Admina by Moneyfoward`**.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1682323189901-image.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=af31b40d74469642be4e6d7a1224fdde" alt="Screenshot" width="1430" height="464" data-path="images/integrations/ole2ao8nnb/1682323189901-image.png" />

3. For \[Homepage URL], enter `**https://itmc.i.moneyforward.com/**`.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1664974337057-image.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=9f9c5450163c3696aca91cb8aab9747f" alt="Screenshot" width="1586" height="462" data-path="images/integrations/ole2ao8nnb/1664974337057-image.png" />

4. For \[Authorization callback URL], enter `**https://itmc.i.moneyforward.com/oauth/callback**`.

#### Confirming the Base URI

Check the domain you added when [verifying or approving a domain for your GitHub Enterprise organization](https://docs.github.com/en/enterprise-cloud@latest/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization). (Include https\://)

Copy and save it.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1664975254899-image.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=7a9ed7a3cfd4c16204bc751cc93e7f9f" alt="Screenshot" width="1284" height="526" data-path="images/integrations/ole2ao8nnb/1664975254899-image.png" />

#### Confirming the Client ID and Client Secret

1. After creating the OAuth app, the **Client ID** will be displayed. **The Client ID is your client ID** — save it.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1664974482624-image.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=2a78d49f1e8a2e30a40dbd20361c7501" alt="Screenshot" width="1726" height="1532" data-path="images/integrations/ole2ao8nnb/1664974482624-image.png" />

2. Click the **\[Generate a new client secret]** button.

3. The **Client secret** will be displayed. **The Client secret is your client secret** — save it.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1664974646982-image.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=90a539ffd880809f04f71221a4186bae" alt="Screenshot" width="1548" height="588" data-path="images/integrations/ole2ao8nnb/1664974646982-image.png" />

#### Integration Setup

1. Go to Integrations > Integrations, search for **Github**, and select the **Enterprise Plan** tab.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1758968933141-2025-09-27-19-25-51.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=e6f9ea7b03497bd38a8e5f2e57577177" alt="Screenshot" width="744" height="1066" data-path="images/integrations/ole2ao8nnb/1758968933141-2025-09-27-19-25-51.png" />

2. Enter the **Base URI**, **client ID**, and **client secret** obtained in the previous steps.

3. Select a permission level — **Read And Write (recommended) / Read Only / Read Only (excluding collaborators and invitations)** — and click \[**Connect**].

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1758968270800-2025-09-27-19-15-02.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=07bca898fa3edfc53e39ae38a8d034ea" alt="Screenshot" width="602" height="316" data-path="images/integrations/ole2ao8nnb/1758968270800-2025-09-27-19-15-02.png" />

4. Once the integration with GitHub is successful, registered user information will appear in the account list.

If it does not complete successfully, click **Edit** from the Status tab on the integrations screen and try again.

If the issue persists, please contact us via chat. For an overview of the GitHub integration, see the [integration page](https://admina.moneyforward.com/en/integrations/github).

## Manual Account Matching for SaaS Services Where Email Address Cannot Be Retrieved

Because email addresses cannot be retrieved for this service, user types are identified as "Unknown."

If needed, manually match (merge) accounts with other accounts.

For configuration details, refer to [Manually Matching (Merging) SaaS Accounts with Other Accounts](/en/it-management/saas-management/d97dy5z2l7-merge).

## Integrating Multiple Organizations

The following cases require action on the GitHub side:

* You want to add a new organization after the initial GitHub integration
* You accidentally clicked Authorize without clicking Grant during initial setup (organization cannot be selected)

### Actions on the GitHub Side

Perform the following steps to grant access to the additional organization or the organization you forgot to grant.

1. Go to [https://github.com/settings/applications](https://github.com/settings/applications).

2. Click the **Admina by Money Forward** app.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1652948414569-image-1.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=9981b4d568c03acb0582f1f250631fae" alt="Screenshot" width="1610" height="1075" data-path="images/integrations/ole2ao8nnb/1652948414569-image-1.png" />

3. Click the **Grant** button under Organization access.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1652948245205-image-2.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=5e45558490b427dd3117f49acc7acdf4" alt="Screenshot" width="1830" height="1004" data-path="images/integrations/ole2ao8nnb/1652948245205-image-2.png" />

4. Re-integrate in MoneyForward Admina. As shown in the image below, the organization you granted access to will now be selectable.

<img src="https://mintcdn.com/admina-sbn/gY33pALIoal5WYsd/images/integrations/ole2ao8nnb/1758968553495-2025-09-27-19-22-20.png?fit=max&auto=format&n=gY33pALIoal5WYsd&q=85&s=6388eb3ea820488e98d55867bc3635c4" alt="Screenshot" width="1014" height="642" data-path="images/integrations/ole2ao8nnb/1758968553495-2025-09-27-19-22-20.png" />

## Integrating 11 or More Organizations

GitHub OAuth tokens have a limit of `**10**` **tokens per user/application/scope combination**. If more than 10 tokens are created for the same user and scope combination with an application, the oldest token for that user/application/scope combination will be revoked.

[Tokens revoked due to too many OAuth app tokens with the same scope](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation#token-revoked-due-to-too-many-tokens-for-an-oauth-app-with-the-same-scope)

If you need to integrate 11 or more organizations (workspaces), change the account used for integration and run the integration again.
