Troubleshooting Workplace Calendar Synchronization
This section helps administrators troubleshoot connection setup issues in Workplace Calendar Synchronization. Calendar sync integrates ServiceNow Workplace with external calendar providers — Microsoft Exchange Online and Google Calendar — to synchronize room and resource availability.
- System-to-System connection - a backend integration that syncs calendar data automatically using service account credentials.
- User-level connection - a per-user connection established when a user interacts with the application, required only in Personal mode.
System-to-System Connection
The system-to-system connection handles backend synchronization between ServiceNow and your calendar provider. Follow the steps below to diagnose and resolve configuration issues.
Identify the Connection Alias
The connection alias determines which credentials and OAuth configuration are used for the integration. ServiceNow resolves the alias in the following order.
- Navigate to the Calendar Provider record for the relevant provider (Microsoft or Google).
- Check whether an Override Alias is configured on the provider record.
- If an Override Alias is mapped to a Connection & Credential Alias, that alias is used for the integration.
- If no Override Alias is mapped, ServiceNow uses the default alias for the processor — for example, the default Microsoft Exchange Online alias for the
ms_graphprocessor
Validate the Connection & Credential Alias
Confirm that the alias is correctly configured before checking credentials.
- Verify that the alias is appropriate for the selected Integration Mode: Normal, Strict, or Personal.
- Confirm all of the following are configured and active on the alias:
- Connection
- Credential
- OAuth Entity Profile
- Scopes
- Application Registry
Verify Credential Settings
- Integration Type must be set to System.
- Grant Type must match the integration mode and provider as shown in the table below.
| Provider | Integration Mode | Required Grant Type |
|---|---|---|
| Microsoft Exchange Online | Normal | Client Credential |
| Microsoft Exchange Online | Strict or Personal | Authorization Code |
| Google Calendar | All modes (including Normal) | Authorization Code |
Obtain an OAuth Token (Authorization Code Only)
This step applies only when the grant type is Authorization Code. If the grant type is Client Credential, skip this step.
- Open the Credential record associated with the alias.
- Select Get OAuth Token.
- When prompted, authenticate using the credentials of a user who has read or write access to the room calendars in the external system.
- Confirm that the token is generated successfully before proceeding.
"resource not found","subscription failed",or "access denied". Ensure the
authenticating user has the required permissions before generating the token.Configure Delegated User Email
The Delegated User Email field on the Calendar Provider record is required only in Strict or Personal integration modes.
- If the integration mode is Strict or Personal: populate the Delegated User Email field on the Provider record with the email address of the delegated service account.
- If the integration mode is Normal: leave this field empty. It is not used in Normal mode.
User-Level Connection
The user-level connection is established per user when they interact with the Workplace application. The configuration required depends on the integration mode.
- Normal and Strict Modes
- No additional user-level configuration is required. System-to-system credentials handle all calendar operations.
- Personal Mode
- In Personal mode, each user authenticates individually with the calendar provider. An out-of-the-box (OOB) alias is provided for each processor type (Exchange Online and Google Calendar).
- Locate the OOB alias for the relevant processor (Exchange or Google).
- Confirm that the alias is correctly configured for the processor type.
- Verify that the alias has all of the following configured and active:
- Connection
- Credential
- OAuth Entity Profile
- Scopes
- Application Registry
- Confirm that the Grant Type on the Credential record is set to Authorization Code.
- Confirm that the Integration Type on the Credential record is set to Personal.