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
| Area | Supported Providers | Protocol |
|---|---|---|
| Calendar | Microsoft Outlook, Sparks Appointments (Scheduler), Google, Nextcloud, Open-Xchange | Graph API, Scheduler API, Google Calendar API, CalDAV, OX API |
| Contacts | Microsoft Outlook, Nextcloud, Open-Xchange, Google (in development) | Graph API, CardDAV, OX API, Google People API |
| Tasks | Microsoft Planner, Nextcloud Tasks, Open-Xchange, Google (in development) | Graph API, Nextcloud API, OX API, Google Tasks API |
| Storage | Microsoft OneDrive, WebDAV | Graph API, WebDAV |
| Chat | Matrix | Matrix protocol |
| Teams | Microsoft | Microsoft 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 Cloud | Nextcloud (your server) | |
|---|---|---|
| Summary | Data 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 Settings | Two 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):
- Point tenant autoconfig at the correct homeserver URL (and homeserver type if you use Tuwunel vs. Synapse-style SSO).
- Align IdP and Matrix so each person keeps the same MXID as on the legacy Element/client.
- 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_finishedwebhook, optional grace period when the room is empty). See Vistameet-Teamsserver/.env.examplefor variables such asMEETING_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.