Note: Always use single-use Calendly links when offering a call with customers.
You will have set up Calendly as part of your GitLab onboarding, following the instructions in tools and tips.
Modify your setup as follows
Setting up your availability schedules is very important. This ensures you get scheduled calls during your intended hours as well as ensures you can be added to the various events we use.
The above video shows how to set this up, but the general gist is:
In order to participate in the round-robin support call for customers, you'll need to be added to the GitLab Support group account. In addition to allowing you to participate in the Support call group event, being part of the group account also enables the Calendly Pro account features, including the ability to add multiple "event types" for scheduling calls with customers and colleagues as recommended in the suggestions below.
To get added to the group account:
This access is also included as part of support onboarding for GitLab Solutions Focus Support Engineers that will be handling tickets for self-managed customers.
Calendly 60 minute meetings default to an 'availability Increment' of 60 minutes.
Only slots starting at the top of the hour are offered. If you’ve got 90 minutes available, or a (say) a 14:30-15:30 window available, then reducing the increment to 30 minutes increases your availability.
If you have any other meeting lengths available, consider whether it makes sense to offer different start times. You can view your calendly availability using a private/incognito browser session.
The support team has a Team Support Call event.
We use this to offer customers the choice between meeting with one engineer, or scheduling a meeting with anyone in the team.
You'll then also be able to generate a single-use link for this event from your browser plugin.
We copy customer calls to the GitLab Support Google calendar using a Zapier zap. For this to work
If the Zap is working, you should see the calendar event copied within a minute or two. If the customer cancels, similarly, it'll be removed from the Support calendar.
Calendly has a Chrome plug-in and a Firefox extension that makes it easy to generate a single-use link to send to the customer. After adding it to your browser, look for the Calendly icon at the top right in your browser. Sign in to Calendly, then you will see a list of events. You probably want to "star" the Team event and perhaps your personal Support Call event to simplify the pop-up window. Then simply click on the one-time link icon next to the event of your choice to generate a link you can paste into your message to the customer.
If you do not want to use a supported browser, you can generate a link from your Calendly home page according to the Calendly documentation.
Alternatively, you can generate a link to the Team Event using these curl or httpie commands. Replace the
<your Calendly API token> placeholder with an API v2 token you can get
from here: https://calendly.com/integrations/api_webhooks.
Set your Calendly API token:
t=<your Calendly API token>
Get your personal URI:
uri=$(curl -s -H "Authorization: Bearer $t" \ https://api.calendly.com/users/me | jq -r '.resource.uri')
List your available events:
curl -sG -H "Authorization: Bearer $t" \ -d user=$uri \ "https://api.calendly.com/event_types" \ | jq -r '.collection|select(.active == true)|([.name,.uri] | join(","))' \ | column -s',' -t -d
This will generate a table such as this:
15 Minute Meeting https://api.calendly.com/event_types/DGFGYBLAHK4CNXJF 30 Minute Coffee Call https://api.calendly.com/event_types/DEBLAHWQSO3GGUES GitLab Federal Customer Call https://api.calendly.com/event_types/DADPABBLAHWZY57A GitLab Support Call https://api.calendly.com/event_types/CEGFRWO2BLAHSAQE Live Upgrade Assistance https://api.calendly.com/event_types/AHBRCBLAH6ECV5E6 Pairing Session https://api.calendly.com/event_types/EBLAHIHDJDJRSS42 Support call with me https://api.calendly.com/event_types/DBLAH4WXTM7ADUB2 US Federal Live Upgrade Assistance https://api.calendly.com/event_types/BLAHTQKLLSHV3GL3
To generate a single-use link for the "Support call with me" event:
curl -s -H "Authorization: Bearer <your Calendly API token>" \ -F max_event_count=1 \ -F owner_type=EventType \ -F owner=https://api.calendly.com/event_types/DBLAH4WXTM7ADUB2 \ https://api.calendly.com/scheduling_links \ | jq -r '.resource.booking_url'
This will output something like the following:
The following uses the same setup, patterns, and output as above.
Get your personal URI:
uri=$(https https://api.calendly.com/users/me \ Authorization:"Bearer $t" \ | jq -r '.resource.uri')
List your available events:
https -b api.calendly.com/event_types \ user==$uri \ Authorization:"Bearer $t" \ | jq -r '.collection|select(.active == true)|([.name,.uri] | join(","))' \ | column -s',' -t -d
Generate a single-use link:
https -b api.calendly.com/scheduling_links \ Authorization:"Bearer $t" \ max_event_count=1 \ owner_type=EventType \ owner=https://api.calendly.com/event_types/DBLAH4WXTM7ADUB2 \ | jq -r '.resource.booking_url'
It is possible to automate the blocking of your Pagerduty shifts in Calendly, so you are not booked for a customer call while you are on duty. This works by subscribing to your Pagerduty on-call schedule in Google Calendar, and then having Calendly use this when checking for conflicts. To set this up:
This will be a Zoom Meeting.
Let me know via the ticket if you have any questions, will need to use a different conference platform, or if you want a link to schedule a 30 minute call instead (which may be available sooner.)
Check that your time zone and current time are displayed correctly on this page (below the calendar.)