Cisco Spaces Calendar Integrations (Webex Hybrid Calendar/O365/Gcal)
Calendar Integration Uses Cases
Regardless of the chosen architecture (below), a calendar integration with Cisco Spaces can be leveraged for showing booking status and upcoming meetings on Space Explorer Kiosk app.
Note: in the EFT stage, this serves as an override of the calendar on collaboration device occupancy enabled rooms and as a calendar for 3rd Party IoT occupancy sensor rooms (a separate EFT)
It can also be used to compare against people count occupancy data for reporting on ghost bookings and booking trends. These important metrics can help inform real estate and workplace experience teams of any booking culture issues that might be arising in the workplace. End users (employees) can find meeting rooms more efficiently by avoiding rooms that have an upcoming booking that might overlap with the duration of the meeting they need to schedule at that moment (from Space Explorer Kiosk app). In the future, Cisco Spaces will offer more interfaces and new options to interact with the calendar. For example, booking anonymously from the Space Explorer Kiosk app and creating meeting invites from the mobile/desktop web app tied to the logged in user’s calendar.
Known Gaps - Roadmap
Calendar-only rooms (no occupancy sensors) on Kiosk app
Calendar-only rooms (no occupancy sensors) in Space Manager > Overview
Booking (anonymously - “as the resource”) from Kiosk app
Booking (on user calendar) from Space Explorer Web App
Basic Architecture
Webex Hybrid Calendar
O365/Gcal ↔ Webex Control Hub ↔ Cisco Spaces
O365 / Gcal Direct Integration
O365/Gcal ↔ Cisco Spaces
Note: if a room is connected to both a Webex Control Hub Workspace and linked to an O365/Gcal calendar resource, the O365/Gcal events take precedence over Webex Hybrid Calendar.
Pros & Cons
| Pros | Cons |
Webex Hybrid Calendar |
|
|
O365 / Gcal Direct Integration |
|
|
Webex Hybrid Calendar – Webhooks
Webex On-Device Calendar & Hybrid Calendar Caveats
On-Device Calendar
Device calendars do not have Meeting IDs and only use Booking IDs. It is recommended to use Webex Hybrid Calendar.
Webex Hybrid Calendar Timing
When a booking is initiated, it can take up to 60 seconds for the cloud to generate a Meeting ID, if a booking is accepted by the source calendar. During this time, a device only provides a Booking ID (i.e. “id”), which is generated as part of a booking request. This is reflected in a BookingRequest xEvent. However, if a booking is not confirmed by the source calendar within 60 seconds, it will timeout and remove the booking.
Cisco Spaces Integration Update Available – Review & Approve

Control Hub > Workspaces > Integrations > Cisco Spaces > Review Update

Control Hub > Workspaces > Integrations > Cisco Spaces > Review and Approve
Microsoft O365
Technical Background
Summary
Calendar Service with Microsoft Azure multi-tenant support enables Cisco Spaces customers to seamlessly integrate their workspace's calendar with Cisco Spaces. This integration will be achieved by utilizing Microsoft Graph APIs to receive calendar data, which will be utilized in Cisco Spaces applications (e.g. Space Explorer Kiosk & Web App, Space Manager, Space Utilization). This will help the customer to better manage and utilize their workspaces using Cisco Spaces.
Hidden from Global Address List (GAL)
Note: Rooms that are marked "Hidden from GAL" can't be retrieved through this endpoint.
Source: https://learn.microsoft.com/en-us/graph/api/place-list
Workflow
Cisco Spaces Calendar Service is registered as a Multi-tenant application in Cisco Azure AD.
User will be asked to sign-in as a Cisco Spaces Tenant admin and must accept the permissions, requested in the OAuth flow to successfully provision the application in their Tenant (Application Permissions):
Place.Read.All
Calendars. Read
Cisco Spaces Calendar Service will acquire Tenant token for Graph API to read places and calendar events for those places periodically (every 24 hours, list of events for the upcoming day) and receive via webhooks (real-time new, rescheduled, and canceled meetings).
Data Flow

Cisco Spaces O365 Calendar Integration Data Flow
Application Permissions
Calendar Service will require the permissions below from the customer's MS Azure tenant account to read calendar resources using MS Graph APIs.
Place.Read.All
This will help Calendar Service to read meeting room resources from the customer's MS Azure tenant account.
Calendars.Read
This will help Calendar Service to read meetings/events for the meeting room resources.
User: Authorized User
A user with admin access to the MS Azure tenant can grant the permissions above for the Cisco Spaces Calendar Service integration request. If the customer revokes the consent for the permissions at any time, Calendar Service will remove the stored graph token to read resources using MS Graph APIs and disable the functionality until the next successful integration.
https://login.microsoftonline.com/common/adminconsent?client_id=92a88413-3496-4587-a83a-fde51780ee68&redirect_uri=https://calendar.dnaspaces.io/calendar-service/v1/multitenant/ms365/user/onBoarding&state={{state}}
{{state}} is populated at the time of the admin initiating the admin consent flow in Cisco Spaces > Integrations page.

Microsoft Entra - Cisco Spaces O365 Calendar Integration - Properties
Google Calendar
Technical Background
Summary
Calendar Service with Google Workspace multi-tenant support enables Cisco Spaces customers to seamlessly integrate their workspace's calendar with Cisco Spaces. This integration will be achieved by utilizing Google Workspace APIs to receive calendar data, which will be utilized in Cisco Spaces applications (e.g. Space Explorer Kiosk & Web App, Space Manager, Space Utilization). This will help the customer to better manage and utilize their workspaces using Cisco Spaces.
Workflow
Cisco Spaces Calendar Service is registered as a Multi-tenant application in Google Workspace marketplace.
User will be asked to sign-in as a Cisco Spaces Tenant admin and must accept the permissions, requested in the OAuth flow to successfully provision the application in their Account (Application Permissions)
Cisco Spaces Calendar Service will acquire Google Calendar API token to read calendar resources periodically (every 24 hours, list of events for the upcoming day) and receive via webhooks (real-time new, rescheduled, and canceled meetings).
Data Flow

Cisco Spaces Google Calendar Integration Data Flow
Application Permissions
Calendar Service will require the permissions below from the customer's Google Workspace account to read calendar resources using Google Calendar APIs.
See and download any calendar you can access using your Google Calendar
This app wants permission to
See your personal calendar and any other calendars you can access
See events on your personal calendar and on other calendars you can access
Download a copy of your personal calendar and any other calendars you can access
See the email addresses of the contacts or groups you share calendars with
Your calendar and other calendars you can access may contain info, like daily schedules, personal contacts, and private appointments.
View calendar resources on your domain
View details (e.g., name, type, etc.) of calendar resources on your domain
View customer related information
View details (e.g., contact email, organization title etc) of customer
Review Permissions: https://myaccount.google.com/connections

Cisco Spaces Google Calendar Permissions
User: Authorized User
A user with admin access to the Google Workspace account can grant the permissions above the Cisco Spaces Calendar Service integration request. If the customer revokes the consent for the permissions at any time, Calendar Service will remove the store authorization token to read resources from Google Workspace calendar APIs and diable the functionality until the next successful integration.
Workflow Overview

Cisco Spaces Calendar Integration Workflow Overview
Integrations Page

Cisco Spaces > Integrations
Google Calendar

Cisco Spaces > Integrations > Google Calendar

Cisco Spaces > Integrations > Google Calendar > Admin User OAuth Login

Cisco Spaces > Integrations > Google Calendar > Permissions
Microsoft O365

Cisco Spaces > Integrations > Office 365

Cisco Spaces > Integrations > Office 365 > Microsoft Admin Login

Cisco Spaces > Integrations > Office 365 > Permissions
Space Manager
Space Management > Link Calendar (to Room)

Cisco Spaces > Space Manager > Space Management > Room > Link Calendar