Skip to content

Google Workspace and Calendar Integration

Stanislav Radchenko edited this page Sep 26, 2025 · 1 revision

Google Workspace & Google Calendar Integration Guide

This guide provides comprehensive instructions for external companies that wish to adapt the Meeting Room Booking System to their own organization using Google Workspace and Google Calendar.

Table of Contents

  1. What is Google Workspace?
  2. Creating Meeting Rooms (Resources)
  3. Managing Users and Email Addresses
  4. Setting Up the Service Account
  5. Domain-Wide Delegation
  6. Sharing Resource Calendars
  7. Final Checklist
  8. Appendix: Useful Links

1. What is Google Workspace?

Google Workspace (formerly G Suite) is a cloud-based productivity platform from Google that includes:

  • Gmail
  • Google Calendar
  • Google Drive
  • Google Docs
  • Admin Console (for managing users and resources)

To manage calendar resources and use the Calendar API, your organization must have an active Google Workspace subscription (Business Standard or higher recommended).

2. Creating Meeting Rooms (Resources)

Meeting rooms should be registered as calendar resources in Google Workspace. This allows them to be managed as separate calendars and used in scheduling logic.

2.1 Steps to Create Room Resources

  1. Log in to Google Admin Console as a Super Administrator.

  2. Go to:
    Directory > Buildings and Resources

  3. (Optional) Create a Building:

    • Click Manage buildings
    • Click Add building
    • Fill out name, address, and floor details
  4. Create a Room Resource:

    • Go to Resources
    • Click Add Resource
    • Fill in:
      • Name (e.g. "Conference Room A")
      • Type: Room
      • Capacity: number of attendees
      • Features (optional)
      • Assign to building/floor
    • Click Add Resource

Each room will now have its own email address (e.g., [email protected]).

3. Managing Users and Email Addresses

Users who access the booking system must be Google Workspace users.

3.1 Adding Users

  1. Go to:
    Admin Console > Directory > Users

  2. Click Add new user

  3. Fill out:

All users must exist in the directory to receive calendar events and booking invitations.

4. Setting Up the Service Account

To interact with Google Calendar via API, a service account is required.

4.1 Create a Google Cloud Project

  1. Go to Google Cloud Console
  2. Click project selector > New Project
  3. Name the project and create it

4.2 Enable Google Calendar API

  1. Go to APIs & Services > Library
  2. Search "Google Calendar API"
  3. Click Enable

4.3 Create a Service Account

  1. Navigate to:
    IAM & Admin > Service Accounts
  2. Click Create Service Account
  3. Name it (e.g., calendar-access)
  4. Click Done

4.4 Generate JSON Key

  1. Open the created service account
  2. Go to Keys > Add Key > Create New Key
  3. Select JSON and download it
  4. Store it securely — this is your credential file

4.5 Assign Roles (Cloud Permissions)

Go to: IAM & Admin > IAM

Grant the following roles to your service account:

  • Service Account Token Creator
  • Editor (or more restrictive roles if applicable)

5. Domain-Wide Delegation

This enables the service account to impersonate users or resource calendars.

5.1 Enable Delegation on Service Account

  1. Open the service account
  2. Click Edit
  3. Enable: Enable Google Workspace Domain-wide Delegation
  4. Note down the Client ID

5.2 Authorize in Admin Console

  1. Go to:
    Security > Access and Data Control > API Controls

  2. Click Manage Domain-Wide Delegation

  3. Add a new client:

    • Client ID: (from step above)
    • OAuth Scopes:
      https://www.googleapis.com/auth/calendar,
      https://www.googleapis.com/auth/calendar.readonly
      

6. Sharing Resource Calendars

Each room calendar must grant the service account permission.

6.1 Manual Sharing

  1. Log in to Google Calendar as an admin
  2. Open the resource calendar (e.g., [email protected])
  3. Go to Settings and Sharing
  4. Under Share with specific people, add:
    • Service account email (e.g., [email protected])
    • Permission: Make changes and manage sharing

6.2 Programmatic Access

Optionally, use the Admin SDK Directory API to automate sharing and calendar setup.

7. Final Checklist

Task Complete?
Google Workspace active
Admin account created
Meeting rooms created as resources
Users added in directory
Google Cloud project created
Calendar API enabled
Service account created and JSON key downloaded
Domain-wide delegation enabled
OAuth scopes configured
Resource calendars shared with service account

8. Appendix: Useful Links

Contact your IT administrator if you encounter issues during this process.

Related Documentation

For information about calendar integration configuration in the application, see Configuration Management.

For details about calendar subscription management and webhook setup, see Deployment & Operations.

Clone this wiki locally