--- title: GitLab credentials description: Documentation for GitLab credentials. Use these credentials to authenticate GitLab in n8n, a workflow automation platform. contentType: [integration, reference] priority: medium --- # GitLab credentials You can use these credentials to authenticate the following nodes: - [GitLab](/08-0-0-Workflow/integrations/builtin/app-nodes/n8n-nodes-base.gitlab.md) - [GitLab Trigger](/08-0-0-Workflow/integrations/builtin/trigger-nodes/n8n-nodes-base.gitlabtrigger.md) ## Supported authentication methods - API access token - OAuth2 (Recommended) ## Related resources Refer to [GitLab's API documentation](https://docs.gitlab.com/ee/api/rest/) for more information about the service. ## Using API access token To configure this credential, you'll need a [GitLab](https://gitlab.com/) account and: - The URL of your **GitLab Server** - An **Access Token** To set up the credential: 1. In GitLab, select your avatar, then select **Edit profile**. 2. In the left sidebar, select **Access tokens**. 3. Select **Add new token**. 4. Enter a **Name** for the token, like `n8n integration`. 5. Enter an **expiry date** for the token. If you don't enter an expiry date, GitLab automatically sets it to 365 days later than the current date. - The token expires on that expiry date at midnight UTC. 6. Select the desired **Scopes**. For the [GitLab](/08-0-0-Workflow/integrations/builtin/app-nodes/n8n-nodes-base.gitlab.md) node, use the `api` scope to easily grant access for all the node's functionality. Or refer to [Personal access token scopes](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#personal-access-token-scopes) to select scopes for the functions you want to use. 7. Select **Create personal access token**. 8. Copy the access token this creates and enter it in your n8n credential as the **Access Token**. 9. Enter the URL of your **GitLab Server** in your n8n credential. Refer to GitLab's [Create a personal access token documentation](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#create-a-personal-access-token) for more information. ## Using OAuth2 ```{include} ../../../../_snippets/integrations/builtin/credentials/cloud-oauth-button.md ``` If you're [self-hosting](/08-0-0-Workflow/hosting/index.md) n8n, you'll need a [GitLab](https://gitlab.com/) account. Then create a new GitLab application: 1. In GitLab, select your avatar, then select **Edit profile**. 2. In the left sidebar, select **Applications**. 3. Select **Add new application**. 4. Enter a **Name** for your application, like `n8n integration`. 5. In n8n, copy the **OAuth Redirect URL**. Enter it as the GitLab **Redirect URI**. 6. Select the desired **Scopes**. For the [GitLab](/08-0-0-Workflow/integrations/builtin/app-nodes/n8n-nodes-base.gitlab.md) node, use the `api` scope to easily grant access for all the node's functionality. Or refer to [Personal access token scopes](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#personal-access-token-scopes) to select scopes for the functions you want to use. 6. Select **Save application**. 7. Copy the **Application ID** and enter it as the **Client ID** in your n8n credential. 8. Copy the **Secret** and enter it as the **Client Secret** in your n8n credential. Refer to GitLab's [Configure GitLab as an OAuth 2.0 authentication identity provider](https://docs.gitlab.com/ee/integration/oauth_provider.html) documentation for more information. Refer to the [GitLab OAuth 2.0 identity provider API documentation](https://docs.gitlab.com/ee/api/oauth2.html) for more information on OAuth2 and GitLab.