GitLab Zapier integrationAutomate GitLab with Zapier.
The GitLab Zapier integration gives you 11 triggers, 8 actions and 3 searches. Nine of those triggers are instant, so a job event or a new comment reaches your Zap right away, even on the free plan. Here is what each one does and where it trips people up.
Verified Trustpilot reviews · AI, automation & growth agency
What the GitLab Zapier integration actually does
The GitLab Zapier integration links your GitLab projects to Zapier, so that something happening in a repository (a job event, a merge request, a comment) can start a chain of steps without anyone clicking. Zapier calls that chain a Zap: one event that starts it, then one or more steps that run every time the event happens.
Three things teams usually get out of it. A ticket for the CI jobs that matter: New Job Event starts the Zap and Create Issue files the problem in the right project, so nobody has to remember to log it. A branch ready before the developer is: New Group Issue Event listens to every project of a group, and Create Branch prepares the working branch the moment an issue shows up. Merge requests that keep their own paper trail: New Project Merge Request Event or Merge Request Review Request start the Zap, and Add Note to Merge Request leaves a comment that explains what just happened.
Now what Zapier does not do for GitLab. There is no delete operation of any kind: no branch, issue or merge request can be removed from a Zap. The three searches only look up merge requests, never issues, commits or users. And two triggers out of eleven are not instant: New Commit and Merge Request Review Request wait for Zapier to come and check, so on the free plan they can lag by up to 15 minutes. If speed matters, build on one of the nine instant triggers instead.
The same app also exists on the other two big platforms. Our GitLab n8n integration and GitLab Make integration pages cover them with the same method, which helps when you are still choosing a tool.
Zapier vocabulary in one minute
Seven words come back on every line of this page. Here they are in plain English, once, so the rest reads easily.
- Zap
- The automation you build on Zapier. One event starts it, then one or more steps run, every single time that event happens again.
- Trigger
- The event in an app that kicks the Zap off, for example a new comment on a GitLab issue. Once the Zap is on, Zapier waits for it.
- Action
- What the Zap does after it starts: the step that creates, writes or posts something for you, such as a new GitLab branch or issue.
- Task
- The unit Zapier bills. One task is one action your Zap carried out successfully, and your plan is a monthly count of them.
- Polling vs instant
- A polling trigger is checked on a timer by Zapier. An instant trigger is reported by the app itself, the moment the event happens.
- Filter
- A step that lets the Zap carry on only when what arrived meets the condition you set, and quietly stops it the rest of the time.
- Search step
- A step that looks up something that already exists, here a GitLab merge request, so the following steps can reuse what it found.
What a GitLab Zap really costs
GitLab is not a premium app on Zapier, so it works from the free plan. The bill is counted in tasks, and the rules are less obvious than they look.
- Free plan100 tasks a month, unlimited Zaps
- Steps on the free plan2: one trigger, one action
- Premium appNo, GitLab works on every plan
- Instant triggers9 of 11, no waiting on any plan
The trigger never costs anything, and neither does Zapier checking GitLab for new commits, however often it looks. Only an action that goes through counts. In a Zap with several actions, each successful one is counted separately, so a three-action Zap uses three times the tasks of a one-action Zap. An action that fails is not billed. The catch for GitLab users: the free plan only builds two-step Zaps, one trigger plus one action. The moment you add a filter to keep only some job events, or a search to find a merge request, the Zap becomes multi-step and needs a paid plan.
Connect your GitLab account to Zapier
- 01
Open the Apps page and add a connection
In Zapier, open the Apps page, then click + Add connection. A connection is your GitLab account linked once, then reused by every Zap that touches GitLab.
- 02
Find GitLab and confirm
Type GitLab in the search box of the dialog, pick it from the list, then click Add connection. A new browser tab opens on GitLab's own sign-in page, ready for the next move.
- 03
Sign in and grant access
Log into the GitLab account the Zaps should act as, then allow Zapier to use it. You need an account on GitLab, plus read or write rights on any project you do not own and want a Zap to touch.
Your first GitLab Zap: failed jobs become issues
GoalEach time a CI job event matches what you care about, open an issue in GitLab so the problem is tracked.
- 01
Create the Zap
Start a new Zap from your Zapier dashboard. The editor opens on an empty trigger step: pick GitLab as the app, then
New Job Eventas the event that starts everything. - 02
Set the trigger
Choose your GitLab connection, then the project to watch. Only projects where you are Maintainer or Owner show up. Run the test: Zapier brings back the three most recent job events so you map on a real one.
- 03
Add a filter
Click the plus icon, choose Filter, then set the field to look at, the rule and the value. Keep only the job events worth a ticket. This step makes the Zap multi-step, so it needs a paid plan.
- 04
Add the action
Add a step, pick GitLab and
Create Issue. Choose the project that should receive the ticket, then map the job details from the trigger into the issue title and description. - 05
Test, then publish
Run the action test once and check the new issue in GitLab. If it looks right, click Publish. From then on, every matching job event opens a ticket without anyone lifting a finger.
GitLab triggers on Zapier
11 events start a Zap when something happens in GitLab, and 9 of them are instant: the app calls Zapier straight away, whatever your plan.
New Code Snippet Comment
Instant triggerIn Zapier“Triggers when a new comment is made on a code snippet in the selected project”
Starts the Zap whenever someone leaves a comment on a code snippet inside the project you picked. Handy for teams that share reusable snippets and want feedback on them to land somewhere visible instead of staying buried in GitLab.
New Commit
Polling triggerIn Zapier“Trigger when a commit is made on the specified project.”
Fires when a new commit lands on the project you chose. It is the trigger for anyone who wants a record of code changes outside the repository, or who wants to react to every push with a follow-up step in GitLab itself.
New Commit Comment
Instant triggerIn Zapier“Triggers when a new comment is made on a commit in the selected project”
Reacts the instant a comment is posted on a commit in the selected project. The remark can then feed a ticket or a note instead of staying on the commit page.
New Group Issue Event
Instant triggerIn Zapier“Triggers on group issue events, e.g. when an issue is opened, updated, or closed.”
Covers issue activity across a whole GitLab group rather than one project: an issue opened, updated or closed anywhere in the group starts the Zap. One Zap can then watch every repository of the group at once.
New Group Merge Request Event
Instant triggerIn Zapier“Triggers on an open, merge, close, or update merge request event.”
Listens to merge requests across an entire group. Opening, merging, closing or updating a merge request in any of its projects sets the Zap off, which suits teams running many small repositories.
New Issue Comment
Instant triggerIn Zapier“Triggers when a new comment is made on an issue in the selected project”
Starts as soon as a comment is added to an issue in the chosen project. It lets the discussion on a ticket drive other steps, without anyone copying text around by hand.
New Project Issue Event
Instant triggerIn Zapier“Triggers on project issue events, e.g. when an issue is opened, updated, or closed.”
The single-project version of the group issue trigger: any issue opened, updated or closed in one specific project starts the Zap. Use it when only one repository matters and the rest of the group is noise.
New Job Event
Instant triggerIn Zapier“Triggers for a specified job event in a project.”
Watches the CI side of a project: a job event you specify in that project starts the Zap. This is the bridge between your pipelines and everything that should happen after them, from tickets to comments.
New Merge Request Comment
Instant triggerIn Zapier“Triggers when a new comment is made on a merge request in the selected project”
Picks up every new comment on a merge request in the chosen project. Review discussions become something a Zap can act on, instead of a thread people have to keep refreshing.
New Project Merge Request Event
Instant triggerIn Zapier“Triggers on an open, merge, close, or update merge request event.”
Follows merge requests in one project: an open, a merge, a close or an update starts the Zap. Pick it when only one repository should feed the Zap.
Merge Request Review Request
Polling triggerIn Zapier“Triggers when you are requested to review a merge request.”
Fires when you are asked to review a merge request. It is personal: it follows the connected account, not a project, so each reviewer builds it on their own connection.
GitLab actions on Zapier
GitLab gives you 8 actions. For each one: what it does for you, when to reach for it, and what to watch out for.
Operations index
Create Branch
ActionIn Zapier“Creates a new branch.”
Opens a new branch in the project you choose, so work can start on a clean line without a developer typing a single git command.
Create Commit
ActionIn Zapier“Creates a new commit. Supports creating or updating a file.”
Writes a commit directly into a branch, creating or updating one file along the way. It is the only action here that changes code in the repository itself.
Create Issue
ActionIn Zapier“Creates a new issue.”
Files a new issue in a project, which turns any event from a trigger into a ticket someone is responsible for.
Add Note to Issue
ActionIn Zapier“Adds a new note.”
Posts a comment, which GitLab calls a note, on an existing issue. Useful to keep a ticket's history complete without anyone writing status updates.
Create Merge Request
ActionIn Zapier“Creates a new merge request.”
Opens a merge request from a source branch, with options to squash its commits or delete the branch once merged.
Add Note to Merge Request
ActionIn Zapier“Adds a new note.”
Leaves a comment on an existing merge request, so the reviewers see context that came from somewhere else.
Update Merge Request
ActionIn Zapier“Updates an existing merge request.”
Changes a merge request that already exists. You pick the project, then the merge request, then whatever needs to change on it.
API Request (Beta)
ActionIn Zapier“This is an advanced action which makes a raw HTTP request that includes this integration's authentication.”
The advanced way out: it sends a raw request to GitLab with your existing connection already attached, for anything the other actions do not cover.
GitLab searches on Zapier
3 search steps look for data that already exists in GitLab, so a later step can use it.
All three searches look up merge requests, at three different scopes. They sit at the bottom of the event list, under SEARCH. A search adds a step, so the Zap becomes multi-step and needs a paid plan. Three settings decide what happens when the result is not the one expected.
Find Group Merge Requests
SearchIn Zapier“Find Merge Requests for a Group”
Looks for merge requests inside one GitLab group, ignoring every other group your account can see.
Find All Merge Requests
SearchIn Zapier“Finds all Merge Requests that the authenticated user has access to.”
Searches every merge request the connected account has access to, across all groups and projects at once.
Find Project Merge Requests
SearchIn Zapier“Finds Merge Requests for a Project”
Narrows the search to one project, which is usually what you want before an update or a note.
The three settings every search exposes
- Successful if no search results are found?Left on its default, an empty search stops the Zap there and the steps that relied on it are skipped. Switch it on and the Zap carries on with nothing found.
- Create X if it doesn't exist yet?This box turns a search into find-or-create. GitLab offers no such variant on Zapier, so its searches only ever find, they never create a missing merge request.
- If multiple search results are found?Three ways out when several merge requests match: keep the first one, which is the default, stop the Zap, or pass all of them to the next steps.
When a GitLab Zap breaks
Zapier attaches no help article about GitLab errors, so the traps below are the general ones that hit GitLab Zaps hardest.
The cases below come down to a handful of causes: a missing role, a loop between a trigger and an action on the same project, or a pipeline that suddenly fires far more events than usual. For a broader checklist, our Zapier troubleshooting guide goes step by step.
The project is missing from the list
Most instant triggers only list projects where you are Maintainer or Owner. Below that role, GitLab refuses the hook and Zapier simply does not show the project.The Zap keeps restarting itself
A Zap that adds a note or an issue where its own trigger watches sets itself off again and again, and drains the monthly task count quickly.Old events are never picked up
A Zap only reacts to what happens after you publish it. Issues, commits and merge requests that already existed are ignored; moving them is a separate job.A big batch gets held back
After a bulk import of issues or a migration of projects, a sudden wave of events can be held back by Zapier's flood protection.
Need help automating GitLab with Zapier?
A person reads every message.



