Welcome to the GitLab Support Handbook

Looking for technical support? Please visit the Support Page instead.

On this page

Support Resources

Support Direction

The overall direction for Support in 2017 is set by our overall strategic objectives, with a particular emphasis on continued improvement of (Premium) Customer satisfaction with Support. As can also be inferred from our publicly visible in our Lattice goal tree, the effort focuses on the following elements.

Triaging Support Effort

By triaging support effort through internal SLAs and integration of SalesForce, Zuora, and Zendesk, the team can improve the support experience for Premium customers while still addressing the questions of all subscribers.

Increase Capacity & Develop Experts

In 2016 we expanded the support team significantly, and this trend will continue in 2017. Along the way, the Support team developed internal training tools to assist in rapid, robust, self-guided training for any team member. As GitLab – the product – continues to expand, so will the skill and knowledge of all Support Engineers to be able to continue providing an excellent customer support experience.

Know someone who might be a great fit for our team? Please refer them to the Support Engineer job description.

Actionable Analytics

Better reporting on ticket metrics (topic, response times, product it relates to, etc.) will help guide the Support Team's priorities in terms of adding to the greatest documentation needs, bug fixes, and support processes.

Service and support we provide

For an overview of the support we provide to customers and users, please see the general support page. What follows is a more detailed description of the level of service.

Service Level Agreements

The channels are sorted in order of priority, there are 4 SLA categories:

SLA Channel Response Time
1 Emergencies (Premium Customers only) 30 minutes
2 Premium Customer - Regular Tickets 4 hrs (business)
3 Regular Tickets and Security 1 business day

Response time indicates the first reply time.

Preferably we like to answer tickets sooner than the SLA requires. The higher a channel is in the list the sooner it should be answered.

The above SLAs are based on ticket priority which can be set manually by support agents. See setting ticket priority

Tiered Support

GitLab operates with three tiers of customer support. Each tier has a set of responsibilities as outlined below.

SLA Workflow

Support Engineers should work on tickets within their assigned support tier as a first priority. After these are addressed they can work on tickets in any tier. Tickets should be picked up in the following order to make sure that SLAs are not breached, and customers receive the proper level of service:

  1. Tickets that are close to breaching "first time to reply" SLA
  2. Tickets that are close to breaching "next time to reply" SLA
    • It is a courtesy to check with the assigned agent first, before "taking" one of these tickets. Ask if they can respond soon and offer to reply if they don't have the bandwidth.
  3. New tickets (not close to breaching)
  4. Other open tickets

When a ticket is breaching or has breached its first reply (or next reply) SLA this ticket must be picked up by any Support Engineer independently of who is assigned to it (although see the note re: courtesy in the list above). This also applies to tickets for Resellers (i.e. anyone picks up if close to breaching, regardless of who the Dedicated Support Engineer is).

Hot Queue: How GitLab manages ticket assignments

Support teams often use an "assignment" model, where an agent is assigned a ticket and sees the ticket through to completion. If they are stuck, they can re-assign this ticket to another agent to pick up and try and complete. At GitLab however, we're taking advantage of our global support team and using a system dubbed "Hot Queuing". This system means that we all work from one global queue and it's expected that multiple agents will be working together on most issues. This allows us to do the following:

When should tickets be assigned?

There are times in the support process that an agent will want to assign the ticket to themselves:

What if I can't answer a ticket?

If you see a ticket in the queue that you are not able to answer, you should:

With the hot queue, we all work together and no one should be scared to start a ticket.

Tier 1 Support

Examples of requests solved at Tier 1

Tier 2 Support

Tier 3 Support

Support requests escalated to tier 3:

Escalating between Tiers

We use 3 Zendesk macros to escalate between support tiers. These macros are located under the "Escalations" category in the ZD macros list.

Applying any of these macros will move the ticket to the tier group selected, create a quick internal note describing why you are escalating.

Zendesk SLA settings and Breach alerts

SLAs are set as Business Rules within Zendesk. For more information, please refer to the specific Zendesk page.

How we're doing

The Zendesk Insights dashboard lists the activity for all of our current channels and summarizes the last 30 days (Zendesk login required).

Additional resources for the support team

Breach Hawks

Breach hawks are members of the support team who help the rest of the team keep an eye out for nearly-breaching tickets, so that they can be responded to in a timely manner. Of course, any and all members of the Support Team will have a sense of how many tickets are close to breaching and how high the load is on any given day. But it can happen that you're deep into a ticket, a customer call, etc., unaware of the impending doom. That's where breach hawks come in: they tackle their tickets, but they also keep an eye out for the team at large and can call in the Support Turbos when needed.


"fix4all" is a rotation where one developer - or anyone in GitLab - spends a week of his or her time helping the support team, as described in more detail on the "fix4all" rotation page.

Support Turbo

Every now and then, it may occur that we come close to breaching our SLAs. To prevent an actual breach from occurring, the Support team can call on the help of several "Support Turbo" developers who are denoted on the Team Page. Support Turbos are separate from the "fix4all" rotation, in that Turbos are on an as-needed basis while the fix4all rotation is a week-long commitment per person. Anyone within the support team can call turbos when there is a need for it. Turbos can be called by pinging them on slack either individually or with @turbos.

The support team calls for help when necessary via Slack, but in case of doubt or conflicting priorities, the respective team lead or VP of Engineering needs to give the green light for the Support Turbo developers to momentarily switch away from their other tasks. As a general guideline for the Support Turbo, the order of priorities when called upon to join as a Turbo should be:

  1. Direction issues
  2. Turbo work
  3. P1 issues

Further guidelines when rolling up your sleeves to do Turbo work:

Calls, Trainings, Implementation Support, and Live Upgrade Assistance

As described in more detail in the support listings as well as the support onboarding page, we offer services beyond simply responding to tickets. More information on scheduling customer calls can be found in the support standard operating procedures.

Implementation Support

We offer "implementation support" for new EE customers. This is similar to live upgrade assistance, except that live upgrade assistance is a Premium Support offering, while Implementation Support is an option available for purchase by any EE customer.

Requesting Implementation Support
What Implementation Support covers
What Implementation Support does not cover

Customer Trainings

Sharing Recordings

After each training session Zoom will notifiy when the recording is available. All Zoom recordings are migrated over to Google drive and sent to trash on the account which recorded the training.

To share these videos with the customer login to Google Drive with the techsupport Google account. The credentials for this account can be found in 1Password under the Support vault.

Now search for the recordings and move them to the Customer Trainings directory. From there you can right click and choose to share by adding the customer's email to the list and adding a quick note to remind them about why they are receiving the invite.

Dedicated Support Engineers

We offer Dedicated Support Engineers (DSE) for Resellers where the relationship is deemed to be more important than the quick turnaround. This means that tickets that arrive in Zendesk from people within the reseller's organization are routed to a dedicated SE by way of a trigger in Zendesk. (Note, until February 2017 we offered this service to Premium Support Customers, but deprecated it in favor of a faster SLA).

Contacting support

Internal Support for GitLab team members

Fellow GitLab team members can reach out for help from the Support Team in various ways:

  1. For normal support questions ("Can GitLab do x?", "How do I do y with GitLab?") try:
    • pose your question on the #questions channel in Slack, so that everyone can contribute to an answer. If you're not getting an answer, try pinging the group handle for the support team, but be aware that this pings everyone in the team.
    • or, email the internal support email alias that is listed in the "GitLab Email Forwarding" Google doc. Those emails create tickets in Zendesk.
  2. For longer term or larger scope questions, such as discussing customized training requests, create a support issue
  3. If customers or users have questions, advise them to contact support directly via the support web form.
  4. As a last resort, ping the support team on the support chat channel.

Support Issue Tracker

The Support project hosts an issue tracker meant to improve our workflow by reporting any problems that may arise in our tools or processes. It's also meant to propose and discuss ideas in general.

The issue tracker is open to the community and part of the group. It should not contain any sensitive information. Links to Zendesk or other references are encouraged.

Support chat channels

We use our chat internally as a realtime communication tool. The support channels are as follows: