Resources · Zapier integration

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

Overview

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.

Vocabulary

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.
Cost

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

Connect your GitLab account to Zapier

  1. 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.

  2. 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.

  3. 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.

First Zap

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.

  1. 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 Event as the event that starts everything.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Triggers

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.

1

New Code Snippet Comment

Instant trigger

In 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.

How it fires
the app tells Zapier the moment it happens, so the Zap starts right away, whatever your plan.
When to use it
a platform team publishes shared config snippets and wants every remark on them copied as a note on a tracking issue.
Watch out
the project list only shows projects where you are Maintainer or Owner, since GitLab needs that role to set up the hook.
2

New Commit

Polling trigger

In 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.

How it fires
Zapier goes and looks at regular intervals, and how often depends on your plan: every 15 minutes on the free one.
When to use it
a release manager wants each commit on a project logged as a note on the release issue, and a short delay is fine.
Watch out
this is one of only two polling triggers here, so it is the slow one; Zapier keeps track of what it has already seen, which means the same commit never starts the Zap twice.
3

New Commit Comment

Instant trigger

In 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.

How it fires
the app tells Zapier the moment it happens, so the Zap starts right away, whatever your plan.
When to use it
a lead reviewer leaves remarks directly on commits, and the team wants each one turned into an issue so it is not forgotten.
Watch out
projects where you are below Maintainer do not appear in the dropdown at all, so ask for the role before you start building.
4

New Group Issue Event

Instant trigger

In 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.

How it fires
the app tells Zapier the moment it happens, so the Zap starts right away, whatever your plan.
When to use it
an engineering manager wants a branch prepared automatically whenever an issue appears in any project of the team's group.
Watch out
updates count as events too, so add a filter if you only care about newly opened issues, and remember a filter needs a paid plan.
5

New Group Merge Request Event

Instant trigger

In 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.

How it fires
the app tells Zapier the moment it happens, so the Zap starts right away, whatever your plan.
When to use it
a tech lead wants every merged change in the group recorded as a note on a central changelog issue.
Watch out
one merge request can produce several events over its life, so a Zap without a filter will run, and bill, on each of them.
6

New Issue Comment

Instant trigger

In 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.

How it fires
the app tells Zapier the moment it happens, so the Zap starts right away, whatever your plan.
When to use it
support engineers comment on bug tickets, and each comment should be echoed on the related merge request so developers see it.
Watch out
if the Zap itself adds a note to an issue in the same project, it can set itself off again and burn through your tasks.
7

New Project Issue Event

Instant trigger

In 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.

How it fires
the app tells Zapier the moment it happens, so the Zap starts right away, whatever your plan.
When to use it
a product owner wants a new branch named after every fresh ticket in the main app repository, and nothing from side projects.
Watch out
the project only appears in the list if you hold the Maintainer or Owner role on it.
8

New Job Event

Instant trigger

In 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.

How it fires
the app tells Zapier the moment it happens, so the Zap starts right away, whatever your plan.
When to use it
a DevOps engineer wants a GitLab issue opened each time a deployment job does not finish as expected.
Watch out
busy pipelines produce many job events, so keep only the useful ones with a filter or your monthly task count drains fast.
9

New Merge Request Comment

Instant trigger

In 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.

How it fires
the app tells Zapier the moment it happens, so the Zap starts right away, whatever your plan.
When to use it
a QA lead wants each review remark on a merge request mirrored as a note on the issue it closes.
Watch out
never let this Zap add a note to a merge request in that same project, or each note it writes starts it again.
10

New Project Merge Request Event

Instant trigger

In 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.

How it fires
the app tells Zapier the moment it happens, so the Zap starts right away, whatever your plan.
When to use it
a team wants an issue created for documentation every time a merge request is opened on the API repository.
Watch out
the Zap fires on updates as well as openings, so a filter is often needed to avoid duplicate issues.
11

Merge Request Review Request

Polling trigger

In 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.

How it fires
Zapier goes and looks at regular intervals, and how often depends on your plan: every 15 minutes on the free one.
When to use it
a senior developer who gets many review requests wants a note posted on each merge request to acknowledge it.
Watch out
this is a polling trigger, so the request can sit for up to 15 minutes on the free plan before the Zap reacts.
Actions

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.

1

Create Branch

Action

In 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.

When to use it
every new issue in a group gets its own branch, ready when someone picks the ticket up.
Watch out
the Project field is required, and the connected account needs write rights on it.
2

Create Commit

Action

In 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.

When to use it
a changelog file gets a new line committed each time a merge request is merged.
Watch out
six fields are mandatory (project, message, branch, file action, path and contents), so map every one or the step fails.
3

Create Issue

Action

In 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.

When to use it
a failed CI job becomes an issue in the right repository, with the job details in the description.
Watch out
if the trigger watches issue events in the same project, each created issue can start the Zap again.
4

Add Note to Issue

Action

In 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.

When to use it
each new commit on a project is logged as a note on the release tracking issue.
Watch out
the issue must be identified, along with its project and the note body, all three required.
5

Create Merge Request

Action

In 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.

When to use it
a Zap that just committed a generated file proposes it for review straight away.
Watch out
project settings can override the squash option you pick here, so check them if the result surprises you.
6

Add Note to Merge Request

Action

In Zapier“Adds a new note.”

Leaves a comment on an existing merge request, so the reviewers see context that came from somewhere else.

When to use it
a remark posted on the linked issue is copied onto the merge request that fixes it.
Watch out
do not pair it with the merge request comment trigger on the same project, or it loops.
7

Update Merge Request

Action

In 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.

When to use it
a search step finds the merge request tied to an event, and this action updates it.
Watch out
the Zap must know exactly which merge request to touch, which is why a search step usually comes first.
8

API Request (Beta)

Action

In 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.

When to use it
you need a GitLab operation that has no ready-made action on Zapier.
Watch out
requests only go to domains tied to GitLab, and the Stop on error choice decides whether a GitLab error halts the Zap.
Searches

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.

1

Find Group Merge Requests

Search

In Zapier“Find Merge Requests for a Group”

Looks for merge requests inside one GitLab group, ignoring every other group your account can see.

When to use it
a group issue event comes in and the Zap needs the merge requests of that group before it adds a note.
Watch out
the Group field is required, and the search stays strictly inside it.
2

Find All Merge Requests

Search

In 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.

When to use it
you do not know in advance which project holds the merge request the Zap must update.
Watch out
a wide scope often returns several matches, so set the multiple-results option on purpose.
3

Find Project Merge Requests

Search

In 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.

When to use it
a commit comment arrives and the Zap fetches the project's merge requests to comment on the right one.
Watch out
the Project field is mandatory, and nothing outside that project is returned.

The three settings every search exposes

  1. 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.
  2. 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.
  3. 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 it breaks

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

Need help automating GitLab with Zapier?

A person reads every message.

FAQ

GitLab Zapier integration: frequent questions

01Is the GitLab Zapier integration free?
Yes, as long as one trigger and one action are enough. GitLab is not a premium app, so it runs on the free plan, which gives 100 tasks a month and unlimited Zaps. The limit is the shape of the Zap: the free plan stops at two steps. Adding a filter on job events, a search for a merge request or a second action makes the Zap multi-step, and that requires a paid plan.
02How many tasks does a GitLab Zap use?
One task per action that succeeds, and nothing else. The trigger is free, and so is Zapier checking GitLab for new commits. A Zap that opens an issue and then adds a note uses two tasks each time it runs. An action that fails is not counted. The real risk is volume: a busy pipeline can send many job events, so filter early if you watch CI. Count before you build: runs per month times actions per run gives your monthly use.
03Does the GitLab integration work in real time?
For nine triggers out of eleven, yes. They are instant: GitLab warns Zapier as soon as the event happens, and the Zap starts at once on any plan, free included. The two exceptions are New Commit and Merge Request Review Request, which Zapier checks on a timer: every 15 minutes on the free plan, every 2 minutes on Professional, every minute on Team and Enterprise. The editor shows a lightning bolt on Zaps built on instant triggers, which makes them easy to spot.
04What does it take to connect GitLab to Zapier?
A GitLab account and the right role on the projects involved. The connection itself takes three moves: add it from the Apps page, sign in to GitLab, then grant access. For most instant triggers, the project must be one where you are Maintainer or Owner, otherwise it does not appear. For actions, you need write access on any project the Zap should change. Once connected, the same account is reused by every GitLab step in every Zap.
05Why are some GitLab projects missing in Zapier?
Because your role on them is too low. Most instant triggers only list projects where you are Maintainer or Owner, since GitLab requires that level to register the hook Zapier listens on. Ask a project owner to raise your role, then reload the project list in the trigger. For the actions, write access on the target project is what counts. The two group triggers ask for a group instead of a project.
06What if a GitLab operation is not on Zapier?
Use the API Request (Beta) action. It sends a raw request to GitLab with the connection you already set up, so no extra login is needed. It only reaches domains linked to GitLab, and the Stop on error setting decides whether an error from GitLab halts the Zap or lets it continue. It is the advanced option, so test it carefully before publishing. Keep it for the rare case where no listed action fits.
07Zapier, Make or n8n for GitLab?
It depends on three criteria rather than on a winner. First, how you want to pay: Zapier counts tasks, one per successful action. Second, how fast you need events: on Zapier, nine GitLab triggers are instant on every plan. Third, how much logic sits between steps, since anything beyond two steps needs a paid Zapier plan. Our comparison pages lay out how the other two handle each criterion. Try the same small Zap on each before deciding.