Configuring calendar services
To enable VCA's room calendar to display meeting schedules and support one-tap joining, system administrators need to perform some prerequisite configurations in their calendar service.
Configure Microsoft 365 Calendar Service
Prerequisites
You need Microsoft 365 Global Administrator or Exchange Administrator permissions.
Ensure your Microsoft 365 tenant has a verified custom domain for your organization.
Using the Microsoft Graph API for integration is recommended, as it is Microsoft's modern authentication and API access method, superior to the traditional Exchange Web Services (EWS).
Configuration Steps
Create a Dedicated Service Account in Microsoft 365
We recommend creating a dedicated service account for VCA to access all room resource calendars, rather than using a personal administrator account.
Log in to the Microsoft 365 admin center (https://admin.microsoft.com).
Navigate to Users > Active users > Add a user to create a new dedicated service account (e.g.,
[email protected]).Assign a valid Microsoft 365 license to this account, which must include the Exchange Online service plan (e.g., Microsoft 365 Business Basic or higher).
Record the username and password for this account. This account will be used to log in and grant permissions when authorizing through a browser in VCA Host.
Create or Associate Room Resource Mailboxes
Create a dedicated resource mailbox for each room that needs to be integrated with VCA.
In the Microsoft 365 admin center, navigate to Resources > Rooms & equipment.
Click "+ Add resource" to create a new room resource mailbox (e.g.,
[email protected]).Configure the room's properties, such as Name (Boardroom), Capacity, Location, etc.
For security purposes, password login is typically not required for room resource mailboxes.
Grant Permissions to the Service Account
To allow the dedicated service account ([email protected]) to read and manage all room calendars, you need to grant it the appropriate permissions.
Grant Permissions in Bulk via PowerShell (Recommended) This is the most efficient method, especially if you have multiple rooms.
Connect to Exchange Online PowerShell
On your computer, open PowerShell and ensure the
ExchangeOnlineManagementmodule is installed. If not, runInstall-Module -Name ExchangeOnlineManagement.Run the following command and log in with your administrator account:
Connect-ExchangeOnline -UserPrincipalName your-[email protected]
Grant Permissions to the Service Account
For each room resource mailbox, run the following command. Replace
[email protected]with the actual room mailbox address and[email protected]with your service account address.Grant Editor permission to the calendar:
Add-MailboxFolderPermission -Identity "[email protected]:\Calendar" -User "[email protected]" -AccessRights Editor(For more advanced management, such as processing meeting invitations, FullAccess permission might be needed, but it is often not required. Please evaluate based on VCA's specific needs.)
# Add-MailboxPermission -Identity "[email protected]" -User "vca-service@yourdomai
Bulk Operation Script (Example)
You can write a simple script to grant permissions to all room resources in bulk:
$Rooms = Get-Mailbox -RecipientTypeDetails RoomMailbox
$User = "[email protected]"
foreach ($Room in $Rooms) {
Write-Host "Granting Editor permission for $($Room.Name) to $User..."
Add-MailboxFolderPermission -Identity "$($Room.Alias):\Calendar" -User $User -AccessRights Editor
}Configure Individually via Exchange Admin Center
Log in to the Exchange admin center (https://admin.exchange.microsoft.com).
Navigate to Recipients > Resources.
Select a room resource mailbox to open its properties.
In the "Mailbox delegation" or a similar section, add your service account (
[email protected]) as a delegate and grant it "Editor" permission for the calendar.Repeat this process for each room resource.
After completing these steps, you can use this service account to authorize through a browser in the VCA Host's "Room Calendar" settings to integrate Microsoft 365 Calendar.
After completing the steps above, you can go to the "Room Calendar" settings in VCA Host and use the service account to authorize via browser to integrate Microsoft 365 Calendar.
Configure Google Workspace Calendar Service
Prerequisites
You need Google Workspace Super Administrator permissions.
Your organization must have Calendar service configured and in use within Google Workspace.
Configuration Steps
Google Workspace integration is typically achieved by creating a service account and granting it domain-wide access to calendar resources.
Create a Google Cloud Project and Service Account
Log in to the Google Cloud Console (https://console.cloud.google.com) using your Google Workspace administrator account.
Create a new Google Cloud project (e.g., "VCA Calendar Integration") or select an existing one.
In the project, navigate to IAM & Admin > Service Accounts.
Click "+ CREATE SERVICE ACCOUNT".
Name the service account (e.g.,
vca-calendar-service); a Service account ID will be generated automatically.Click "CREATE AND CONTINUE". You can skip granting roles to this service account for now. Click "CONTINUE", then click "DONE".
Enable Domain-Wide Delegation for the Service Account
In the list of service accounts, click on the one you just created to go to its details page.
Switch to the "Advanced settings" or "Show domain-wide delegation" section.
Check the box for "Enable Google Workspace Domain-wide Delegation".
A Unique ID (Client ID) will be displayed. Copy and save this Client ID, as it is needed in the next step.
Click "SAVE".
Authorize the Client ID in the Google Workspace Admin Console
Log in to the Google Workspace Admin Console (https://admin.google.com).
Navigate to Security > Access and data control > API controls.
In the "Domain-wide Delegation" section, click "Manage Domain-Wide Delegation".
Click "Add new".
In the "Client ID" field, paste the Client ID of the service account you copied in the previous step.
In the "OAuth scopes (comma-delimited)" field, enter the API scopes required for VCA to access the calendar. The following scopes are commonly needed:
https://www.googleapis.com/auth/calendar.readonly(if only read access is needed)https://www.googleapis.com/auth/calendar(if edit or create access is needed)https://www.googleapis.com/auth/calendar.events(for more granular event management)
Click "AUTHORIZE".
Ensure Room Resources are Created and Shared
In the Google Workspace Admin Console, navigate to Apps > Google Workspace > Calendar.
Go to the "Resources" management page and ensure you have created calendar resources for each meeting room (e.g., "Boardroom", "Meeting Room 1").
By default, users within the domain can typically see the free/busy status of resources. To ensure the VCA service account can read full event details, you may need to check the sharing settings for each resource calendar to confirm it has sufficient viewing permissions shared with the service account or the entire organization.
After completing these steps, the VCA system can use the configured service account to access your Google Workspace room calendars. When you select "Google Calendar" in the VCA Host's "Room Calendar" settings, VCA will guide you through the standard OAuth flow using an administrator account with permissions.
Configure Exchange Server (On-Premises) Calendar Service
Prerequisites
You need Exchange Server administrator permissions.
Your Exchange Server must be accessible over the network by the VCA Host. This typically requires an Exchange Web Services (EWS) endpoint.
You need to know your Exchange Server's EWS URL (e.g.,
https://mail.yourcompany.com/EWS/Exchange.asmx).You need a dedicated service account with its credentials (username and password).
Configuration Steps
Step 1: Create or Designate a Dedicated Service Account
We strongly recommend creating a dedicated Active Directory user account to act as VCA's service account, rather than using a personal administrator account.
In your Active Directory Users and Computers, create a new user account (e.g.,
vca-service).Set a strong password for the account and configure it to never expire, according to your security policy.
Ensure the account has an enabled mailbox in Exchange.
Create or Confirm Room Resource Mailboxes
Create a dedicated room resource mailbox in Exchange for each room to be integrated with VCA.
Log in to the Exchange Admin Center (EAC).
Navigate to recipients > resources.
Click the "+" icon and select "Room mailbox" to create a new room resource (e.g.,
boardroom, with the email address[email protected]).Configure the room's properties, such as name, alias, capacity, etc.
Grant Permissions to the Service Account
To allow the service account (vca-service) to read and manage all room calendars, you need to grant it the necessary permissions. The most effective way is through the Exchange Management Shell.
Open the Exchange Management Shell.
Grant Editor permission to the calendar:
For each room resource mailbox, run the following command. Replace
boardroomwith the actual room mailbox identity andvca-servicewith your service account username.This command grants the service account "Editor" rights to the "Calendar" folder of the specified room, which is typically the minimum sufficient permission required by VCA.
Add-MailboxFolderPermission -Identity "boardroom:\Calendar" -User "vca-service" -AccessRights EditorGrant Permissions in Bulk (Example Script):
If you have multiple rooms, you can use the following script to process them in bulk.
$Rooms = Get-Mailbox -RecipientTypeDetails RoomMailbox -ResultSize Unlimited $User = "vca-service" foreach ($Room in $Rooms) { Write-Host "Granting Editor permission for $($Room.Name) to $User..." Add-MailboxFolderPermission -Identity "$($Room.Alias):\Calendar" -User $User -AccessRights Editor }
About Impersonation: In some advanced integration scenarios, Exchange Impersonation may be used. This allows a service account to "impersonate" other users to access their mailboxes without knowing their passwords. If VCA's integration method recommends using Impersonation, you would need to run the following command:
New-ManagementRoleAssignment -Name "VCAServiceImpersonation" -Role "ApplicationImpersonation" -User "vca-service"Please refer to VCA's official integration guide for Exchange Server first to confirm whether folder permissions or Impersonation rights are required.
Confirm EWS Access and Authentication Settings
Confirm the EWS URL:
Ensure you know your Exchange Server's EWS access URL. You can find it by running the following command in the Exchange Management Shell:
Get-WebServicesVirtualDirectory | Select-Object Name, *URL* | Format-ListNote down the
ExternalUrlorInternalUrl, depending on the VCA Host's network location.
Confirm the Authentication Method:
In IIS Manager, check the authentication settings for the EWS virtual directory. Typically, Basic Authentication or Windows Integrated Authentication needs to be enabled, depending on how VCA connects. Please configure this according to VCA's requirements.
After completing these steps, you will have all the information needed for on-premises Exchange Server integration:
EWS Server URL
Service Account Username
Service Account Password
Now, you can go to the "Room Calendar" settings in VCA Host, select Microsoft Exchange, and use Manual Configuration to enter this information and complete the integration.
Last updated