Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Using Salesforce within Customer Success

Using Salesforce within Customer Success

On an account view in Salesforce, there is a Customer Success section, with the following fields:

Salesforce Objects

Salesforce operates using a series of objects. Standard objects are objects that are included with Salesforce. Common business objects like Account, Contact, Lead, and Opportunity are all standard objects.

Custom objects are objects that you create to store information that’s specific to your company or industry. For GitLab, we have created four custom objects that are specific to Customer Success. These are POV's, PS EngagementS (PSE's), EBR's, and Onboarding objects. We can link these custom objects to accounts and opportunities, and create automations such as allowing us to auto-populate specific fields and notify users when a task needs to be completed.

Onboarding objects

The Onboarding object is the way for the Customer Success team to track and manage the customer onboarding experience. If and when an Onboarding object was not automatically created (and should have been), use the instructions below to manually create one.

A key purpose is measuring the three Time to Value metrics (definitions are covered under Fields). These will be used as a primary gauge for assessing the quality of customer onboarding.

  1. Time to Engage
  2. Time to First Value
  3. Time to Onboard (Days of Onboarding)

Compulsory fields after status is set to Completed

GitLab Team Fields

These are important to fill out so we can historically track who assisted with onboarding the customer. This is not pulled from the account metadata as the account metadata may change but these people should always be historically recorded.

Creating a new Customer Onboarding object manually

  1. In Salesforce, click the Customer Onboarding tab (click the ‘+’ to view all tabs if not visible on the top-right)
  2. Click the New button to create a New Customer Onboarding record
  3. Enter in the following information and click Save once completed:
    • Customer Onboarding Name
    • Account
    • Owner (Technical Account Manager)
    • Purchase Date
    • Onboarding Start Date
    • Greenfield?

Updating Object During Onboarding

The Customer Onboarding object shouldn't be updated only at the start and completion; update it at each milestone to measure Results, Iterate for short feedback loops, and Collaborate. Small changes are easier than attempting to remember all the details at completion. It also enables reporting on early metrics without waiting for the entire Onboarding process to be finalized.

Completing the Customer Onboarding object

The TAM owner will be expected to finalize this Onboarding record through completion with the customer; this will result in a few additional values that must be populated:

Gemstone Automations

This is how the Gemstone for an account is calculated:
if >5000 users   
OR Ultimate AND >2000 users
OR >500k iACV
= diamond

else if >2500 users
OR Ultimate AND >1000 users
OR >250k iACV
= pearl

else if >1000 users
OR >100k in iACV
= sapphire

else if >500 users
OR >50k in iACV
= ruby

= quartz

Please visit this page for more information on Gemstones.

Executive Business Review (EBR) objects

EBR objects allow the Technical Account Managers to track and measure the success of Executive Business Reviews held (or not held) with customers each year.

In order to appropriately track and create Executive Business Review Objects please follow the instructions below:

Creating the first EBR for an account

Note: If the EBR Date changes, please see below for handling this situation in order relate the EBR to the appropriate account. This is done using the search functionality provided by the Account field. EBR Status should be set to either 'Not Started' or 'Scheduled' depending on the current state of the EBR. All other fields should be left alone. Please refer to the section below on if you should link the EBR to any Opportunities.

Creating successive EBR's

In order to create any successive EBR's (anything besides the first EBR), use the 'New' button. Each customer has different needs and timing, so one customer may want a quarterly cadence while another wants semi-annually.

Tracking the performance of EBR's

For example, if a customer pushes to only have two EBR's a year, then two of the EBR's each year should be labeled as Declined. If an EBR is successfully scheduled but then for whatever reason the customer or GitLab has to cancel the EBR, then this value should be chosen.

Handling EBR Date Changes:

Linking EBR's to Opportunities:

For example, If there is an upcoming opportunity in Q4 2019 then the only EBR's that should be related to this Opportunity should be the following EBR's, Q1-2019-EBR, Q2-2019-EBR, Q3-2019-EBR & Q4-2019-EBR (Assuming that the Q4 EBR took place before the opportunity close date).

Scroll down to find the "EBR-Opportunity Associations" related list on the layout and click on "New EBR-Opportunity Associations" Button. From there, search and select the appropriate Opportunity and EBR that need to be associated with one another and save the record.

Professional Services Engagements (PSE) objects

PSE objects in Salesforce are used to track the progress of our PSE's that are agreed upon with our customers. These PSE's describe the professional services that Gitlab will deliver to our client. As this is related to a billable service that we are extending to our clients all PSE's must be related to an appropriate Opportunity and an Account. For a walkthrough, see the GitLab Unfiltered PS Engagement Object video

The Opportunity that each PSE is associated with will contain information relevant to the Opportunity (Amount, IACV etc.) while the PSE itself will house notes, details and monitor the progress of the PSE (Go Live Date, Kick Off Date etc.). If a client would like to move forward with many professional services at once then all of these services would be encapsulated and related through one Opportunity and one PSE.

If an existing client, who previously purchased professional services from Gitlab, would like to purchase addition professional services, then a new Opportunity and PSE would be created in Salesforce. Review our section in the handbook about creating new opportunities if you have any questions around the Opportunity creation process.

In order to track the contacts that are associated with a PSE, we utilize the PSE-Contact Association list. This can be accessed by navigating to the PSE page layout and locating the PSE-Contact Association related list. From there you can create a new association by looking up the contact that is associated with this PSE. Multiple contacts can be associated with a single PSE.


PS Team

PS Info

Project Tracking

PSE Approval

Project Timeline

Kicking Off the PS Engagement Object

When starting the PS Engagement, the following fields must be filled out:

Approved By

When the PSE object has been approved, the following are reviewed to ensure accuracy and proper execution of the SOW:

Updating the PS Engagement Object

The PS Engagement Object should be updated on a frequent basis. When it is updated, the following fields should be updated for the benefit of various stakeholders:

Completing the PS Engagement Object

When completing the PS Engagement Object, review all fields in the PS Engagement to ensure accuracy and completeness. Salesforce validation rules are set up to ensure the fields are complete before marking Status as Complete. As a general rule, ask the following questions:

Once the above questions have been reviewed, the PS Engagement can be marked Completed which will trigger certain events in Salesforce for the various stakeholders.

Proof of Value (POV) objects

Please visit this page for POV documentation.

Salesforce - Customer Success Automations

New Zendesk Ticket Notifications

For all new Zendesk tickets that are created, the Technical Account Manager and Account Owner for the account that the ticket is associated with will receive an email notification alerting them of a new ticket. This currently is a one time notification that only occurs when the Zendesk ticket is first created in Salesforce.

Tracking Emails within Salesforce

Anyone communicating with a customer via email should ensure their emails are being tracked within Salesforce in the account's activity history. To do this:

  1. Log in to Salesforce
  2. Click your name at the top right
  3. Click "My Settings"
  4. Click "Email" on the left sidebar
  5. Click "My Email to Salesforce"
  6. Save the email address it provides next to "Your Email to Salesforce address"

Any time you email a customer, bcc your "email to Salesforce address" on the email so that it is tracked within Salesforce.

Two alternatives exist:

  1. If you have an Outreach account which is linked to your GitLab email address and your Salesforce account, your emails will automatically sync with Salesforce
  2. If you do not have outreach, then consider the Salesforce Chrome plugin to easily log customer-related emails

Logging Calls within Salesforce

There are two options:

  1. If you have Chorus and Zoom, you can use the Chorus integration to automatically log calls in Salesforce
  2. You can manually log calls

Manually Logging Calls, Emails, and Workshops in Salesforce

  1. Go to the Account, Opportunity, or Contact
    1. Choose Opportunity if your touchpoint is specific to that deal (e.g., a renewal or sale)
    2. Choose Account if it's a general outreach or ongoing customer
  2. Click Log a call
  3. Record type: Task and then hit Continue
  4. Update fields:
  5. Subject (what was the call about?)
    1. Type should be Call*
    2. Activity Disposition: did you leave a message? Did you get the correct contact?
    3. Activity Source: Call
    4. Contact: if not already added, add the Contact.
    5. Account: if not already added, add the Account.
Best Practices on Logging Calls
  1. You can change the Type to be Email or Workshop if you want to manually log an email, or to record a workshop event
  2. When you Log a Call, you can attach it to the Account, Contact, and Opportunity if you want — you'll do that on the data input page
  3. You can create a follow-up task if you want, but aren't required to when logging a call.

Building Reports in Salesforce

It's best practice to use an existing report rather than to create a new one, keeping it clean. If you're unsure, ask your Operations team. Building Salesforce reports can feel daunting, but here are a few tips. If you'd rather, you can watch a video on Report Builder.

  1. Go to Reports in Salesforce
  2. Click "New Report"
  3. Choose a "Report Type"
    1. Tip: Typically, you'll want to choose Account (if you want to examine Salesforce Accounts) or Opportunity (if you want to report on open/closed Opportunities)
    2. Tip: "Report Type" is selecting the group of fields you want to use (e.g., Opportunity: all data related to the Opportunity)
  4. Report structure:
    1. Show: choose which Accounts/Opportunities to show (typically you want to select "all")
    2. Date field: choose a date to filter results. You can always choose "All Time"
    3. Add filters (white box): you can filter using any fields on the left side
    4. Preview: You can drag any fields as a new column. For instance, you can add Account Name, Account Owner, and Technical Account Manager/Solutions Architect
  5. Once complete, either hit "Save" or "Run Report" to preview your report. If you run it, you can hit Save on the next page.
  6. No matter what, make sure you save it in a folder that others can also access for transparency
  7. Congrats! You're done.