During 2022, we are transitioning to a fully automated process for our Community Programs Application Workflow. This page is being deprecated as we migrate over.
The goals of this page are to:
People processing applications will also need to refer to the following pages:
We use several different tools to manage these programs:
You'll find more information on the specific usage of these tools on the Developer Relations Workflows tools section.
Education and Open Source Program Managers monitor the following:
File {FileExternalID2} has been signed at GitLab
notifications)#community-programs
The priorities for the daily workflow are as follows, in order of priority:
Once someone applies to a community program, there are 5 phases to the workflow:
Phase | Description |
---|---|
0. Application | Application form is filed and appears in Zendesk |
1. Qualification | Determine whether or not to grant license |
2. Booking | Gather all information needed to create a quote and collect signature |
3. Provisioning | Handled by Sales-Support and Billing Ops |
4. Compliance | Handled by Sales-Support and Billing Ops. Results in granting the license and notifying customer of how to access |
5. Renewal | Contains phases 0 - 4, just processed as a renewal |
See diagram below for how these phases all flow together.
A community member submits the application for the respective program: GitLab for Education, GitLab for Open Source, or GitLab for Startups.
Each program has a different qualification process. After reading the federal exception, proceed to the relevant program below.
Federal entities in the United States have additional rules of engagement and most do not qualify for our free licenses.
If you receive an application with the words "U.S.", "Military", "Naval", "Airforce", "National Laboratory" in the institution title, and/or the applicant email has a .mil or .gov domain, please do the following:
Note: If you are a non-US Citizen you may not be able to view existing accounts for U.S. Federal entities in Salesforce due to restrictions. If you do not see an account and you are not sure who to contact in Salesforce, inquire in the #public-sector slack channel.
EDU federal use case policy
The U.S. Federal Government has various entities that may have the words "School" or "College" in them but they are actually part of a military entity or branch of the government. Examples include: "Army Cyberschool", "National Geospatial Intelligence Agency College", or "National Laboratory". These entities are not qualified for the Education Program license under the EULA.
OSS federal use case policy Federal use cases are considered on a case-by-case basis for the OSS program. Please reach out to the OSS program manager if you come across a federal use case application for the OSS program and proceed to contact the relevant Sales representative.
After someone applies to the GitLab for Education program, here's what to expect:
Role
= Student
an automated email from Marketo is sent informing them of available options to students & how to encourage the University to apply. Zendesk ticket won't be created and no action is required.Role
, the data from the form will be forwarded to Salesforce as LEAD (if they are not in our database) or CONTACT object (if they are already in our database). The source of the lead/contact is set to Education. A Zendesk Ticket is automatically created with a link to the lead/contact object. CONTACT objects contain the same data LEAD objects do, the record is just stored differently.Use Case
and Use Case Notes
response from the form submission.
Instructional Use
or Non-Commercial Academic Research
the use case is acceptable and you can proceed to the next step.Use Case Notes
field indicating IT professional use, administrative use, or anything else questionable, you will need to follow up directly. Start by sending the EDU::EDU Collection EDU Qualification Information macro via the education@ email alias to get more information about their GitLab usage and to make sure they are aligned with our Education program terms.
IT Professional Services
the use case is not acceptable under our terms. Change the lead status to unqualified and send the EDU::EDU General Rejection macro via Zendesk. Then follow the handoff to Sales process.After someone applies to the GitLab for Open Source program, you'll need to make sure they qualify.
There are three requirements for the GitLab for Open Source program:
These requirements are published on the GitLab for Open Source application form found on our website.
How to find OSS qualification information when someone applies
When someone submits an application form, the information is captured in Salesforce. To find their responses and see if they qualify for a free OSS license, do the following:
OSS Request from [Project Name]
. Open it.Education & OSS
section of the form. This section contains the answers from the applicant that will help you qualify them.You then need to ensure that they meet all three of our qualification criteria.
Req 1: OSI-approved open source license
Open Source License
field on the Salesforce form and check the link that they send against the list of OSI approved licenses.Overview
of projects in their group.If they do not meet this requirement, use the OSS:: OSI-approved license
Zendesk macro to ask them to add an OSI-approved license to their projects.
Note: Sometimes, people will apply to the GitLab for Open Source program to see if they qualify before moving their project over. We ask them to at least create a skeleton GitLab instance following our guidelines before approving their license, and we let them know that they'll need to continue to meet our requirements at time of renewal.
Req 2: Not seeking profit
Applicants must check a box at time of application to certify that their organization does not seek to make a profit. However, sometimes, there's confusion around what it means to seek a profit. Do a quick check to see if they do qualify for this requirement.
OSS supporting evidence
field in the Salesforce form and see if they provide additional information about meeting the requirement.If you believe they may not qualify, send them the OSS:: Clarifying "not-seeking-profit" req and Qualification Examples
macro to ask if they can clarify their use case.
Further not-seeking-profit qualification guidance:
Examples of OSS projects that usually qualify:
Examples that usually do not qualify:
Req 3: Publicly visible requirement
OSS project link
field and make sure that you can see the projects in their group. Click into them to see if you can see things like the overview and activity fields.If their projects are not visible, or if you see a page asking you to login or request access, let them know that you'll need them to turn their projects' visibility to public before continuing to process their application.
If an application does NOT meet the requirements If you have worked with them to better understand their use case and have decided they do not qualify, proceed with these steps:
OSS:: OSS Rejection
macro. Edit it to make sure that they understand why their application cannot be approved and offer to do a Handoff to Sales.If an application DOES meet the requirements
Proceed to the Create an Opportunity section using OSS naming convention.
Currently, only YCombinator Startups (YC Startups) qualify for our Startups program. We get a lot of startups that do not meet our current requirements.
Here's how to qualify them:
Startups:: Qualification for program
macro to ask them to provide verification that they are a YC startup.If they do qualify, continue to create an opportunity.
If they do not qualify, send them the Startups:: Rejection macro and offer to connect them to sales via the Sales handoff process.
If an applicant does not meet the program terms, the lead or contact should be transferred over to the appropriate sales development representative (SDR) by following these steps:
For an overview of the process, watch this Create an Opportunity video.
There are two ways you may need to create a New Opportunity.
If you are processing a New Application
When you click on the Salesforce link in a new application request in Zendesk, you'll be taken to a Lead page in Salesforce. You'll need to convert this Lead to a Contact before you can proceed.
Record Owner
from your name to Alex Karsten for EDU, OSS, or Startups. Note: All records will be owned by Alex Karsten for consistency, but the Community Team will be able to perform any required actions on the records.```suggestion:-0+0Record Owner
from your name to Alex Karsten for EDU, OSS, or Startups. Note: All records will be owned by Alex Karsten for consistency, but the Community Team will be able to perform any required actions on the records.Account Name
looks correct and Edit if needed. Do a quick search and see if there are any similar Account names that may be duplicates. For OSS cases, you may need to shorten the new application Account name if it is too long (sometimes people add descriptions of their project there).Convert
button at the top.
Attach to Existing: {Account Name}
. If there is not an existing Account choose Create New Account:{Account Name}
.Name
the opportunity accordingly: OrganizationName- NumberOfSeats Product Program [w/ Support] (e.g. "ABC University- 100 Self-Managed-Ultimate EDU" or "ABC Organization- 100 SaaS-Ultimate OSS w/ Support").Initial Source
is set to to "Education" or "OSS" (Startups will be GitLab.com)Reminder
at the very bottom of the pageConvert
If you are not processing a New Application
New Opportunity
.Initial Source
is set to to "Education" or "OSS"Type
:
Close date
- TodayStage
- 0-Pending-Acceptance
Amount
to $0.00 if they didn't purchase support or the annual amount of the support price if they did.Save
and proceed to the next step.NOTE: Sometimes, a contact that is already associated with an account will apply for a new account under one of our programs. If you run into this, follow the steps to process New Opportunities for Contacts with multiple accounts.
For an overview of the process, see Create a New Quote and Send to Applicant.
Select Billing Account
page, select new billing account. Under Choose Quote Type
select new subscription for this account Then click Next
.09.20 NEW ORDER FORM EDU
/ 09.20 NEW ORDER FORM OSS
/ 09.20 NEW ORDER FORM YC
Sold to
person will sign the quote and receive the license (Self-Managed-Ultimate) or instructions for authentication (SaaS-Ultimate). This generally should be the person that will set up the license and should be the person who has an account in the Customer Portal.Bill to
person can be the same as the Sold to person, or it may be the person who applied for the license. They do not need to be the same.Signature
section:` An organization may request that someone other than the Sold to or Bill to person signs the quote. Generally, we accept any signature by someone who is authorized to bind the organization to legal terms (for EDU: an authorized institutional representative). You will not need to recreate the quote if someone other than the primary contacts signs the quote.Bill To
Sold To
or Signature
fields, see the Deal Desk Handbook page's section on creating quotesStep 1: Add base products
, and Click Select Plan
on the relevant product. Scroll to the relevant product with or without support:
[EDU Program or OSS Program, or, Startups Program] Self-Managed - Ultimate - 1 Year
or[EDU Program, OSS Program, or Startups Program] SaaS - Ultimate (formerly Gold) - 1 Year
Click Select Plan. Click Save.
Note: In order to see the license type and number of seats, view the opportunity record. The opportunity name will list the license type and the number of seats will be listed in the qualifications section.
Google Docs, Notes & Attachments
section on the opportunity. Close the tab and return to the Quote view.Please DocuSign: [filename]
.Delivery Receipt For File
email notification (sent to the individual and then forwarded with the filter to community@gitlab.com). Use the Common Requests:: License Update
macro and make sure the related ticket's status is set to Solved. The signed quote can be viewed.Ensure quote has been uploaded to Salesforce
If the quote was sent via DocuSign for signature, follow these steps:
file name
text so that you can use it to search for that quote in Salesforce. Note: This notification email will have a PDF attached of the signed quote but you do not need to do anything with that PDF.DocuSign Envelope Status
option to go directly to the signed quote.Completed
.If the quote was sent via email, follow these steps:
Google Docs, Notes & Attachments
section.Submit the Opportunity for approval: To submit the signed quote for approval, you'll need to do the following:
Close date
to today.Other Closing Info
section update the Closed Won Reason
to Other and the Closed Won Details
to indicate the respective program: EDU/OSS/Startups. Click Save
.Submit for Approval
. A separate window will open indicating the opportunity has been submitted for approval. Close the window. Note - do not change the stage, only Deal Desk and Billing have permission to do that.Email applicant with notification: Once you've submitted the quote for approval via Salesforce, you'll need to go back to Zendesk to notify the applicant.
Common Requests:: License Update
macro to the File {FileExternalID2} has been signed at GitLab
notification and close as Solved.For EDU: EDU::EDU Welcome macro or EDU::EDU Renewal Thank You macro
For OSS: OSS:: OSS Welcome (new applicants) or OSS:: OSS Welcome (Renewals)
macro
For Startups: Startups:: Startups Welcome. Note: Startups are not eligible for renewal.
What to expect next: Once approved, sales-support will handle the rest of the provisioning process and will send the applicant their license. A renewal opportunity will be created at that time.
On the backend: The way this happens is that sales-support reviews the signed quote. If it is complete, they will send the quote to Zuora. From Zuora, the license key (for Self-Managed-Ultimate) or the subscription (for SaaS-Ultimate) will be posted to the CustomersDot and instructions for authenticating a group will be emailed.
These phases are handled by the Deal Desk Team and Billing Operations Teams.
For assistance with the opportunity approval chatter #sales_support. For assistance with the license or billing account after the opportunity has been approved chatter #billing_ops.
Note: All Education and Open Source renewals are processed manually because we verify the use case before granting the renewal. Use cases may have changed in one year and it is important to verify that the program member still meets program requirements. Please ping us on the #community-programs Slack channel if you have any questions. If the Opportunity is assigned to someone other than a the Program Manager and it is time to start the renewal process, please reassign the renewal opportunity to Program Manager, but leave the related Account assigned to Sales Account Leader.
Here are the different ways that you may come across a new renewal request:
Request Type | Where to find it | What to do | Notes |
---|---|---|---|
Email to a program alias | Zendesk (in the view for Education or Open Source) | Send the appropriate requesting renewal information macro for EDU::EDU Requesting Renewal Information or OSS::OSS Renewal Reminder and Request for info to the member if they have not sent the needed renewal information and submit the Zendesk ticket as Pending . When they respond with the needed information, submit the ticket as Solved and proceed to Step 1 of the renewal process. |
Make sure there are no active sales opportunities |
Sales reassigns a renewal opportunity | Salesforce personal chatter or personal email inbox | If the date on the renewal is less than three months away, send the Requesting renewal information macro to the member and close the case. If the renewal date is more than three months away, change the ownership to Alex Karsten for EDU and OSS and close the case. | Program members will receive 3 and 6 month automatic reminder emails regarding the subscription renewal. The renewal opportunity may be assigned well ahead of the actual renewal date. |
Email to Support Team | Support Zendesk Instance | If someone contacts Support about renewals, Support sends them a macro to redirect them to us | Support Zendesk Macro: General::EDU Renewal Response General::OSS Response |
:warning: If you are renewing a product that has been deprecated: You'll need to remove the old product and add the new one! Read more about how tier-rename renewals should be processed here.
Company Name - Number of Users, Product Program [w/ Support], Renewal, Renewal Date
(Example: Company Name-100 SaaS-Ultimate EDU Renewal 01/19
). The Renewal Date
should be the month and year that the existing subscription expires or when the subscription is set to renew. If you can't find the relevant renewal opportunity, or if the renewal opportunity has expired, you'll need to create a new one (See the 'Common Tasks in SFDC' section for process details.). Chatter @sales-support if you need help.This step is for renewing subscriptions before they expire. If the subscription has already expired, please follow the steps for Expired Renewals.
New quote
Select Billing Account
page, select appropriate existing billing account. Under Choose Quote Type
select Renew existing subscription for this billing account and find the Opportunity that you want to renew under Subscription name. Then click Next
.Next
.Submit
Note: The license key will be issued to the existing primary contact's GitLab CustomersDot account. This is generally the Sold to contact. If the primary account owner has changed, the new primary account owner needs to create an account on the CustomersDot and the license needs to be associated with the new account. If the previous primary contact is no longer with the institution/entity, the subscription will need to be removed from that account in the CustomersDot as well.
A program member may out to renew a license that is already expired. In this case, the renewal needs to be processed differently than a non-expired renewal.
Renewal
in the Opportunity's Name (e.g."ABC University- 100 Self-Managed-Ultimate EDU renewal 12/20"). Set the Type
to Renewal. See Sales Ops handbook here for more detailsRenewal
in the Opportunity's Name. Set the Type
to New Business.Follow Step 3: Create a new Quote with the exception:
Note: Remember to close out expired renewals.
If this process is not followed for an expired renewal, the Program Manager processing the renewal will likely get a ping from sales support indicating that the quote cannot be processed due to the expired renewal. Please follow this process to avoid confusion with the program member and with sales support.
For an overview of the process, watch this Process Renewal Opportunity Inbound Request video.