Skip to content

Commit 3ee6a7e

Browse files
update delegation creential readme (#21178)
1 parent 8ad62d1 commit 3ee6a7e

1 file changed

Lines changed: 39 additions & 15 deletions

File tree

apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/delegation-credential/delegation-credential.md

Lines changed: 39 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,29 @@
22

33
## Setting up Delegation Credential for Google Calendar API
44

5-
Step 1: Create a Google Cloud Project
5+
Step 0: Create a Workspace Platform(to be done once for the Cal.com instance, by the Cal.com instance admin)
6+
7+
- Create a Workspace Platform through admin interface at <https://app.cal.com/settings/admin/workspace-platforms>
8+
- Use slug="google". Slug has to be exactly this. This is how we know we need to use Google Calendar and Google Meet.
9+
- Use "Google" as the name of the workspace platform. Change it as per your liking.
10+
- Optionally provide description for the workspace platform.
11+
12+
Step 1: Create a Google Cloud Project or use existing one(to be done once for the Cal.com instance)
613

714
Before you can create a service account, you'll need to set up a Google Cloud project.
815

916
1. Create a Google Cloud Project:
10-
- Go to the Google Cloud Console
11-
- Select Create Project
12-
- Give your project a name and select your billing account (if applicable)
13-
- Click Create
17+
1. Go to the Google Cloud Console
18+
2. Select Create Project
19+
3. Give your project a name and select your billing account (if applicable)
20+
4. Click Create
1421
2. Enable the Google Calendar API:
1522
1. Go to the Google Cloud Console
1623
2. Select API & Services → Library
1724
3. Search for "Google Calendar API"
1825
4. Click Enable
1926

20-
Step 2: Create a Service Account
27+
Step 2: Create a Service Account in Google Cloud Console(to be done for every organization)
2128

2229
A service account is needed to act on behalf of users
2330

@@ -27,21 +34,38 @@ A service account is needed to act on behalf of users
2734
- Click on Create Service Account
2835
- Give your service account a name and description
2936
- Click Create and Continue(Optional steps can be skipped)
37+
3. Download the Service Account Key JSON file
38+
39+
Step 3: Create Delegation Credential(To Be taken by Cal.com instance admin):
40+
41+
- Impersonate the organization owner and go to https://app.cal.com/settings/organizations/delegation-credential to create a Delegation Credential
3042

31-
Step 3: To Be taken by Cal.com instance admin:
43+
- Use domain as "acme.com" if @acme.com is the email address for your Google Workspace
44+
- Choose Workspace Platform as "Google"
45+
- Add Service Account Key JSON file(obtained in Step 2)
46+
- Click on "Create" button
3247

33-
- Create a Workspace Platform with slug="google". Slug has to be exactly this. This is how we know we need to use Google Calendar and Google Meet.
48+
Step 4: Copy the Client ID and OAuth Scope (To Be Taken By Cal.com organization Owner/Admin in Cal.com):
3449

35-
Last Step (To Be Taken By Cal.com organization Owner/Admin): Assign Specific API Permissions via OAuth Scopes:
36-
- Create Delegation Credential with workspace platform "google"
37-
- User must be a member of the Google Workspace to be able to enable Delegation Credential as there is a validation if the user's calendar can be accessed through the service account
38-
- Get the Client ID from there
39-
- Go to your Google Admin Console (admin-google-com)
50+
- Go to https://app.cal.com/settings/organizations/delegation-credential
51+
- Copy the Client ID for your Google Workspace domain(e.g. acme.com)
52+
- Client ID is a number like 123456789012345678901 that
53+
54+
Step 5: Add Client ID under Domain-Wide Delegation (To Be taken By Google Workspace Admin):
55+
56+
- Go to your Google Admin Console(admin.google.com)
4057
- Navigate to Security → Access and Data Controls -> API controls -> Manage Domain-Wide Delegation
41-
- Here, you'll authorize the Client ID(Unique ID) to access the Google Calendar API
42-
- Add the following API scope for Google Calendar(Full access to Google Calendar)
58+
- Here, you'll authorize the Client ID to access the Google Calendar API
59+
- Add the following API scope for Google Calendar(Full access to Google Calendar. We use it to read freebusy time and create/update events in the members' calendars)
4360
- `https://www.googleapis.com/auth/calendar`
4461

62+
Step 6: Enable Delegation Credential(To Be taken By Cal.com organization Owner/Admin in Cal.com):
63+
64+
- Prerequisite: The owner/admin must be part of the Google Workspace to enable Delegation Credential
65+
- Go to https://app.cal.com/settings/organizations/delegation-credential
66+
- Enable Delegation Credential
67+
- If you have added the Client ID for correct Google Workspace, the Delegation Credential would be enabled, otherwise you would see an error message, that should help and contact support if you still face issues.
68+
4569
## Onboarding Improvements
4670

4771
- Just adding a member to the organization would do the following:

0 commit comments

Comments
 (0)