The GitLab Support Team provides technical support to GitLab.com and Self-Managed GitLab customers. The GitLab Support Team Handbook is the central repository for why and how we work the way we do.
If you are | Your Need | Where You Should Look |
---|---|---|
A customer, or an advocate for a customer | Technical assistance | Public Support Page, which describes the best way to get the help you need and lists GitLab's paid service offerings |
GitLab team member | Technical assistance | Internal Support for GitLab Team Members page |
New Support Team member | Onboarding / Learning | Support Engineer Responsibilities page and Support Learning Pathways |
New Support Manager | Onboarding / Learning | Support Manager Responsibilities page and Support Manager Pathways |
Know someone who might be a great fit for our team? Please refer them to the job-family descriptions below.
Remember, as members of the support team we are the first to interact with someone when they have a problem or question. As such it is up to us to represent the company and make sure we present ourselves properly. Therefore we are expected to:
GitLab Support is part of the Engineering division. While most engineering departments are part of the R&D cost center, Support is part of the Cost of Sales (or sometimes Cost of Goods Sold (COGS)) cost center.
This unique arrangement is expressed in our Key Performance Indicators, which are largely focused around pursuing customer success and satisfaction while driving efficiency by increasing output while keeping costs within a predefined range.
This is also why Support Engineer responsibilities include contributing code and documentation and working alongside Product Managers on our products: By using the knowledge gained from interacting with our customers to make our products or docs better, we solve problems before they become one. This reduces support case load while increasing efficiency for the wider GitLab organization. For example, the Sales department can rely on our docs to answer customer queries instead of leaning on Support or Customer Success for help, freeing up more time to close sales.
Part of Support's role is to amplify the voice of the customer. One way of doing this is inviting other GitLab team members into experiences that will help them understand customer challenges with the product or our own obstacles in helping customers overcome those challenges.
Before you start, make sure you get light-agent access in Zendesk so that you can view Support tickets.
If you're looking to get more exposure to customers, there are a few ways to get involved with Support:
GitLab team members interested in learning about the GitLab Support team and our responsibilities are encouraged to participate in the Support Shadow Program. The Support Shadow Program is a way that team members outside of Support can spend time shadowing, learning, collaborating, and working together with the GitLab Support team.
To participate in this program, open a Support Shadow Program issue in the support-team-meta
project. This issue will be used to organize, plan, and track progress toward this program.
Support calls are published on the GitLab Support Calendar. There are:
https://gitlab.zendesk.com/agent/tickets/<id>
to view the ticket.A great way to get involved is to join a customer emergency call. You can monitor #support_self-managed
for PagerDuty alerts. Alternatively,
if you have access to PagerDuty you can be scheduled into a shadow rotation.
If you go through the responsibilties for each role in Support you can piece together how the organization works. We wanted to make a simple clear way to think about how the roles work together to solve problems:
This simple list helps to give an easy way to set expecations and align problem solving in different roles.
We use Key Performance Indicators (KPIs) to keep track of how well each Engineering Department is doing, including the Support team, as a whole.
The KPI measurements can be found under the Reporting
tab in Zendesk if you have the appropriate access, but progress on meeting these KPIs is also tracked via the aforementioned KPI link and visually through reports in the Support KPIs Dashboard.
We review these KPIs weekly in the Support Week-in-Review.
The support team has a few elements and we've divided the support handbook as such:
Below we also have some commonly referenced pages:
Gitlab Support's vision is to deliver a consistent, exceptional experience to all customers across the globe. Our regional teams will collaborate and act as one team to deliver on that vision by hiring exceptional talent, developing that talent through quality training, and refining workflows to provide a smooth experience for engineers and customers alike.
During GitLab's fiscal year 2022 (FY22), GitLab support began the task of adapting and enhancing support processes to keep pace with our customers' expectations plus addressing the additonal considerations presented by a near 140% expansion of the team over a two year period to the start of GitLab's fiscal year 2023 (FY23).
The overall direction for Support in FY23 will continue building from the foundations laid in FY22. With focus on KPI achievement via collaboration and efficiency, and continuing to evolve what and how we deliver service to GitLab customers to support the company's overall strategic objectives, with a particular emphasis on;
While our publicly visible OKR page and Key Performance Indicators reflect the focus and progress for the current quarter, the following provides more detail on the items included in the themes for the entire FY23.
The expanding customer license base in tandem with the expansion of our Global Support team presents an opportunity to revisit many aspects of our daily work and look for improvement areas of benefit to our customers. Specifically in FY23 we will:
The Support Team, Product areas and requirements of our customers have continued to grow in FY22. To support this growth and with the end goal of providing an excellent customer support experience, career growth opportunities and personal improvement, in FY23 we will:
The growth of the support team provides an opportunity to review its structure and the role each team member plays to contribute to the success of the team and achieving the Key Performance Indicators. To aid in success and achievement in FY23 we will:
The above content is distilled into action via Epics which are listed below by title:
Unlike typical companies, part of the mandates of our Security, Infrastructure, and Support Departments is to contribute to the development of the GitLab Product. This follows from these concepts, many of which are also behaviors attached to our core values:
As such, everyone in the department should be familiar with, and be acting upon, the following statements:
The GitLab Support Team is part of the wider Engineering function. Be sure to check the communications section in the Engineering handbook for tips on how to keep yourself informed about engineering announcements and initiatives.
Here are our most important modes of communication:
Where we want to ensure that important messages are passed to the global support team, we will use this messaging template. This ensures that these messages are delivered across our communications channels in a structured and documented manner.
We use the following GitLab Groups to notify or add support team members to issues and merge requests on GitLab.com.
Group | Who |
---|---|
@gitlab-com/support | All Support Team members |
@gitlab-com/support/amer | AMER Support |
@gitlab-com/support/apac | APAC Support |
@gitlab-com/support/emea | EMEA Support |
@gitlab-com/support/dotcom | Support members with primary SaaS focus and GitLab.com admin access |
@gitlab-com/support/dotcom/console | Support members with GitLab.com console access |
@gitlab-com/support/customers-console | Support members with CustomersDot console access |
@gitlab-com/support/licensing-subscription | Support members focused on License and Renewals |
@gitlab-com/support/managers | All support managers |
Our team projects and issue trackers can be found in the Support parent group. Here are some selected projects which are relevant to team communications.
Project | Purpose |
---|---|
support-team-meta | Issues to discuss and improve Support processes |
support-training | Courses and training for Support team including onboarding |
support-pairing | Record of pairing sessions where we work together on tickets |
feedback | Collects SSAT survey responses from Zendesk in the form of issues |
support-operations | Support Operations team project |
support-readiness | Support Readiness project |
We use the Support meta issue tracker for tracking issues and creating issues that may require feedback around support.
If you're interested in working on a project or task related to support feel free to create an issue and link to any external issues or projects so that we can:
Issues regarding documentation or features for GitLab, our FOSS project or any of the GitLab components should not go in this issue tracker, but in their appropriate issue tracker.
If you have a proposed solution that is actionable, it's best to start a merge request, tag the team for feedback and link in the Support Week in Review.
We follow GitLab's general guidelines for using Slack for team communications. As only 90 days of activity will be retained, make sure to move important information into the team handbook, product documentation, issue trackers or customer tickets.
When naming channels, "spt" is meant for internal channels, meaning those that will be of use to the Support Team mainly. They should be public so others may join if they choose. If a channel has a "support" prefix, it is meant as a public interface where other teams will interact with the Support Team.
The "spt_gg_" prefix is used for Support Global Groups internal channels.
Channel | Purpose |
---|---|
#support_team-chat | Support team lounge for banter, chat and status updates |
#support_gitlab-com | Discuss GitLab.com tickets and customer issues |
#support_self-managed | Discuss self-managed tickets and customer issues |
#support_escalations | Discuss escalated tickets with the Support Manager On-Call. |
#support_operations | Discuss operational items related to how Support works |
#spt_managers | Discuss support team internal matters which require support managers' attention |
#spt_hiring | Discuss support team hiring-related matters |
At GitLab we are to be public by default unless there is a valid reason for it to not be public. While Slack is not public, the spirit of opening up discussions so that everyone can contribute means that private channels should be kept to a minimum.
The following private channels are permanent fixtures in support. Usage estimates are approximate based on traffic in Feb 2022.
Channel | Who is in it | Purpose | How often is it used? |
---|---|---|---|
#spt-senior-mgmt |
Senior Managers+ | Used for Senior leadership to discuss and coordinate on sensitive topics / budget / etc. | 3-4 threads per week |
#spt_managers-internal |
Managers+ | Used for sensitive topics that are applicable to managers that aren't appropriate for public channels | 4-5 threads per week |
#spt_managers-internal-apac |
APAC Managers+ | Used for sensitive topics that are applicable to APAC managers that aren't appropriate for public channels | 3-4 threads per week |
#spt_managers-emea |
EMEA Managers+ | Used for sensitive topics that are applicable to EMEA managers that aren't appropriate for public channels | 4-5 threads per week |
#spt_hiring-mgmt |
Managers+, Recruiting, Finance | Used for coordinating offers and discussing hiring specifics that can be shared in the public channel | 1-2 threads per week |
#fy23_support_promotions |
Managers+, People Business Parter | Used for coordinating and planning promotions in FY23 | 0 threads per week, mostly informational |
#senior-support |
Senior Support Engineer+ | Discussion about topics that are appropriate for Senior+ members of Support. | 0 threads per week, very rarely used |
#support_us-federal-chat |
US Citizens involved with US Fed customers | Discussion about topics pertaining to US Fed Support | Similar to other support channels, frequently used (discussing opening it in STM-3640) |
Before starting a new private channel, ask yourself Why can't everyone contribute here? Appropriate answers might be:
Private channels are not appropriate for:
Values are only values if you do them when it is hard. See more discussion on how to scale the business while preserving GitLab Values.
Group | Who |
---|---|
@support-dotcom |
Support Team Members with GitLab.com Admin Access |
@support-selfmanaged |
Support Team focused on Self-Managed tickets |
@support-team-apac |
Support Team APAC |
@support-team-emea |
Support Team EMEA |
@support-team-americas |
Support Team AMER |
@supportmanagers |
Support Managers |
@support-managers-apac |
Support Managers APAC |
@support-managers-emea |
Support Managers EMEA |
If you need to be added to one or more of these groups, please open an issue in the access requests project.
We use the following team calendars to coordinate events and meetings:
gitlab.com_9bs159ehrc5tqglur88djbd51k@group.calendar.google.com
gitlab.com_as6a088eo3mrvbo57n5kddmgdg@group.calendar.google.com
Add these calendars to your GitLab Google calendar by clicking on the "+" sign next to "other calendars", and choose "subscribe to calendar". Enter the relevant ID mentioned above. If you need access to these calendars, ask a support team member for help.
The Support Team has several meetings each week. These allow us to coordinate and help us all grow together. Each meeting has its own agenda and is led by a different member of the team each week.
Discussions are encouraged to be kept in issues or merge requests so the entire team can collaborate, regardless of time zone.
Any demos or announcements that need to be shared with the entire team should be shared in the Support Week in Review.
All Zoom and agenda links can be found on the relevant calendar entry in the Support Calendar.
Support team members in some regions meet up regularly. Details of these calls are on the Weekly Support Team Call workflow page.
The Support management team meet regularly. Details of these calls are on the Support Managers page
Some regional Support teams have meetings oriented around company news, Support initiatives, training plans, and connectedness.
Weekday | Region | Meeting Name | Purpose |
---|---|---|---|
Wednesday | EMEA | Weekly News | For team members reporting to Rebecca S |
Senior and Staff Support Engineers are encouraged to host office hours. These office hours are intended to strengthen the team through mentoring. It is up to each Senior/Staff Support Engineer whether they schedule office hours, and how often. Please see the "GitLab Support" Team calendar to view office hours and invite yourself.
We encourage hosts to include what they will cover in the calendar event description and optionally a document to track.
Some ideas of what one can expect at a Senior/Staff Support Engineers' office hour:
Every Friday, we do a week in review, inspired by the greater Engineering organization week in review. You can add topics any time to the support week in review google document.
Any workflow changes or announcements should be shared in the SWIR and we recommend you check at least once a week to stay up to date on recent changes. Ideally, the information shared here should have a permanent location such as an issue or merge request.
We encourage anyone in the team to share. We currently have the following topics:
You can read about how we got this started in this issue.
The Support Team collaborates with many other departments throughout GitLab - Sales, Channel, Product and Legal, to name a few. And we have created two different roles to help those collaborations to be as effective and efficient as possible.
The Support Stable Counterpart role is designed to provide a strong connection between a product team and Support for the purpose of discussing product issues, sharing product knowledge and representing customer needs. If you are interested in becoming a Support Stable Counterpart, or would like to learn more about the role, read the Support Stable Counterparts page.
The Support Liaison role is designed to provide a strong relationship between a non-product team and Support for the purpose of sharing knowledge about each team's work and of developing processes and documentation to allow the two teams to work together well. If you are interested in becoming a Support Liaison, or would like to learn more about the role, read the Support Liaisons page.
The Support Team records our institutional knowledge, processes and workflows in multiple places, such as the handbook and project issues templates. When updating such documents, make sure to have visible artifacts of approval on your merge requests before merging even if you have received approval somewhere else. This avoids the impression of changes being made without any oversight or accountability.
Artifacts of approval can include:
Each Slack channel within Support has a number of Workflows attached to them that are used to provide information to users. The source files for each workflow live in the slack-workflows project.
Some workflows are meant to notify the team of new issues created in the relevant project. In these cases, a project webhook passes information to Zapier, which then sends the information to a Slack workflow.
#support_gitlab-com
#support_licensing-subscription
Providing information by reacting to a message with a specific emoji.
#support_escalations
:escalate:
- Directs the user to follow the proper procedure to escalate a support ticket or internal issue.#support_gitlab-com
:escalate:
- Directs the user to follow the proper procedure to escalate a support ticket or internal issue.:leftwards_arrow_with_hook:
- Directs the user to post their question in a more appropriate Slack channel.:slack:
- Politely asks the user to remove any unfurled link previews in their message.#support_self-managed
:escalate:
- Directs the user to follow the proper procedure to escalate a support ticket or internal issue.#support_licensing-subscription
:escalate:
- Directs the user to follow the proper procedure to escalate a support ticket or internal issue.See the Support Time Off page
See the Support Onboarding page
The Support team use 'support-team-meta' project issues to track ideas and initiatives to improve our processes. The 'Active Now' issue board shows what we're currently working on. It uses three labels:
Some principles guide how these labels are used:
Each week we look at the board and discuss the issues to keep things moving forward.
By keeping a maximum of six issues for each label, we limit work in progress and make sure things are completed before starting new tasks.
Adding and managing items on the board:
Support managers will regularly review the board to keep items moving forward.
The Support Slackbot (archived) has been retired.