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

# GitLab connection health

> Check a Paradime GitLab connection, repair its webhooks, keep the bot token valid with automatic rotation, unlink a project, or disconnect GitLab.

Each GitLab connection has a card on its integration page: **Settings > Integrations > GitLab**, or **GitLab Self-Managed**. The card shows if the connection works, and has the actions to repair it.

## What the card shows

| Row | What it shows |
| - | - |
| **Instance** | The GitLab address, for example `https://gitlab.com`. |
| **Top-level group** | On gitlab.com, the group that the connection covers. |
| **Sign-in URL** | On GitLab Self-Managed, the address where people link their account. **Same as instance** when not set. |
| **State** | **Connected**, **Degraded**, or **Suspended**. |
| **GitLab version** | The version of your GitLab. |
| **Token expiry** | The bot token's expiry date, **Rotates automatically**, or **No expiry date**. |
| **Last checked** | When Paradime last checked the connection. |
| **Projects** | Each connected project, with its webhook state and when it last sent an event. **This workspace** marks the current workspace's project. |

Paradime checks every connection each day. To check now, click **Check now**.

## Connection states

| State | What it means | What stops |
| - | - | - |
| **Connected** | GitLab accepts the bot token, and the webhooks work. | Nothing. |
| **Degraded** | GitLab answers, but a project has not sent events recently, or GitLab disabled its webhook. | Events from the affected projects. |
| **Suspended** | GitLab refused the bot token: it was revoked, expired, or lost its project access. | Turbo CI, on-merge runs, and Lineage Diff on GitLab, until Paradime has a working token. |

When a connection is **Suspended**, click **Reconnect with a new token** and run the install again. See [Connect gitlab.com](https://docs.paradime.io/integrations/gitlab/gitlab-com.md) or [Connect GitLab Self-Managed](https://docs.paradime.io/integrations/gitlab/self-managed.md).

## Webhook states

| Badge | What it means |
| - | - |
| **Hook active** | The webhook works. |
| **Hook paused by GitLab** | GitLab stopped the webhook for a short time after failed deliveries. |
| **Hook disabled** | GitLab turned the webhook off. |
| **Hook missing** | Someone deleted the webhook in GitLab. |
| **Hook not added yet** | You chose to add the webhook yourself and it has not sent an event yet. |

### Repairs that Paradime makes

When the bot role is **Maintainer**, the daily check repairs webhooks. If GitLab disabled a webhook, or the webhook is gone, Paradime creates a new webhook with a new secret and deletes the disabled one. Each repair is in the audit log. A **Developer** bot cannot manage webhooks, so you repair them yourself.

### Re-install the webhooks

1. On the connection card, click **Re-install hooks**.
2. If the bot is a **Developer**, paste an **Owner token** from a project Maintainer or group Owner. Paradime uses it once to create the webhooks again, and does not store it.

If you do not paste a token, Paradime makes a new secret for each webhook. The webhooks already in GitLab stop working until you put the new secret in them:

1. In GitLab, open each project's **Settings > Webhooks** and edit the Paradime webhook.
2. Paste the new **Secret token**, then save.
3. In Paradime, click **I've updated the hooks**.

To see why a webhook failed, open the project's **Settings > Webhooks** in GitLab and look at the recent events of the Paradime webhook.

## Token rotation

Paradime rotates the bot token by itself when GitLab allows it:

* The token needs the `self_rotate` scope, and GitLab 17.9 or later. **Install for me** adds the scope when your GitLab version supports it. For **Use my own bot**, add it when you create the token.
* Paradime rotates the token when 80% of its lifetime has passed. The new token has the same lifetime.
* Paradime saves the new token before it uses it. If the rotation fails, the connection shows **Suspended** only when the old token no longer works.

A token that rotates shows **Rotates automatically** on the card. A token that cannot rotate shows its expiry date. Thirty days before it expires, the card warns you: **The bot token expires in `<n>` days**. Click **Reconnect with a new token** before that date, or Turbo CI stops on GitLab.

## Unlink a project

To stop workspaces from reaching a project through the connection:

1. On the connection card, find the project and click **Unlink**.
2. Select **I understand, unlink this project** and confirm.

Every workspace that reached the project through the connection stops cloning over HTTPS. A workspace with a deploy key falls back to it. A workspace without one is marked disconnected, and you connect it again on its **Git Repository** page.

## Add another top-level group

On gitlab.com, one connection covers one top-level group. Click **Install on another top-level group** to connect projects in another group. Each group gets its own card.

## Disconnect GitLab

1. On the connection card, click **Disconnect**.
2. If the bot cannot delete webhooks, paste an **Owner token (optional)**. Paradime uses it once to remove the webhooks, and does not store it.
3. Select **I understand, disconnect GitLab** and confirm.

Paradime revokes its bot token and unlinks every workspace from its project. Turbo CI, on-merge runs, and Lineage Diff stop on GitLab. Workspaces that still have a deploy key keep cloning with it.

If Paradime could not remove the webhooks, it lists them with links. Remove each one from the project's **Settings > Webhooks**, so GitLab stops sending events.


## Related topics

- [GitLab](https://docs.paradime.io/integrations/gitlab/index.md)
- [Connect GitLab to Paradime: gitlab.com and GitLab Self-Managed](https://docs.paradime.io/changelog/2026-11-04/gitlab-integration.md)
- [Connect gitlab.com](https://docs.paradime.io/integrations/gitlab/gitlab-com.md)
- [Connect a GitLab repository](https://docs.paradime.io/integrations/gitlab/connect-a-repository.md)
- [Continuous Deployment with GitLab](https://docs.paradime.io/products/bolt/ci-cd/continuous-deployment/gitlab.md)


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