MissionControlHQMissionControlHQResources
ArticlesDocs
Get early access→
Integrations
Email & Productivity
  • Gmail
  • Outlook
  • Google Docs
  • Google Sheets
  • Excel
  • Notion
  • Confluence
  • Airtable
  • Todoist
  • Google Tasks
  • Canva
Communication
  • Slack
  • Microsoft Teams
  • Discord
  • WhatsApp
  • Webex
Scheduling & Meetings
  • Google Calendar
  • Zoom
  • Calendly
  • Cal.com
  • Google Meet
  • Eventbrite
Marketing & Social
  • Mailchimp
  • Google Ads
  • Facebook
  • LinkedIn
  • YouTube
  • Reddit
  • Dub
CRM & Support
  • HubSpot
  • Salesforce
  • Attio
  • Capsule CRM
  • Intercom
  • Zendesk
  • Gorgias
  • Zoho Desk
  • Gong
File Storage
  • Google Drive
  • Dropbox
  • OneDrive
  • Box
  • SharePoint
  • Google Photos
E-commerce & Payments
  • Stripe
  • Square
Finance & Time
  • Harvest
  • Zoho Books
  • Zoho Invoice
  • FreshBooks
  • Fathom
Analytics
  • Google BigQuery
Dev & Project Management
  • GitHub
  • GitLab
  • Bitbucket
  • Linear
  • Jira
  • Asana
  • ClickUp
  • Trello
  • Monday.com
  • Basecamp
  • Wrike
  • Productboard
  • Figma
  • Miro
  • Sentry
  • PagerDuty
  • Supabase
  • DigitalOcean
Resources/Integrations/GitLab

Dev & Project Management

🦊 GitLab integration

Access levels: Read-only · Read + write · Full access · Verified July 15, 2026

PreviousGitHubNextBitbucket

Connect GitLab once and every agent in your squad can work in it for you, with exactly as much access as you decide to give, and a receipt for every call it makes.

What your squad can do in GitLab

  • Look things up, get commit refs; get commit sequence; get group, and more.
  • Do real work, create group; create project; create project issue; create repository branch, and more.
  • Run it on a schedule: any of the 58 available tools below can be part of a scheduled task or a mission.

How to connect

  1. In your dashboard, open Integrations and find GitLab.
  2. Click Connect and pick an access level (we recommend Read + write): this is the ceiling for every agent.
  3. Sign in to GitLab in the window that opens and approve. You land back on the Integrations page with the account live.

You can change an account's access level any time under Manage. It applies instantly, no re-authorization. If the connection ever expires, the card shows Reconnect; one click re-authorizes the same account with the same settings.

Multiple accounts: connect as many as you need (say, yours and a client's). One is primary. Agents use it unless a mission says otherwise.

Access levels

The level you pick at connect time is enforced on our side for every agent call: an agent can never do more than the level allows, no matter what it's asked.

LevelWhat it allows
Read-onlyRead projects, profile, and repo contents.
Read + writeFull API, issues, MRs, repository contents.Recommended
Full accessFull API plus admin sudo access.

On top of the connection's level, every agent can be individually allowed, scoped down, or denied for this app from the Integrations page. Deny an agent and it doesn't even see the connection.

Every tool, in plain terms

The 58 tools agents use in GitLab through Mission Control, and the lowest access level that includes each. Agents discover these themselves. You never have to name a tool; asking in plain language is enough.

ToolWhat it doesAccess level
Archive project
GITLAB_ARCHIVE_PROJECT
Archive a project. Use when you need to mark a project read-only after finishing active development. Call after confirming no further changes are required.Read + write, Full access
Create group
GITLAB_CREATE_GROUP
Create a new group in GitLab. Use when you need to establish a new group for projects or collaboration.Read + write, Full access
Create project
GITLAB_CREATE_PROJECT
Create a new project in GitLab. Implements POST /projects endpoint.Read + write, Full access
Create project issue
GITLAB_CREATE_PROJECT_ISSUE
Create a new issue in a GitLab project. Use when you need to report a bug, request a feature, or track a task within a specific project.Read + write, Full access
Create repository branch
GITLAB_CREATE_REPOSITORY_BRANCH
Create a new branch in a project. Use when you need to create a new branch from an existing branch or a specific commit in a GitLab project.Read + write, Full access
Delete project
GITLAB_DELETE_PROJECT
Delete a GitLab project by its ID. Use when you need to remove a project, either by marking it for later deletion or deleting it immediately.Full access
Download project avatar
GITLAB_DOWNLOAD_PROJECT_AVATAR
Download a project's avatar image. Use when you need the raw avatar bytes after confirming the project exists.All levels
Erase job
GITLAB_ERASE_JOB
Erase the content of a specified job within a project.Full access
Get commit refs
GITLAB_GET_COMMIT_REFS
Get all references (branches or tags) a commit is pushed to.All levels
Get commit sequence
GITLAB_GET_COMMIT_SEQUENCE
Get the sequence number of a commit in a project by following parent links from the given commit.All levels
Get group
GITLAB_GET_GROUP
Retrieve information about a specific group by its ID.All levels
Get groups
GITLAB_GET_GROUPS
Get GroupsAll levels
Get group member
GITLAB_GET_GROUP_MEMBER
Retrieve details for a specific group member.All levels
Get job details
GITLAB_GET_JOB_DETAILS
Retrieve details of a single job by its ID within a specified project.All levels
Get merge request notes
GITLAB_GET_MERGE_REQUEST_NOTES
Fetch comments on a merge request. Use when you need to retrieve all notes for a specific merge request.All levels
Get project
GITLAB_GET_PROJECT
Get a single project by ID or URL-encoded path.All levels
Get projects
GITLAB_GET_PROJECTS
List all projects accessible to the authenticated user.All levels
Get projects id merge requests iid diffs
GITLAB_GET_PROJECTS_ID_MERGE_REQUESTS_IID_DIFFS
List all diff versions of a merge request.All levels
Get project languages
GITLAB_GET_PROJECT_LANGUAGES
List programming languages used in a project with percentages.All levels
Get project member
GITLAB_GET_PROJECT_MEMBER
Retrieve details for a specific project member.All levels
Get project member all
GITLAB_GET_PROJECT_MEMBER_ALL
Retrieve details for a specific project member (including inherited and invited members).All levels
Get project merge request
GITLAB_GET_PROJECT_MERGE_REQUEST
Fetch full details for a single merge request when the MR IID is known.All levels
Get project merge requests
GITLAB_GET_PROJECT_MERGE_REQUESTS
Retrieve a list of merge requests for a specific project.All levels
Get project merge request commits
GITLAB_GET_PROJECT_MERGE_REQUEST_COMMITS
Get commits of a merge request. Use when you need to retrieve all commits associated with a specific merge request.All levels
Get repository branch
GITLAB_GET_REPOSITORY_BRANCH
Retrieve information about a specific branch in a project.All levels
Get repository branches
GITLAB_GET_REPOSITORY_BRANCHES
Retrieves a list of repository branches for a project.All levels
Get single commit
GITLAB_GET_SINGLE_COMMIT
Get a specific commit identified by the commit hash or name of a branch or tag.All levels
Get single pipeline
GITLAB_GET_SINGLE_PIPELINE
Retrieve details of a single pipeline by its ID within a specified project.All levels
Get user
GITLAB_GET_USER
Retrieve information about a specific user by their ID.All levels
Get users
GITLAB_GET_USERS
Retrieve a list of users from GitLab. Use this when you need to find user information, search for specific users, or filter users based on various criteria like activity status or creation date.All levels
Get users id status
GITLAB_GET_USERS_ID_STATUS
Get a user's status by ID. Use when you need to retrieve a GitLab user's current status message, emoji, and availability after identifying their user ID.All levels
Get user preferences
GITLAB_GET_USER_PREFERENCES
Get the current user's preferences. Use when you need to retrieve the user's diff display and CI identity JWT settings after authentication.All levels
Get user status
GITLAB_GET_USER_STATUS
Get the current user's status. Use when displaying or verifying the authenticated user's GitLab status after login.All levels
Get user support pin
GITLAB_GET_USER_SUPPORT_PIN
Get details of the current user's Support PIN.All levels
Import project members
GITLAB_IMPORT_PROJECT_MEMBERS
Import members from one project to another.Read + write, Full access
List all group members
GITLAB_LIST_ALL_GROUP_MEMBERS
List all members of a group including direct, inherited, and invited members.All levels
List all project members
GITLAB_LIST_ALL_PROJECT_MEMBERS
List all members of a project (direct, inherited, invited).All levels
List billable group members
GITLAB_LIST_BILLABLE_GROUP_MEMBERS
List billable members of a top-level group (including its subgroups and projects).All levels
List group members
GITLAB_LIST_GROUP_MEMBERS
List direct members of a group. Use when you need to retrieve or filter a group's direct membership.All levels
List group projects
GITLAB_LIST_GROUP_PROJECTS
List projects within a GitLab group by group ID or full path.All levels
List pending group members
GITLAB_LIST_PENDING_GROUP_MEMBERS
List pending members of a group and its subgroups and projects.All levels
List pipeline jobs
GITLAB_LIST_PIPELINE_JOBS
Retrieve a list of jobs for a specified pipeline within a project.All levels
List project groups
GITLAB_LIST_PROJECT_GROUPS
List ancestor groups of a project. Use when you need to retrieve all groups a project belongs to or is shared with.All levels
List project invited groups
GITLAB_LIST_PROJECT_INVITED_GROUPS
List groups invited to a project. Use when auditing which groups have access to a project.All levels
List project issues
GITLAB_LIST_PROJECT_ISSUES
List issues for a project with filtering options (state, labels, search, assignee, author, etc.).All levels
List project pipelines
GITLAB_LIST_PROJECT_PIPELINES
Retrieve a list of pipelines for a specified project.All levels
List project shareable groups
GITLAB_LIST_PROJECT_SHAREABLE_GROUPS
List groups that can be shared with a project.All levels
List project tags
GITLAB_LIST_PROJECT_TAGS
Retrieve a list of repository tags for a specified project.All levels
List project transfer locations
GITLAB_LIST_PROJECT_TRANSFER_LOCATIONS
List namespaces available for project transfer.All levels
List project users
GITLAB_LIST_PROJECT_USERS
List users of a project. Use after you have a project ID and want to retrieve its users.All levels
List repository commits
GITLAB_LIST_REPOSITORY_COMMITS
Get a list of repository commits in a project.All levels
List user projects
GITLAB_LIST_USER_PROJECTS
List projects owned by a specific user. Use after obtaining target user identity to fetch owned projects.All levels
Post user support pin
GITLAB_POST_USER_SUPPORT_PIN
Create a support PIN for your authenticated user.Read + write, Full access
Put user preferences
GITLAB_PUT_USER_PREFERENCES
Update the current user's preferences. Use when adjusting default diff viewing and CI identity settings.Read + write, Full access
Set user status
GITLAB_SET_USER_STATUS
Set the current user's status. Use when you need to update availability or convey current mood on GitLab.Read + write, Full access
Share project with group
GITLAB_SHARE_PROJECT_WITH_GROUP
Share a project with a group. Use when you need to grant a group specific access level to a project.Read + write, Full access
Start project housekeeping
GITLAB_START_PROJECT_HOUSEKEEPING
Start the housekeeping task for a project.Read + write, Full access
Update project issue
GITLAB_UPDATE_PROJECT_ISSUE
Update an existing issue in a GitLab project (title, description, labels, assignees, state, etc.).Read + write, Full access

What agents can't do in GitLab (yet)

  • Anything not in the table above. The tools mirror what GitLab makes available to connected apps. If GitLab doesn't expose an operation, agents can't perform it either.
  • If something you need is missing, there's usually a path: add the service's API key under Settings → Custom integrations and your agents can call it directly. See custom integrations & secrets. You can also ask your lead agent to open a ticket describing what it needs.

Using it in missions

Just ask in plain language: “check GitLab for …”, “create … in GitLab”, “every Monday, … ”, and the agent finds the right tool, runs it, and reports back with a receipt in your Runs ledger. Anything outward-facing (sending, posting, publishing) that a mission didn't clearly authorize comes back to you as a ticket first.

Troubleshooting

Agent saysWhat's happeningFix
"GitLab isn't connected"No active connection (or this agent is denied)Connect on the Integrations page; check the agent's per-app policy
"The connection has expired"GitLab ended the authorization (they all do periodically)Click Reconnect on the account, same settings, one click
"I'm not allowed to do that"The action is above the account's access level, or the agent is scoped downRaise the level under Manage, or adjust that agent's policy
It did something unexpectedThe ask was ambiguous (e.g. matched an existing item)Be explicit, "create a NEW …", and give agents a working folder where relevant