Calendar Data Source FAQ

How to Choose the Right Calendar Data Source?

SyncSign supports multiple calendar data sources. You can choose the appropriate one based on your environment and requirements:

Calendar Data Sources

Data Source Type

Use Case

Deployment Method

Notes

Google Calendar

Personal or small teams

Cloud (SaaS) / On-Premise (SOPS)

Easy to configure

Google Workspace

Enterprise Google Workspace

Cloud (SaaS) / On-Premise (SOPS)

Supports organization management & resources

Office 365

Microsoft 365 users

Cloud (SaaS) / On-Premise (SOPS)

Supports organization management & resources (Delegated & App auth)

Exchange Server

On-premise Exchange deployment

On-Premise (SOPS)

Requires SOPS server

NextCloud

Self-hosted CalDAV server

On-Premise (SOPS)

Requires SOPS server

CSV URL

Custom data source

On-Premise (SOPS)

Requires SOPS server

Note

  • Cloud deployment (SaaS): Suitable for most users, simple configuration, no local server required

  • On-premise deployment (SOPS): Suitable for enterprises with special data security requirements, all data stays within the corporate network

Cloud Calendar Webhook Endpoint for SOPS Must Be Publicly Reachable

Does privately deployed SOPS need a public endpoint for cloud calendars?

Yes, if you enable real-time calendar synchronization with cloud calendar providers such as Microsoft 365 / Exchange Online or Google Calendar / Google Workspace.

SOPS can be deployed inside the customer’s private network. However, cloud calendar providers send calendar change notifications to SOPS through a webhook / push notification mechanism. For this to work, the provider must be able to reach the SOPS webhook notification URL from the public Internet over HTTPS.

Typical symptom:

  • Microsoft Graph returns HTTP 400 while registering an Office 365 calendar watch / webhook subscription.

  • The error indicates that the notification URL resolves to an unsafe, private, or non-public IP address.

  • The configured SOPS domain resolves to a private address such as 10.x.x.x, 172.16.x.x - 172.31.x.x, or 192.168.x.x.

In this case, the issue is usually not the Azure Redirect URI, Google OAuth redirect URI, or the webhook URL string format. The root cause is that the cloud provider cannot access the SOPS webhook endpoint from the public Internet.

Why this is required:

  • For Microsoft 365 / Exchange Online, Microsoft Graph must validate and call the SOPS notificationUrl when a calendar subscription is created and when calendar changes occur.

  • For Google Calendar / Google Workspace, Google Calendar push notifications must be delivered to the webhook callback URL configured for the watch channel.

  • If the domain resolves only to an internal IP address, cloud services cannot complete the subscription validation or send change notifications.

Required configuration:

  1. Configure the SOPS domain, for example syncsign.example.com, to resolve publicly to a public IP address, public load balancer, or public reverse proxy.

  2. Ensure the public endpoint can forward HTTPS / TCP 443 traffic to the SOPS webhook service.

  3. Install a valid SSL certificate issued by a trusted public certificate authority.

  4. Restrict inbound access with firewall or WAF rules where possible, for example by allowing only the calendar provider’s webhook notification traffic.

  5. Expose only the webhook path if your security policy does not allow exposing the full SOPS management portal.

  6. After DNS, HTTPS, and firewall changes are complete, trigger the calendar watch / webhook registration again.

Note

Private deployment can still be retained. The requirement is only that the cloud calendar webhook notification endpoint has a controlled public HTTPS entry point.

See also: From Internet to SOPS (Inbound, for Data Source)

Display Synchronization Refresh Failure

1. Check Microsoft 365 Account Permissions

The Microsoft 365 account used to authorize login in the SyncSign client may have lost management permissions for the calendar (room resource) bound to the Display.

Troubleshooting steps:

  1. Go to the SyncSign client and navigate to the Display configuration page

  2. Unbind the Display from the calendar

  3. Re-bind the Display to the calendar

Expected results:

  • If binding succeeds: Observe whether the Display can synchronize and refresh the calendar information

  • If binding fails: Please contact us and provide error screenshots for further troubleshooting and analysis

2. Integration Failure Due to Client Secret Expiration (SOPS Deployment)

The most common reason is that the Client Secret for the Azure App has expired. Once this date is reached, Microsoft rejects connection requests from SyncSign, causing the synchronization to fail.

Fix (typically takes only 5 minutes):

  1. Log in to the Azure Portal and locate the specific App

  2. Generate a new Client Secret

  3. Immediately copy the new Secret Value and update it in your SOPS system configuration settings

  4. Once saved, the integration will be restored immediately

Event Title Shows Organizer Name Instead of Event Subject

By default, Office 365 room resources are configured to display the organizer’s name instead of the actual event title. This means SyncSign displays may show the organizer’s name rather than the meeting subject.

Solution:

Please refer to: Modify the Settings of the New Room Resource

This document provides step-by-step instructions on how to modify the room resource settings using PowerShell or Azure Cloud Shell to ensure event titles are preserved and displayed correctly on SyncSign displays.

Other Issues

If the above solutions do not resolve your issue, or if you need additional assistance, please feel free to contact us: