> ## Documentation Index
> Fetch the complete documentation index at: https://docs.letsflow.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub

> GitHub team and repository access through Flow automations.

export const flowWebUrl = "https://app.letsflow.ai";

Flow uses this integration to manage GitHub organization members, teams, repositories, issues, collaborators, and Copilot seats from automations.

<Tabs>
  <Tab title="Personal access token">
    ### Prepare in GitHub

    <Steps>
      <Step title="Create a GitHub token">
        Create a personal access token (classic) for the organization this team will automate. Follow GitHub's [personal access token documentation](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) for expiration, approval, and organization policy requirements.
      </Step>

      <Step title="Set token access">
        Grant the classic token scopes required for the GitHub actions this team will use. Use the shortest practical expiration.
      </Step>
    </Steps>

    ### Connect in Flow

    <Steps>
      <Step title="Find the GitHub integration">
        1. Open **Integrations**.
        2. Choose **Add connection**.
        3. In **Add connection**, search for **GitHub**.
        4. Select the **GitHub** card.

        <a className="flow-app-link" href={flowWebUrl}>
          Open Flow

          <svg aria-hidden="true" viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
            <path d="M7 7h10v10" />

            <path d="M7 17 17 7" />
          </svg>
        </a>
      </Step>

      <Step title="Connect">
        1. Pick the team that will use the connection.
        2. Select the GitHub actions that team's automations need.
        3. Enter the GitHub token when prompted.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Permissions and scopes

Create the token with the scopes required by the actions allowed for the connection. At runtime, Flow checks action access and granted scopes before calling the provider.

<div className="flow-scope-filter" data-flow-scope-filter>
  <button type="button" className="flow-scope-filter-picker" data-flow-scope-filter-trigger>
    <svg aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M3 6h18" />

      <path d="M7 12h10" />

      <path d="M10 18h4" />
    </svg>

    Filter
  </button>

  <div className="flow-scope-filter-menu" data-flow-scope-filter-menu hidden />

  <span data-flow-scope-filter-chips />

  <button type="button" className="flow-scope-filter-clear" data-flow-scope-filter-clear hidden>Clear</button>
</div>

| Scope | Used by actions |
| - | - |
| `admin:org` | Add Copilot seats, Add or update team membership, Remove Copilot seats, Remove organization member, Remove team membership, Set organization membership |
| `repo` | Add repository collaborator, Create issue, Create organization repository, Remove repository collaborator |

## Supported actions

| Action | Description | <Tooltip tip="Risk estimates the impact of the action. Low reads provider data, medium changes existing records, and high can grant access, remove data, disable resources, or make broad changes.">Risk</Tooltip> |
| - | - | - |
| Add Copilot seats | Adds GitHub Copilot seats for organization users using automation-provided input. Use it when the automation needs to add this provider record or request. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Add or update team membership | Updates or triggers a user's GitHub team membership using automation-provided input. Use it after the automation has selected the target record or command. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Add repository collaborator | Updates or triggers a collaborator to a GitHub repository using automation-provided input. Use it after the automation has selected the target record or command. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Create issue | Creates a GitHub issue using automation-provided input. Use it when the automation needs to add this provider record or request. | <Badge color="green" size="sm" shape="pill">low</Badge> |
| Create organization repository | Creates a repository in a GitHub organization using automation-provided input. Use it when the automation needs to add this provider record or request. | <Badge color="yellow" size="sm" shape="pill">medium</Badge> |
| Remove Copilot seats | Removes GitHub Copilot seats from organization users. Use it only after the flow confirms the exact target. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Remove organization member | Removes a member from a GitHub organization. Use it only after the flow confirms the exact target. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Remove repository collaborator | Removes a collaborator from a GitHub repository. Use it only after the flow confirms the exact target. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Remove team membership | Removes a user's GitHub team membership. Use it only after the flow confirms the exact target. | <Badge color="red" size="sm" shape="pill">high</Badge> |
| Search users | Reads GitHub users that match the search query. Use it to fetch current provider state without modifying data. | <Badge color="green" size="sm" shape="pill">low</Badge> |
| Set organization membership | Updates or triggers a user's GitHub organization membership using automation-provided input. Use it after the automation has selected the target record or command. | <Badge color="red" size="sm" shape="pill">high</Badge> |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.