🛠️ 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
Visit Google Cloud Console
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?
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?
Is the Marketplace App required?
Only if you want to limit DWDA to selected users or groups.
Why use DWDA at all?
Why use DWDA at all?
Without DWDA, Google prevents Kadence from creating bookings with attendees.
Lost your JSON key?
Lost your JSON key?
Generate a new one in Google Cloud Console → Service Accounts → Keys.
Can I scope this to one team?
Can I scope this to one team?
Yes – via Marketplace App settings.
"Use mailbox as service account" ON vs OFF?
"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?
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
