Cross-verticalAutomate GitLab with Caddi AI Agents
Built for professional services teams.
Yes, Caddi integrates with GitLab. It runs 135 supported actions in GitLab, including create issue, comment, and update issue, and connects it to GitHub, Linear, and Datadog. You show the workflow on a screenshare or describe it in chat, and change it in plain English as the work changes; Caddi builds it as verified code and runs it every time. No code, no IT ticket.
The differenceMost GitLab integrations sync records between two apps and leave the steps in between to your team. Caddi runs the whole job across GitLab and every tool it touches, each through its API.
Supported actions135
Merge requests15
- Create merge requestOpens a merge request from a source branch to a target branch.
- Accept merge requestMerges a merge request into its target branch.
- Approve merge requestRecords the caller's approval on a merge request.
- Rebase merge requestRebases a merge request's source branch onto its target branch.
- Set merge request stateCloses or reopens a merge request.
- Unapprove merge requestRemoves the caller's approval from a merge request.
- Update merge requestEdits a merge request's title, description, target branch, labels, assignees or reviewers.
- Get merge requestFetches a single merge request by its project-scoped IID.
- Get merge request approvalsFetches a merge request's approval state.
- Get merge request changesFetches a merge request together with its per-file diffs.
- List group merge requestsLists the merge requests across a group's projects.
- List issue closed byLists the merge requests that, when merged, will close an issue.
- List issue related merge requestsLists merge requests that reference an issue.
- List merge requestsLists a project's merge requests filtered by state, labels, milestone, branches, author or free text.
- Delete merge requestPermanently deletes a merge request.
Projects12
- Create projectCreates a project owned by the caller.
- Fork projectForks a project into the caller's namespace or a chosen one.
- Archive projectArchives a project, making it read-only.
- Unarchive projectUnarchives a project, restoring write access.
- Get projectFetches a single project by numeric ID or namespaced path.
- Get project languagesFetches the language breakdown of a project.
- List group projectsLists the projects that belong to a group.
- List projectsLists the projects visible to the caller, filtered by membership, ownership, stars or search text.
- Search globallySearches across the whole instance within a scope.
- Search in groupSearches within a single group within a scope.
- Search in projectSearches within a single project within a scope.
- Delete projectPermanently deletes a project.
Issues11
- Create issueCreates an issue in a project.
- Create issue linkLinks one issue to another as relates_to, blocks or is_blocked_by.
- Move issueMoves an issue to another project.
- Set issue stateCloses or reopens an issue.
- Update issueEdits an issue's title, description, labels, assignees, milestone or due date.
- Get issueFetches a single issue by its project-scoped IID.
- List group issuesLists the issues across a group's projects.
- List issue linksLists the issues linked to an issue.
- List issuesLists a project's issues, filtered by state, labels, milestone, assignee, author or free text.
- Delete issuePermanently deletes an issue.
- Delete issue linkRemoves a link between two issues.
Comments10
- Create commit commentAdds a comment to a commit.
- Create issue noteAdds a comment to an issue.
- Create merge request noteAdds a comment to a merge request.
- Update issue noteEdits a comment on an issue.
- Update merge request noteEdits a comment on a merge request.
- List commit commentsLists the comments on a commit.
- List issue notesLists the comments on an issue.
- List merge request notesLists the comments on a merge request.
- Delete issue noteDeletes a comment on an issue.
- Delete merge request noteDeletes a comment on a merge request.
Commits8
- Cherry pick commitCherry-picks a commit onto a branch.
- Create commitCreates a commit on a branch from one or more file actions.
- Revert commitReverts a commit on a branch.
- Compare branchesCompares two refs and returns the commits and file diffs between them.
- Get commitFetches a single commit by its SHA.
- Get commit diffFetches the per-file diffs of a commit.
- List commitsLists a project's commits, filtered by ref, path, date range or author.
- List merge request commitsLists the commits that make up a merge request.
Files6
- Create fileCreates a repository file on a branch with a commit.
- Update fileUpdates a repository file's contents on a branch with a commit.
- Get fileFetches a repository file's metadata and base64 content at a ref.
- Get raw fileFetches a repository file's raw content at a ref.
- List repository treeLists the files and directories in a repository path.
- Delete fileDeletes a repository file on a branch with a commit.
Jobs6
- Cancel jobCancels a running CI job.
- Play jobRuns a manual CI job.
- Retry jobRetries a CI job.
- Get jobFetches a single CI job by ID.
- Get job logFetches a CI job's raw trace log.
- List pipeline jobsLists the jobs in a pipeline.
Pipelines6
- Create pipelineTriggers a new CI/CD pipeline on a ref.
- Cancel pipelineCancels a running pipeline.
- Retry pipelineRetries the failed and canceled jobs in a pipeline.
- Get pipelineFetches a single pipeline by ID.
- List pipelinesLists a project's CI/CD pipelines filtered by status, ref or source.
- Delete pipelinePermanently deletes a pipeline and its jobs.
Reactions6
- Create issue award emojiAdds an award emoji (reaction) to an issue.
- Create merge request award emojiAdds an award emoji (reaction) to a merge request.
- List issue award emojiLists the award emoji (reactions) on an issue.
- List merge request award emojiLists the award emoji (reactions) on a merge request.
- Delete issue award emojiRemoves an award emoji from an issue.
- Delete merge request award emojiRemoves an award emoji from a merge request.
Discussions5
- Create issue discussionOpens a discussion thread on an issue.
- Create merge request discussionOpens a discussion thread on a merge request.
- Resolve merge request discussionResolves or unresolves a merge request discussion thread.
- List issue discussionsLists the discussion threads on an issue.
- List merge request discussionsLists the discussion threads on a merge request.
Pages5
- Create wiki pageCreates a wiki page.
- Update wiki pageUpdates a wiki page's title, content or format.
- Get wiki pageFetches a single wiki page by slug, including its content.
- List wiki pagesLists a project's wiki pages.
- Delete wiki pageDeletes a wiki page.
Releases5
- Create releaseCreates a release from a tag.
- Update releaseUpdates a release's name, description, milestones or release date.
- Get releaseFetches a single release by tag name.
- List releasesLists a project's releases.
- Delete releaseDeletes a release, leaving its tag in place.
Snippets5
- Create project snippetCreates a snippet in a project.
- Update project snippetUpdates a project snippet's title, file, content, description or visibility.
- Get project snippetFetches a single project snippet by ID.
- List project snippetsLists a project's snippets.
- Delete project snippetDeletes a project snippet.
Users5
- Get current userFetches the profile of the authenticated user.
- Get userFetches a single user by numeric ID.
- List merge request participantsLists the users participating in a merge request.
- List project contributorsLists a project's contributors and their commit counts.
- List usersLists users, filtered by exact username, free-text search or active state.
Branches4
- Create branchCreates a branch from a ref.
- Get branchFetches a single branch by name.
- List branchesLists a project's branches.
- Delete branchDeletes a branch.
Deployments4
- Create deploymentRecords a deployment of a ref to an environment.
- Update deploymentUpdates a deployment's status.
- Get deploymentFetches a single deployment by ID.
- List deploymentsLists a project's deployments filtered by environment or status.
Labels4
- Create labelCreates a project label.
- Update labelUpdates a project label's name, color, description or priority.
- List labelsLists a project's labels.
- Delete labelDeletes a project label.
Milestones4
- Create milestoneCreates a project milestone.
- Update milestoneUpdates a project milestone's title, description, dates or state.
- List milestonesLists a project's milestones.
- Delete milestoneDeletes a project milestone.
Tags4
- Create tagCreates a tag from a ref.
- Get tagFetches a single tag by name.
- List tagsLists a project's tags.
- Delete tagDeletes a tag.
Environments3
- Stop environmentStops a deployment environment, running its on-stop actions.
- Get environmentFetches a single environment by ID.
- List environmentsLists a project's deployment environments.
Notifications3
- Mark all todos doneMarks every pending todo as done.
- Mark todo doneMarks a single todo as done.
- List todosLists the authenticated user's todos.
Groups2
- Get groupFetches a single group by numeric ID or namespaced path.
- List groupsLists the groups visible to the caller.
Members2
- List group membersLists a group's members and their access levels.
- List project membersLists a project's members and their access levels.
Need something that isn't listed? Teach Caddi the step the way you'd teach a new hire and it gets built.
How to automate GitLab

Connect GitLab to Caddi
Allow1Sign in to GitLab
One click with your own GitLab login. No API keys.
Automate ticket to issue in GitLab.
ScreenshareType it2Show or tell it
Screenshare the job, or type it in chat. Change it any time.
- Running


14 done1 for review
3Watch it run
Caddi does the work and flags anything unsure for review.
GitLab integrations
Connect GitLab with any of the 164 other tools Caddi works with. Pick one to see what Caddi automates between them.
164 tools
8x8
Actionstep
Acumatica
Addepar
Aderant
Adobe Acrobat
Adobe Sign
AdvicePay
AdvisorEngine CRM
Advyzon
Affinity
AgencyBloc
Airtable
Allvue
Asana
Attio
Autodesk Construction Cloud
Autotask
Basecamp
Bill.com
Bill4Time
Black Diamond
Bluebeam
BoxCalendly
CASEpeer
Chronograph
ClickUp
Clio
Conga
ConnectWise
Constant Contact
Coupa
Datadog
DealCloud
Dialpad
Docusign
Dropbox
Dropbox Sign
eBillity
eFax
Egnyte
Elite 3E
eMoney
Everlaw
Evernote
Expensify
EZLynx
Filevine
Fireflies
Five9
FreshBooks
FreshserviceGitHub
Gmail
Google Calendar
Google Docs
Google Drive
Google Meet
Google Sheets
GoTo Meeting
Gusto
HaloITSM
HawkSoft
HolistiPlan
HotDocs
HubSpot
iManageIntapp
Intermedia
Ironclad
IT Glue
Jasper AI
Jira
Jotform
Jump
Juniper Square
Klaviyo
Kofax
Laserfiche
Laurel
Lawmatics
LawPay
LeadDocket
LexisNexis InterAction
Linear
Litera
Litify
MailChimp
Microsoft 365
Microsoft Dynamics 365
Microsoft OneNote
Microsoft Outlook
Microsoft Teams
Mimecast
Monday
MoneyGuidePro
MyCase
Neos
NetDocuments
NetSuite
NinjaOne
Nitrogen
Notion
NowCerts
OneDrive
OpenText eDOCSOracle EDM
Oracle Fusion ERP
Orion
PagerDuty
PandaDoc
Pax8
PracticePanther
Practifi
PreciseFP
Procore
Quickbooks
Ramp
Redtail CRMRelativity
RingCentral
Rocket Matter
Salentica
SalesforceSentry
ServiceNow
ServiceTitan
ShareFileSharePoint
Shopify
SimpleLegal
Slack
Smartsheet
SmokeballSnowflake
Square
SRFax
Stripe
Surepoint
SurveyMonkey
Tamarac
Tenable
Timely
TimeSolv
Todoist
Toggl
Trello
Twilio
Typeform
Vonage
Wave
Wealthbox
Webex
WooCommerce
XLR8
Zendesk
Zinnia SmartOffice
Znuny
Zocks
Zoho Books
Zoho CRM
Zoho Sign
Zoom
What Caddi does with GitLab
Why teams automate GitLab
GitLab runs code, pipelines and issues in one platform. Caddi AI Agents route work into it and report results out of it.
Requests reach engineering through email, tickets and chat. Caddi files them in GitLab consistently and closes the loop when the work ships.
Loops Caddi runs against GitLab
Ticket to issue
Recommended patternCaddi opens a GitLab issue from a Freshservice ticket and links the two records.
Alert to issue
Recommended patternCaddi creates a GitLab issue for each Datadog alert that needs a code fix.
Deploy updates
Recommended patternCaddi posts GitLab pipeline results and merged changes to Microsoft Teams.
Where professional services teams use it
Inbound triage
Watch GitLab for new items, classify them, and route the right data to the right downstream system: CRM, matter system, or storage.
Cross-tool data sync
Keep GitLab in lockstep with your CRM, billing, or document system so the same record never has to be updated twice.
Document workflows
Generate, send, and archive documents end-to-end using GitLab alongside e-signature, cloud storage, and your system of record.
Notifications & approvals
Send the right person the right GitLab update by email, Slack, or Teams, and capture approvals back into the originating record.
Questions about automating GitLab
Does Caddi have a real GitLab integration?
Yes. Caddi runs verified code against GitLab's official APIs. Every automation Caddi builds for GitLab is reviewed before it runs in production.
Do I need engineering help to automate GitLab with Caddi?
No. You demonstrate the workflow, clicking through GitLab the way you normally would, and Caddi turns it into a verified, repeatable automation. No code, no IT ticket, no Zapier-style wiring.
Is my GitLab data safe?
Caddi is SOC 2 attested. Our AI watches and builds the automation; once generated, it executes as deterministic code against GitLab, the same steps on every run, and any model step inside a run is scoped, logged, and reviewable.
Can Caddi connect GitLab to the rest of my stack?
That's the point. Most Caddi automations span 3-6 tools. For example: pulling data out of an email, updating GitLab, filing a document in cloud storage, and posting a confirmation in Slack or Teams. Every tool on the integrations page is fair game.
How do I find what to automate in GitLab?
Caddi Discover reads the activity in the tools you connect, read only, and ranks the repeated work worth automating with the evidence behind each finding. Unlike process mining, it does not stop at the insight: the person who does the work builds the automation in Caddi Automate, and Govern keeps every run and decision on the record.
Ready to automate GitLab?
Drop your work email and we'll show you Caddi running end-to-end against GitLab and the rest of your stack.