Skip to main content

Data Backends and Providers

Sparks connects various providers (data sources) for calendar, contacts, tasks, and storage. You can use multiple providers in parallel; data is merged and displayed in a unified view.

Sprache / Language: Deutsch


Overview

AreaSupported ProvidersProtocol
CalendarMicrosoft Outlook, Sparks Appointments (Scheduler), Google, Nextcloud, Open-XchangeGraph API, Scheduler API, Google Calendar API, CalDAV, OX API
ContactsMicrosoft Outlook, Nextcloud, Open-Xchange, Google (in development)Graph API, CardDAV, OX API, Google People API
TasksMicrosoft Planner, Nextcloud Tasks, Open-Xchange, Google (in development)Graph API, Nextcloud API, OX API, Google Tasks API
StorageMicrosoft OneDrive, WebDAVGraph API, WebDAV
ChatMatrixMatrix protocol
TeamsMicrosoftMicrosoft Graph API

Sparks Cloud vs. your own Nextcloud

In deployments with hosted Sparks Cloud (technically: Sparks Cloud PIM/WebDAV, e.g. VITE_SPARKS_CLOUD_WEBDAV and server-side wiring), there are two ways to use the same Nextcloud integration in the app for calendar, contacts, tasks, and file storage:

Sparks CloudNextcloud (your server)
SummaryData via Sparks-operated Nextcloud; sign in with your Sparks/OIDC account (no Nextcloud password stored in the browser).Any self-hosted instance: base URL, username, and app password are stored in Sparks.
At the same time?No for that stack: connecting Nextcloud (your server) turns off Sparks Cloud for calendar, contacts, tasks, and storage; the UI shows a warning. Switching back to Sparks Cloud removes the saved self-hosted connection after confirmation.See left.
In SettingsTwo rows (Sparks Cloud and Nextcloud). While Nextcloud is active, sign-out and the Active toggle for the Sparks Cloud row are restricted accordingly.

Microsoft, Open-Xchange, Google, etc. remain independent and can still be used in parallel.


Calendar Providers

Microsoft Outlook

  • Requirement: Microsoft/Office 365 account
  • Setup: Settings → Provider Accounts → Calendar → Connect Microsoft
  • Features: Full calendar sync, recurring events, attendees, Scheduling Assistant, online meetings
  • OAuth: Sign in with Microsoft account, calendar access permissions

Sparks Cloud (CalDAV, hosted)

  • Requirement: Sparks Cloud provided by your operator; Sparks Cloud PIM/WebDAV enabled.
  • Setup: Settings → Provider Accounts → connect Sparks Cloud (dialog) or via cards under Connected accounts.
  • Note: Mutually exclusive with a self-hosted Nextcloud URL for calendar/contacts/tasks/files (see section above).

Nextcloud (CalDAV, your server)

  • Requirement: Nextcloud server with CalDAV
  • Setup: CalDAV URL, username, password or app password
  • Features: Calendar sync, multiple calendars, recurring events
  • Note: CalDAV URL e.g. https://nextcloud.example.com/remote.php/dav/calendars/USER/CALENDAR/

Open-Xchange

  • Requirement: Open-Xchange account (OX App Suite)
  • Setup: OX server URL, credentials
  • Features: Calendar sync, attendees, recurring events
  • Typical use: Organizations using OX as backend

Sparks Appointments (Scheduler)

  • Requirement: Sparks Appointment Manager (Scheduler) configured
  • Setup: Automatic via autoconfig (appointment_manager.base_url)
  • Features: Appointments with online meeting links, Matrix room linking, join URLs (/j/c/:appointmentId)
  • Note: Often used alongside Microsoft Exchange – meetings saved to Exchange and synced with Scheduler

Google Calendar

  • Requirement: Google account (OAuth via backend)
  • Setup: Settings → Provider Accounts → Calendar → Connect Google
  • Features: Full calendar sync, Google Meet links, recurring events, attendees
  • OAuth: Sign in with Google; tokens managed server-side

Contact Providers

Microsoft Outlook

  • Requirement: Microsoft/Office 365 account
  • Setup: Settings → Provider Accounts → Contacts → Connect Microsoft
  • Features: Read, edit, add contacts; "Copy to Microsoft" (requires Contacts.ReadWrite)
  • OAuth: Contact access permissions

Sparks Cloud (CardDAV, hosted)

  • Requirement / note: Same as calendar; shared mode with Nextcloud (your server) — not in parallel.

Nextcloud (CardDAV, your server)

  • Requirement: Nextcloud with CardDAV
  • Setup: CardDAV URL, credentials
  • Features: Sync and edit contacts
  • URL: e.g. https://nextcloud.example.com/remote.php/dav/addressbooks/users/USER/CONTACTBOOK/

Open-Xchange

  • Requirement: Open-Xchange account
  • Setup: OX server, credentials
  • Features: Read and edit contacts

Google (in development)

  • Requirement: Google account
  • Setup: Settings → Provider Accounts → Contacts → Connect Google
  • Status: Google People API – implementation in progress

Task Providers (Planner)

Microsoft Planner

  • Requirement: Microsoft/Office 365 account with Planner
  • Setup: Settings → Provider Accounts → Tasks → Connect Microsoft
  • Features: Plans, buckets, tasks, assignments, due dates, priority, "Add to My Day", charts
  • Structure: Plan → Bucket → Task

Sparks Cloud (tasks, hosted)

  • Requirement / note: Same as calendar; shared mode with Nextcloud (your server) — not in parallel.
  • Features: Graph-compatible planner scope with plans, buckets, tasks, priorities, and assignments.

Nextcloud Tasks (your server)

  • Requirement: Nextcloud with Tasks app
  • Setup: Nextcloud connection
  • Features: Task lists, due dates, calendar-to-task mapping

Open-Xchange Tasks

  • Requirement: Open-Xchange with Tasks
  • Setup: OX server
  • Features: Sync and manage tasks

Google Tasks (in development)

  • Requirement: Google account
  • Setup: Settings → Provider Accounts → Tasks → Connect Google
  • Status: Google Tasks API – implementation in progress

Storage Providers

Microsoft OneDrive

  • Requirement: Microsoft/Office 365 account
  • Setup: Settings → Provider Accounts → Storage → Connect OneDrive
  • Features: Upload, share files, open from chat/channels

Sparks Cloud (file storage, hosted)

  • Requirement: Sparks Cloud WebDAV enabled.
  • Setup: Connected accounts / Provider Accounts → Sparks Cloud; no separate WebDAV URL in the client.
  • Note: If Nextcloud (your server) is used for files, the Sparks Cloud row under file storage is disabled accordingly.

WebDAV / Nextcloud (your server)

  • Requirement: WebDAV-capable server (e.g. Nextcloud, custom servers)
  • Setup: WebDAV URL, username, password
  • URL format: https://server.example.com/remote.php/webdav/ (Nextcloud)

Matrix (Chat)

Matrix is the primary chat backend of Sparks – not an optional provider, but the basis of sign-in.

  • Matrix server: Provided by administrator or hosting
  • Features: End-to-end encryption, rooms, Spaces, reactions, files
  • No parallel connection: One Matrix account per Sparks session

Using an existing Matrix server (rooms and history already there)

In the usual deployment you sign in with your organization login (OpenID Connect, e.g. Keycloak). The app then obtains a Matrix session on the homeserver your operator configured (tenant autoconfig). You do not import rooms manually: after sync, existing rooms and history appear in the chat list like in any Matrix client, as long as you are the same Matrix user (@localpart:domain) as before.

For operators (short checklist):

  1. Point tenant autoconfig at the correct homeserver URL (and homeserver type if you use Tuwunel vs. Synapse-style SSO).
  2. Align IdP and Matrix so each person keeps the same MXID as on the legacy Element/client.
  3. For web deployments, ensure the browser can call the Matrix API (CORS on the homeserver or reverse proxy).

Some organizations use a separate “legacy Synapse” mode (Matrix password against a fixed homeserver URL in org settings). That path is mainly for migration or special contracts; confirm with your operator whether it is enabled and how you are expected to sign in.


Microsoft Teams

  • Requirement: Microsoft/Office 365 account
  • Setup: Connect Microsoft account (often together with calendar/contacts)
  • Features: Teams Chat (1:1), Teams Channels, channel list, posts, files
  • API: Microsoft Graph

Calls and Call Log

  • Calls: Real-time video services, provided by administrator
  • Call Log: Data source depends on deployment:
    • Telephony / Conf backend (typical): Often OIDC; entries come from the organization's backend.
    • Vista Node (self-hosted, optional): With the local call-log feature enabled, the Vista node records participation rows (including Matrix room linkage); with PostgreSQL, entries and transcript sessions survive restarts.
  • Transcripts / meeting minutes:
    • Live captions during the meeting are separate from the persisted transcript in call history; persistence requires appropriate server setup (transcriber, database).
    • Who can read the stored transcript is configurable (e.g. only your own call-log row, or—if enabled—shared content for participants in the same Matrix room and overlapping time window).
    • After the meeting ends, the server can finalize sessions and clear in-memory buffers (video infrastructure room_finished webhook, optional grace period when the room is empty). See Vistameet-Teams server/.env.example for variables such as MEETING_TRANSCRIPT_LIFECYCLE, MEETING_EMPTY_ROOM_GRACE_MS, CALL_LOG_TRANSCRIPT_SCOPE.

Default Provider

When multiple providers are connected, you can set a default provider in Settings. When creating new events, tasks, or contacts, this provider is suggested by default.