Skip to main content

Limit Google Calendar Sync to Specific Mailboxes

This advanced configuration gives you the flexibility of Domain-Wide Delegated Access (DWDA), while limiting access to only the users and rooms you choose.

Liza avatar
Written by Liza
Updated yesterday

🛠️ Prerequisites

To complete this setup, you'll need:

  • Global Admin access in Kadence

  • Admin access to Google Workspace (or a Google Admin to assist)

Step

Global Admin

Google Admin

Create project, service account, and app

Set DWDA access, share calendars

Configure integration in Kadence

Add rooms to Kadence


🛠 Google Admin Setup

☁️Google Cloud Project

1. Create a Google Cloud Project

  • Click the project picker → New Project

  • Name and create the project

  • Select the new project from the picker

2. Enable Required APIs

In APIs & Services → Library, enable:

  • Google Calendar API (required)

  • Google Workspace Marketplace SDK (optional, if limiting user access)

3. Create a Service Account

  • Go to APIs & Services → Credentials

  • Click Manage service accounts → + Create Service Account

  • Name the account and click Done

  • Go to the service account → Keys → Add Key → JSON

  • Download and store the JSON key securely

4. Enable Domain-Wide Delegated Access (DWDA)

  • Navigate to Security → API Controls → Manage Domain-Wide Delegation

  • Click Add new

  • Use:

    • Client ID: your service account’s unique ID

    • OAuth scope:

      https://www.googleapis.com/auth/calendar
  • Click Authorize


📅 Share Resource Calendars

5. Get Resource Calendar Email

  • In Google Admin: Directory → Buildings and Resources → Manage Resources

  • Select the room → copy the Resource email address

6. Share Access with Service Account

  • Open Google Calendar

  • Add the room’s calendar

  • Go to Calendar settings → Share with specific people

  • Add your service account email

  • Set access to See all event details → Click Send


🌐 (Optional) Create a Marketplace App

Use this step to scope DWDA access to only specific groups or users.

7. Set Up the App

  • Go to OAuth Consent Screen → Select Internal

  • Name the app (e.g. Kadence Room Integration)

  • Navigate to Google Workspace Marketplace SDK → Manage

  • In App Configuration, set:

    • Visibility: Private

    • Install: Admin only

    • OAuth Scope:

      https://www.googleapis.com/auth/calendar.events

8. Distribute App to Selected Users

  • Go to Store Listing → View in Marketplace → Admin Install

  • Choose "Everyone" or target specific groups or OUs


⚙️ Global Admin Setup in Kadence

🔧Configure the Integration

  • Log into Kadence as a Global Admin

  • Navigate to Settings → Integrations → Add calendar integration

  • Click Connect under Google Calendar

  • In the setup form:

    • Enable Use own service account

    • Upload the JSON key

    • (Optional) Toggle Use mailbox as service account

    • Enter service account email

  • Click Finish Setup

Refer to the full Google Calendar Integration Guide if needed.


🏢 Add Rooms to Kadence

  • Go to Buildings → Select a building → Floor → Add → Room

  • Fill in room details

  • Paste the resource email under Calendar

  • Click Add

Refer to the full Resource Management Guide if needed.


❓ FAQs

Why limit calendar access?

To ensure Kadence can only view and book calendars you explicitly share, ideal for privacy/compliance.

Is the Marketplace App required?

Only if you want to limit DWDA to selected users or groups.

Why use DWDA at all?

Without DWDA, Google prevents Kadence from creating bookings with attendees.

Lost your JSON key?

Generate a new one in Google Cloud Console → Service Accounts → Keys.

Can I scope this to one team?

Yes – via Marketplace App settings.

"Use mailbox as service account" ON vs OFF?

  • ON: Books from the service account's mailbox if the user can't be booked directly

  • OFF: Fails if it can't book on the user’s behalf

How to revoke access?

  • Remove the app from Google Admin

  • Remove DWDA under Security → API Controls


💬 Need Help?

For floorplan requests or questions, contact:
📩 [email protected]

For support with anything else, reach out to:
📩 [email protected]

For more helpful articles see:
📚 Kadence Help Center

Did this answer your question?