Dev & Project Management
🦊 GitLab integration
Access levels: Read-only · Read + write · Full access · Verified
Dev & Project Management
Access levels: Read-only · Read + write · Full access · Verified
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.
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.
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.
| Level | What it allows | |
|---|---|---|
| Read-only | Read projects, profile, and repo contents. | |
| Read + write | Full API, issues, MRs, repository contents. | Recommended |
| Full access | Full 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.
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.
| Tool | What it does | Access level |
|---|---|---|
Archive projectGITLAB_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 groupGITLAB_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 projectGITLAB_CREATE_PROJECT | Create a new project in GitLab. Implements POST /projects endpoint. | Read + write, Full access |
Create project issueGITLAB_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 branchGITLAB_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 projectGITLAB_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 avatarGITLAB_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 jobGITLAB_ERASE_JOB | Erase the content of a specified job within a project. | Full access |
Get commit refsGITLAB_GET_COMMIT_REFS | Get all references (branches or tags) a commit is pushed to. | All levels |
Get commit sequenceGITLAB_GET_COMMIT_SEQUENCE | Get the sequence number of a commit in a project by following parent links from the given commit. | All levels |
Get groupGITLAB_GET_GROUP | Retrieve information about a specific group by its ID. | All levels |
Get groupsGITLAB_GET_GROUPS | Get Groups | All levels |
Get group memberGITLAB_GET_GROUP_MEMBER | Retrieve details for a specific group member. | All levels |
Get job detailsGITLAB_GET_JOB_DETAILS | Retrieve details of a single job by its ID within a specified project. | All levels |
Get merge request notesGITLAB_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 projectGITLAB_GET_PROJECT | Get a single project by ID or URL-encoded path. | All levels |
Get projectsGITLAB_GET_PROJECTS | List all projects accessible to the authenticated user. | All levels |
Get projects id merge requests iid diffsGITLAB_GET_PROJECTS_ID_MERGE_REQUESTS_IID_DIFFS | List all diff versions of a merge request. | All levels |
Get project languagesGITLAB_GET_PROJECT_LANGUAGES | List programming languages used in a project with percentages. | All levels |
Get project memberGITLAB_GET_PROJECT_MEMBER | Retrieve details for a specific project member. | All levels |
Get project member allGITLAB_GET_PROJECT_MEMBER_ALL | Retrieve details for a specific project member (including inherited and invited members). | All levels |
Get project merge requestGITLAB_GET_PROJECT_MERGE_REQUEST | Fetch full details for a single merge request when the MR IID is known. | All levels |
Get project merge requestsGITLAB_GET_PROJECT_MERGE_REQUESTS | Retrieve a list of merge requests for a specific project. | All levels |
Get project merge request commitsGITLAB_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 branchGITLAB_GET_REPOSITORY_BRANCH | Retrieve information about a specific branch in a project. | All levels |
Get repository branchesGITLAB_GET_REPOSITORY_BRANCHES | Retrieves a list of repository branches for a project. | All levels |
Get single commitGITLAB_GET_SINGLE_COMMIT | Get a specific commit identified by the commit hash or name of a branch or tag. | All levels |
Get single pipelineGITLAB_GET_SINGLE_PIPELINE | Retrieve details of a single pipeline by its ID within a specified project. | All levels |
Get userGITLAB_GET_USER | Retrieve information about a specific user by their ID. | All levels |
Get usersGITLAB_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 statusGITLAB_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 preferencesGITLAB_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 statusGITLAB_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 pinGITLAB_GET_USER_SUPPORT_PIN | Get details of the current user's Support PIN. | All levels |
Import project membersGITLAB_IMPORT_PROJECT_MEMBERS | Import members from one project to another. | Read + write, Full access |
List all group membersGITLAB_LIST_ALL_GROUP_MEMBERS | List all members of a group including direct, inherited, and invited members. | All levels |
List all project membersGITLAB_LIST_ALL_PROJECT_MEMBERS | List all members of a project (direct, inherited, invited). | All levels |
List billable group membersGITLAB_LIST_BILLABLE_GROUP_MEMBERS | List billable members of a top-level group (including its subgroups and projects). | All levels |
List group membersGITLAB_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 projectsGITLAB_LIST_GROUP_PROJECTS | List projects within a GitLab group by group ID or full path. | All levels |
List pending group membersGITLAB_LIST_PENDING_GROUP_MEMBERS | List pending members of a group and its subgroups and projects. | All levels |
List pipeline jobsGITLAB_LIST_PIPELINE_JOBS | Retrieve a list of jobs for a specified pipeline within a project. | All levels |
List project groupsGITLAB_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 groupsGITLAB_LIST_PROJECT_INVITED_GROUPS | List groups invited to a project. Use when auditing which groups have access to a project. | All levels |
List project issuesGITLAB_LIST_PROJECT_ISSUES | List issues for a project with filtering options (state, labels, search, assignee, author, etc.). | All levels |
List project pipelinesGITLAB_LIST_PROJECT_PIPELINES | Retrieve a list of pipelines for a specified project. | All levels |
List project shareable groupsGITLAB_LIST_PROJECT_SHAREABLE_GROUPS | List groups that can be shared with a project. | All levels |
List project tagsGITLAB_LIST_PROJECT_TAGS | Retrieve a list of repository tags for a specified project. | All levels |
List project transfer locationsGITLAB_LIST_PROJECT_TRANSFER_LOCATIONS | List namespaces available for project transfer. | All levels |
List project usersGITLAB_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 commitsGITLAB_LIST_REPOSITORY_COMMITS | Get a list of repository commits in a project. | All levels |
List user projectsGITLAB_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 pinGITLAB_POST_USER_SUPPORT_PIN | Create a support PIN for your authenticated user. | Read + write, Full access |
Put user preferencesGITLAB_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 statusGITLAB_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 groupGITLAB_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 housekeepingGITLAB_START_PROJECT_HOUSEKEEPING | Start the housekeeping task for a project. | Read + write, Full access |
Update project issueGITLAB_UPDATE_PROJECT_ISSUE | Update an existing issue in a GitLab project (title, description, labels, assignees, state, etc.). | Read + write, Full access |
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.
| Agent says | What's happening | Fix |
|---|---|---|
| "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 down | Raise the level under Manage, or adjust that agent's policy |
| It did something unexpected | The ask was ambiguous (e.g. matched an existing item) | Be explicit, "create a NEW …", and give agents a working folder where relevant |