Files
ViaVox/README.md

2.1 KiB

ViaVox

Sync Microsoft 365 calendar (and soon contacts) into Nextcloud.

ViaVox is the Nextcloud companion app for the ViaVox Syncer service: a webhook-based Microsoft Graph → Nextcloud CalDAV bridge that keeps Outlook / Exchange Online calendars in sync with each Nextcloud user's personal calendar, both directions, in near-real-time.

This repo distributes the Nextcloud app half of the stack. The companion syncer service is deployed separately (admins configure its URL + shared token).

What it does

  • Each Nextcloud user can connect / disconnect their own Microsoft 365 account from Settings → Personal → ViaVox.
  • Once connected, Outlook events flow into the user's personal calendar via webhook notifications (no polling), and edits made in Nextcloud Calendar flow back to Outlook.
  • Recurring meetings — including exceptions, cancellations, DST transitions, attendees and RSVPs — are handled end-to-end.
  • An admin overview shows per-user connection status and sync health.

Install

  1. Download the latest viavox-X.Y.Z.tgz release asset (see the Releases page).

  2. Extract into your Nextcloud installation's apps/ directory so that apps/viavox/appinfo/info.xml exists:

    tar xzf viavox-0.8.19.tgz -C /var/www/nextcloud/apps/
    chown -R www-data:www-data /var/www/nextcloud/apps/viavox
    
  3. Enable the app:

    occ app:enable viavox
    
  4. As an admin, open Settings → Administration → ViaVox, enter the ViaVox Syncer base URL and shared NC-app token, hit Save and then Test connection.

  5. Each user can now open Settings → Personal → ViaVox and click Connect Microsoft 365 to start syncing.

Requirements

  • Nextcloud 30 or newer.
  • PHP 8.1+.
  • A reachable ViaVox Syncer instance (separately deployed).
  • A Microsoft 365 tenant with an App Registration that has Calendars.ReadWrite delegated permission.

License

AGPL-3.0-or-later. See COPYING inside the package.

Support

For installation help or to report issues, contact the maintainer (see appinfo/info.xml for the e-mail address).