---
title: "Manage connections for source control and hosting providers"
slug: "manage-connections-for-source-control-and-hosting-providers"
abstract: "Describes how to view, add, and delete source control connections and hosting provider connections in the Deploy app."
---
# Manage connections for source control and hosting providers

On the **Connections** page, you can view, create, and delete your source control connections and hosting provider connections.

![The connections page.](https://doc.sitecore.com/api/markdown-image/sai/en/developers/sitecoreai/images/connections-page-xm-cloud-deploy.PNG)

> [!important]
> A source control connection is linked to a specific source control provider account, and a hosting provider connection is linked to a specific hosting provider account. Across [SitecoreAI](https://doc.sitecore.com/sai/en/users/sitecoreai/sitecoreai.html), there can only be one connection to a given source control user account or organization, no matter who creates it.
>
> A connection can be used by:
>
> -   Everyone in the organization where the connection was created.
>
> -   The creator, in all organizations that they belong to.
>
>
> For example, if Dave belongs to the organizations A, B, and C, and creates a connection to GitHub in organization A:
>
> -   All users in organization A can see and delete the connection.
>
> -   Other users in organization B can't see or delete the connection.
>
> -   Other users in organization C can't see or delete the connection.
>
> -   Dave can see and delete the connection in organizations A, B and C because he is the creator of the connection.
>
>
> Therefore, we strongly recommend you use a shared or dedicated user account as a service account in Deploy when creating a source control connection or hosting provider connection. Coordinate with users across your organizations to ensure that nobody attempts to create a connection that exists elsewhere in SitecoreAI.

A source control connection grants access to the repositories containing the environment code you want to deploy or gives the Deploy app permission to create repositories in your source control provider.

The Deploy app supports the following source control providers:

- GitHub
- Azure DevOps

    > [!important]
    > Vercel does not natively support Azure DevOps as a Git provider. To use Azure DevOps with Vercel, you need to use the [Vercel Deployment Extension and set up an Azure Pipeline](https://vercel.com/docs/deployments/git/vercel-for-azure-pipelines).

A hosting provider connection gives the Deploy app permission to deploy websites with your hosting providers.

The Deploy app supports the following hosting provider:

- Vercel

    > [!important]
    > If you're getting started with Vercel for the first time, the Vercel connector can help you quickly deploy your website. However, this creates a new Vercel project for every site you deploy. For production sites and multiple site connections across environments, [deploy your front-end application to Vercel](https://doc.sitecore.com/sai/en/developers/jss/22/jss-sai/deploy-your-front-end-application-to-vercel.html) or [Netlify](https://doc.sitecore.com/sai/en/developers/jss/22/jss-sai/deploy-your-front-end-application-to-netlify.html).

## Creating a source control connection with GitHub

> [!note]
> **Before you begin**
> -   To provide the list of a GitHub account's repositories, the Deploy app requires *read* and *write* access to administration and code. If you don't want to grant these permissions, create your projects and environments using the [Deploy API](https://doc.sitecore.com/sai/en/developers/sitecoreai/deploying-sitecoreai/deploy-api.html "Deploy API") or the [Sitecore CLI](https://doc.sitecore.com/sai/en/developers/sitecoreai/sitecore-command-line-interface/create-a-sitecoreai-project-using-the-sitecore-cli.html "Create a SitecoreAI project using the Sitecore CLI").
>
> -   The Deploy app does not support GitHub Enterprise Cloud organizations that use [IP allow lists](https://docs.github.com/en/enterprise-cloud@latest/admin/configuring-settings/hardening-security-for-your-enterprise/restricting-network-traffic-to-your-enterprise-with-an-ip-allow-list).

If you want the Deploy app to access the GitHub repositories containing your environment code or create repositories in your GitHub account, you need to create a source control connection.

When you create a source control connection with GitHub, you have two options.

**Install & Authorize** the Sitecore Deploy GitHub app for:

-  **Selected repositories** - choose this option when you have existing code and you want to limit the Deploy app's access to specific GitHub repositories.
-   **All repositories** - choose this option if you want the Deploy app to have access to all your GitHub repositories and create repositories on your behalf. Required when you choose the foundation template in the project creation wizard because the Deploy app creates a new repository for the foundation template code.

> [!note]
> If you want to use the foundation template while limiting the Deploy app's access to your GitHub repos, you can:
>
> 1.  Clone the [foundation template repository](https://github.com/sitecorelabs/xmcloud-foundation-head).
>
> 2.  In the Deploy app, create a source control connection for the GitHub account where you cloned the Foundation Template and Install & Authorize the Sitecore Deploy GitHub app for the repository that contains the foundation template.
>
> 3.  In the project creation wizard, create a project and choose the source control connection and repository that you cloned.

To create a source control connection with GitHub:

1. On the navigation pane of the Deploy app, click **Connections**.
2. On the **Connections** page, click **Create connection** > **GitHub**.
3. Choose the GitHub account or organization where you want to install and authorize the Deploy app.

    > [!note]
    > A source control connection relies on a specific source control provider account. To avoid access and permission errors, we strongly recommend that you use a dedicated user account as a service account to install and authorize the Deploy app.

4. Creating a new GitHub connection will install and authorize the Sitecore Deploy GitHub app on your personal account, organization, or enterprise.
    - If you only want to [create projects from existing source code](https://doc.sitecore.com/sai/en/developers/sitecoreai/getting-started-with-sitecoreai/deploy-a-project-and-environment.html "Deploy a project and environment"), you need to **Install & Authorize** the Sitecore Deploy GitHub app for the repositories that contain your existing code.
    - If you also want to [create projects from the foundation template](https://doc.sitecore.com/sai/en/developers/sitecoreai/getting-started-with-sitecoreai/deploy-a-project-and-environment.html "Deploy a project and environment"), you need to **Install & Authorize** the Sitecore Deploy GitHub app for **All repositories**.
    - If you are a GitHub Organization member, you must first **Authorize & Request** the Sitecore Deploy GitHub app. Then a GitHub Organization owner must **Approve, Install, & Authorize** your request.
    - You cannot create a new GitHub connection with an Enterprise Managed User account.
    - All GitHub repositories created by the Deploy App have private visibility.

You can also create a source control connection when you [create a project in the Deploy app](https://doc.sitecore.com/sai/en/developers/sitecoreai/getting-started-with-sitecoreai/deploy-a-project-and-environment.html "Deploy a project and environment").

## Creating a source control connection with Azure DevOps

> [!note]
> **Before you begin**
> -   A source control connection relies on a specific source control provider account. When creating a source control connection with Azure DevOps, we strongly recommend that you use a dedicated user account that is part of the *Project Administrators* group to avoid access and permission errors.
>
> -   If you use an Azure DevOps account that is not part of the *Project Administrators* group, it must have the [*Edit subscriptions, View subscriptions*](https://learn.microsoft.com/en-us/azure/devops/service-hooks/overview?view=azure-devops#q-what-permissions-do-i-need-to-set-up-a-subscription), and [*Create repository*](https://learn.microsoft.com/en-us/azure/devops/repos/git/set-git-repository-permissions?view=azure-devops) permissions.
>
> -   The Deploy app requires *Code (full)*, *Project and team (read)*, and *Token Administration* permissions. If you don't want to grant these permissions, create your projects and environments using the [Deploy API](https://doc.sitecore.com/sai/en/developers/sitecoreai/deploying-sitecoreai/deploy-api.html "Deploy API") or the [Sitecore CLI](https://doc.sitecore.com/sai/en/developers/sitecoreai/sitecore-command-line-interface/create-a-sitecoreai-project-using-the-sitecore-cli.html "Create a SitecoreAI project using the Sitecore CLI").
>


If you want the Deploy app to access the Azure DevOps repositories containing your environment code or create repositories in your Azure DevOps project, you need to create a source control connection.

To create a source control connection with Azure DevOps:

1. On the navigation pane of the Deploy app, click **Connections**.
2. On the **Connections** page, click **Create connection** > **Azure DevOps**.
3. Log in to the Azure DevOps account where you want to authorize the Deploy app.

    > [!note]
    > A source control connection relies on a specific source control provider account, so we strongly recommend that you use a dedicated user account as a service account to authorize the Deploy app.

4. On the app authorization page, click **Accept**.

You can also create a source control connection when you [create a project in the Deploy app](https://doc.sitecore.com/sai/en/developers/sitecoreai/getting-started-with-sitecoreai/deploy-a-project-and-environment.html "Deploy a project and environment").

## Delete a source control connection

You can delete a source control connection that you don't need. You cannot delete a source control connection that is associated with a project.

To permanently delete a source control connection:

1. On the navigation pane of the Deploy app, click **Connections**.
2. On the **Connections** page, locate the source control connection you want to delete, then click **Actions**:mdiDotsHorizontal:(../../images/actions-menu-horizontal-icon.png) > **Delete**.
3. In the **Delete connection** dialog, click **Delete**.

    > [!note]
    > If you want to revoke the Deploy app's authorization for an Azure DevOps connection, log in to your Azure DevOps account, open [https://app.vssps.visualstudio.com/Profile/View](https://app.vssps.visualstudio.com/Profile/View), select Manage authorizations, then revoke the Deploy app's access.

## Create a hosting provider connection

You can create a hosting provider connection to give the Deploy app permission to deploy websites with your hosting providers.

To create a hosting provider connection:

1. On the navigation pane of the Deploy app, click **Connections**.
2. On the **Connections** page, on the **Hosting** tab, click **Create connection**, then click the hosting provider you want to create a connection for.
3. Follow the hosting provider's steps to create a new connection.

## Delete a hosting provider connection

You can delete a hosting provider connection that you don't need. If you delete a Vercel connection that was used to set up hosting for a site, the Deploy app can't delete the Vercel project associated with that site.

To permanently delete a hosting provider connection:

1. On the navigation pane of the Deploy app, click **Connections**.
2. On the **Connections** page, on the **Hosting** tab, locate the hosting provider connection you want to delete and click **Actions**:mdiDotsHorizontal:(../../images/actions-menu-horizontal-icon.png) > **Delete connection**.
3. In the **Delete connection** dialog, click **Delete**.