(Awaiting Approval) Introduction & Quick Start
Welcome to the official documentation for the Nextcloud Exchange Connector.
🌐What is the Connector?
The connector is a decoupled, high-performance .NET 8 microservice designed to run in the background. It acts as a bidirectional protocol translator, automatically synchronizing Calendars, Contacts, and Tasks between Nextcloud (CalDAV/CardDAV) and Microsoft Exchange (Exchange Web Services / OAuth) without impacting your Nextcloud web server's performance.
🚀Quick Onboarding
To get your synchronization engine running as quickly as possible, follow this exact sequence:
Step 1: Preparation (Authentication)
You cannot start the application without access keys. First, configure your environments to generate your credentials.
👉 Go to: Configuring Microsoft 365 (Cloud) OR Configuring Exchange On-Premise
👉 Go to: Configuring Nextcloud
Step 2: Installation (Deployment)
Once you have your Microsoft and Nextcloud credentials, deploy the worker service using your preferred infrastructure.
👉 Go to: Installation Guides [TO INSERT THE SUBCATEGORY LINK HERE AFTER FULL DOCUMENTATION APPROVAL]
Step 3: Verification (Monitoring & Consent)
Verify that the service is running and instruct your users to activate their synchronization.
👉 Go to: Logging & Monitoring
👉 Go to: Granting User Access (Consent Flow)
🗺️Where to Find What You Need
Jump directly to the guide that solves your current problem:
"I need to configure Microsoft 365 / Azure AD..."
➡️ Read: Configuring Microsoft 365 (Cloud)"I need to configure Exchange 2016/2019..."
➡️ Read: Configuring Exchange On-Premise"I am hitting Microsoft API limits or throttling..."
➡️ Read: Managing Service Accounts (admins.json)"I want to change what data gets synced..."
➡️ Read: Configuring the .env File"I am upgrading from the old PHP plugin..."
➡️ Read: Migration Guide"I want to understand how the backend works..."
➡️ Read: Understanding the Architecture
🧠Key Concepts & Best Practices
To ensure a stable and scalable deployment, keep these two architectural pillars in mind:
The
.envis your Single Source of Truth: Every behavior of the application — from synchronization intervals and batch limits to database connections and logging levels — is controlled globally via your.envfile.Connection Pooling via
admins.json: Microsoft enforces strict rate limits on EWS connections. Never rely on a single service account for a large organization.
💡 Tip: Scale with Multiple Accounts
Always use the admins.json file to define an array of multiple service accounts. The application will automatically distribute the synchronization load across this pool, effectively bypassing throttling bottlenecks and radically speeding up the sync process.
🛠️ Support & Troubleshooting
If the synchronization stops or the container fails to start:
Check the Logs First: The application uses Serilog to output highly detailed diagnostics. Depending on your
.envconfiguration, check your Docker console, file system, or Grafana dashboard.
See Logging & Monitoring for exact commands.Verify the Shared Secret: The #1 cause of deployment failure is a typo in the
SharedSecretbetween Nextcloud and the.envfile.Contact Support: If you cannot resolve the issue, gather your log files (ensuring no sensitive personal data is included) and open a ticket with the Sendent Support Desk.
Next Step
Choose your platform: Configuring Microsoft 365 (Cloud) OR Configuring Exchange On-Premise