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 (M365), Exchange Server SE (on‑prem), Sparks Appointments (Scheduler), Google, Nextcloud, Open-XchangeGraph API, EWS, Scheduler API, Google Calendar API, CalDAV, OX API
ContactsMicrosoft Outlook (M365), Exchange Server SE (on‑prem), Nextcloud, Open-Xchange, Google (in development)Graph API, EWS, 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 / SharePoint Online, SharePoint Server (on‑prem), WebDAVGraph API, SharePoint REST, 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. IT: register redirect URI /redirect.html as a single-page application in Entra — Connect Microsoft 365 to Sparks.

Exchange Server SE (on‑prem)

  • Requirement: Exchange Server SE (or comparable on‑prem Exchange) provided by your organization; connection set up by the operator (e.g. AD FS / Hybrid Modern Auth).
  • Setup: When configured, Settings → Provider Accounts shows Exchange (on‑prem) — in addition to or instead of Microsoft 365 Outlook.
  • Features: Read/write calendar, RSVP; online meetings typically as a Sparks join link in the event body (no Teams Graph on‑prem).
  • Note: Can run in parallel with Microsoft Outlook (M365). Availability depends on deployment — ask your administrator.

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
  • Outlook add-in: Appointments and Sparks meetings can also be created from Outlook via the Sparks Outlook add-in, linked to Exchange items (metadata.outlookItemId)

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

Calendly (bookings → Sparks)

  • Requirement: Calendly integration entitlement; Calendly account
  • Setup: Settings → Accounts → Calendly section → Connect with Calendly
  • Features: Webhook bookings as Sparks events, event-type mapping, optional busy sync to Microsoft Outlook
  • Guide: Calendly integration

Sparks booking pages (native public booking)

  • Requirement: Sparks calendar (database calendar); feature not disabled
  • Setup: Settings → Accounts → Booking page → publish
  • Features: Public page /book/…, slots, email confirmation, reschedule/cancel; optional Sparks online meeting and ALTCHA
  • Guide: Sparks booking pages

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

Exchange Server SE (on‑prem)

  • Requirement / setup: Same as the calendar provider Exchange (on‑prem) — only appears when your organization has connected Exchange SE.
  • Features: Read, create, and delete contacts (scope depends on deployment).

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
  • Access: follows the plan’s Microsoft 365 group, not Sparks chat membership

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.
  • Room plans: bound to a chat, every chat member has the same rights (like Microsoft Planner). Personal plans stay private.

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

SharePoint Server (on‑prem)

  • Requirement: Self-hosted SharePoint Server (farm/site/library) enabled for Sparks by your organization.
  • Setup: Configured by the operator (site path, library, sign-in). In the app you then use on‑prem file storage like other file providers.
  • Features: List, upload, download, delete; check-out/check-in and versions when the farm supports them. In-browser editing only if Office Online Server is available — otherwise desktop checkout.
  • Note: Independent of Microsoft OneDrive / SharePoint Online (M365); both can exist in parallel. Teams channel files remain an M365 path.

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.
  • AI / MCP: Sparks Cloud creates a WebDAV folder per Matrix room. The in-app assistant and the livedata MCP (Account → AI access / MCP, scope files) can list, read, keyword-search, and list versions of these room files — not the entire Nextcloud home. See AI access / MCP.

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).
    • Per-meeting separation: The same Matrix chat can host many meetings over time. For each call-log row (call_id), the Vista node returns transcript text for that meeting instance only—earlier meetings in the same room are no longer concatenated automatically (as of May 2026).
    • Who can read: Access to stored transcripts is controlled by server policy (further product rules planned).
    • 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). The former CALL_LOG_TRANSCRIPT_SCOPE option (room-wide merge) has been removed.

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.