Skip to main content
The GitLab integration connects your GitLab projects to Modem. It captures merge request, issue, and comment activity from the projects you choose, and it gives the Modem Agent the ability to search, create, update, and comment on merge requests and issues directly from chat.
GitLab is currently in beta and enabled per organization. If you don’t see it under SettingsIntegrations, email support@modem.dev to request access.
Modem does not read your source code. It syncs metadata only: merge request and issue titles, descriptions, comments, labels, and state. No file contents, no diffs, no repository browsing. Works with both GitLab.com and self-managed GitLab.

Prerequisites

  • Admin access in the Modem organization where you want to connect GitLab
  • A GitLab account with at least Maintainer access on the projects you want to monitor (required to install project webhooks)
  • The GitLab beta enabled for your organization

Setup

1

Start the connection

Go to SettingsIntegrationsGitLab in your Modem dashboard and click Connect GitLab.
2

Authorize Modem

You’ll be redirected to GitLab to authorize Modem. Review the requested access (api and read_user) and approve. Modem connects as the GitLab account you authorize with.
3

Enable projects

Back in Modem, you’ll see the projects your account can access. Toggle on the ones you want Modem to monitor. See Enabling Projects below for what happens when you do.

Enabling Projects

GitLab ingestion is opt-in per project. Nothing is captured until you enable a project from the project list in SettingsIntegrationsGitLab. Enabling a project installs a webhook on that project for merge request, issue, and comment events, so new activity flows into Modem in real time. Toggle a project off at any time to remove its webhook and stop ingestion. You can filter the project list by visibility (public, internal, private) to find what you’re looking for.
Start with the projects where users file issues or where shipping activity matters most, then expand. Each project is an explicit choice, so there’s no risk of pulling in repositories you didn’t intend to.

What Gets Captured

For each enabled project, Modem captures:

Merge requests

Merge request titles, descriptions, source and target branches, author, labels, and state. Modem tracks the full lifecycle: opened, updated, merged, and closed-without-merge.

Issues

Issue titles, descriptions, author, labels, and state (open or closed), captured as they’re created and updated.

Comments

Comments (GitLab calls them notes) on both merge requests and issues, with their author and body.
Modem skips GitLab system notes — the automated entries GitLab adds for things like label changes, assignments, and milestone updates. Only real human comments are captured.

What the Agent Can Do

With GitLab connected, you can ask the Modem Agent to work with your merge requests and issues. Read operations run on demand; write operations require your approval before they execute.
  • Search and list merge requests and issues across your enabled projects
  • Read full details of a merge request or issue, including its recent comments
  • Update issues: title, description, labels, open/close (requires approval)
  • Comment on a merge request or issue (requires approval)
  • Create issues from feedback conversations (requires approval)
The agent works through GitLab’s GraphQL API, so it isn’t limited to the operations above — if GitLab’s API can express it, you can ask for it.
Write actions (creating issues, updating issues, adding comments) always ask for your approval before they run. Read actions like search and lookups run without a prompt.

Example Prompts

These work from the dashboard, Slack DMs, or by mentioning @modem in a channel. Simple: Advanced:
With the Slack integration installed, you can do all of this directly from Slack by messaging the Modem bot, no need to leave your conversation.

Automations

GitLab merge request events can trigger automations in Modem. After GitLab is connected, you can create event automations for: These are useful for posting shipping updates to Slack, summarizing merged work, or connecting merged changes back to the feedback that prompted them.

Self-Managed GitLab

The integration works with self-managed GitLab instances as well as GitLab.com. The connection records your instance URL and routes all API calls and webhooks accordingly. Reach out to support@modem.dev if you’re connecting a self-managed instance so we can confirm your OAuth application is configured correctly.

Troubleshooting

The project list reflects what your connected GitLab account can access at Maintainer level or above. If a project is missing, verify your access in GitLab, then reload the GitLab settings page in Modem.
Work through these in order:
  • Confirm the project is toggled on in SettingsIntegrationsGitLab
  • Allow a few minutes for webhook delivery and processing
  • In GitLab, check the project’s Settings → Webhooks and look at the recent delivery log for the Modem hook
  • Note that GitLab system notes (automated label/assignment entries) are intentionally skipped
Open SettingsIntegrationsGitLab to see the error detail. If the access has expired or permissions changed, reconnect from the same page. If the error persists, contact support@modem.dev.
Work through these in order:
  • Verify GitLab is connected and the relevant project is enabled
  • Be specific with the project path and the merge request or issue number
  • Remember that creating issues, updating issues, and adding comments require approval, so check for a pending approval prompt

Disconnecting

To disconnect GitLab:
  1. Go to SettingsIntegrationsGitLab
  2. Click Disconnect
This removes the webhooks from your enabled projects, so new activity is no longer synced and the agent can no longer act on GitLab. Historical data remains in Modem after disconnecting.

GitHub

Sync issues and pull requests from your GitHub repositories.

Integrations Overview

Compare GitLab with other data sources and agent tools.