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:
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, or192.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
notificationUrlwhen 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:
Configure the SOPS domain, for example
syncsign.example.com, to resolve publicly to a public IP address, public load balancer, or public reverse proxy.Ensure the public endpoint can forward HTTPS / TCP 443 traffic to the SOPS webhook service.
Install a valid SSL certificate issued by a trusted public certificate authority.
Restrict inbound access with firewall or WAF rules where possible, for example by allowing only the calendar provider’s webhook notification traffic.
Expose only the webhook path if your security policy does not allow exposing the full SOPS management portal.
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.
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:
Go to the SyncSign client and navigate to the Display configuration page
Unbind the Display from the calendar
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):
Log in to the Azure Portal and locate the specific App
Generate a new Client Secret
Immediately copy the new Secret Value and update it in your SOPS system configuration settings
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:
Website: https://help.sync-sign.com
Email: help@sync-sign.com