Skip to main content

Google Workspace Directory Provider Setup

Introduction

To integrate Google Workspace with BassemLabs, create a Google Cloud Service Account, enable required APIs, and configure domain-wide delegation so BassemLabs can securely create/delete user accounts and connect with Google Classroom.

Visual guide:

Step 1: Create a Google Cloud Project

  1. Go to https://console.cloud.google.com/
  2. Sign in with your Google Workspace account
  3. Select project -> New Project
  4. Name the project (for example: Integration for BassemLabs)
  5. Click Create

Step 2: Create a Service Account

  1. Open IAM & Admin -> Service Accounts
  2. Click Create Service Account
  3. Enter a name (for example: integration-service-account)
  4. Click Create and Continue
  5. Assign Service Account User role
  6. Click Done

Step 3: Create Service Account Key (JSON)

  1. Open the created service account
  2. Open Keys tab
  3. Click Add key -> Create new key
  4. Select JSON
  5. Click Create
  6. Save downloaded JSON securely

Step 4: Enable Required APIs

Enable:

  • Admin SDK API
  • Classroom API
  • Google Calendar API (optional)

From APIs & Services -> Library, search and enable each API.

Step 5: Enable Domain-Wide Delegation

  1. Open IAM & Admin -> Service Accounts
  2. Open your service account
  3. In Details, open Advanced settings
  4. Ensure Domain-wide Delegation is enabled
  5. Copy the service account Unique ID

Step 6: Grant Access in Google Admin Console

  1. Go to https://admin.google.com
  2. Log in as Super Admin
  3. Open Security -> API Controls -> Domain-wide Delegation
  4. Click Add new
  5. Paste Client ID (Unique ID)
  6. Add scopes:
https://www.googleapis.com/auth/admin.directory.user,
https://www.googleapis.com/auth/classroom.courses,
https://www.googleapis.com/auth/classroom.rosters,
https://www.googleapis.com/auth/admin.directory.resource.calendar,
https://www.googleapis.com/auth/calendar,
https://www.googleapis.com/auth/classroom.coursework.me,
https://www.googleapis.com/auth/classroom.coursework.me.readonly,
https://www.googleapis.com/auth/classroom.courses.readonly,
https://www.googleapis.com/auth/classroom.coursework.students,
https://www.googleapis.com/auth/classroom.courseworkmaterials,
https://www.googleapis.com/auth/classroom.student-submissions.students.readonly
  1. Click Authorize

Step 7: Enter Credentials in BassemLabs

Provide in Organization Keys:

  • Google Admin Email
  • Service Account ID (for example: [email protected])
  • Service Account JSON key file

Done

Your Google Workspace domain is configured for BassemLabs integration.