Skip to content

Integrations

Skald is designed to slot into the systems your organization already runs. This page is the index of every supported integration, what tier it requires, and where to find the setup guide.

Identity & access

IntegrationTierWhat it doesSetup
OIDC (Okta, Entra ID, Google, Auth0, Keycloak, …)EnterpriseSingle sign-on via OpenID ConnectSKALD_OIDC_* env vars — see environment variables and SSO testing
SAML 2.0EnterpriseSingle sign-on via SAML — DB-backed config, includes self-service portal linkSAML SSO setup
SCIM 2.0EnterpriseAutomatic user / group provisioning from your IdPSCIM provisioning
MFA (TOTP)All tiersRFC 6238 authenticator-app MFA enrolled per userBuilt-in — Account → Security
Passwordless / magic-linkAll tiersEmail magic links or 6-digit OTPs — off by defaultAdmin → Login Settings (requires SMTP + SKALD_PUBLIC_BASE_URL for magic links)

Storage & media

IntegrationTierWhat it doesSetup
MinIO / AWS S3 / S3-compatibleAll tiersObject storage for avatars, chat files, recordings, backupsSKALD_MINIO_* env vars
Server-side encryption (SSE-S3, SSE-KMS)All tiersAt-rest encryption of stored filesEncryption at rest
ClamAVEnterpriseStreams uploads through virus scanning before they land in storageVirus scanning
LiveKit SFUAll tiersMedia routing for voice / video / screen sharingBundled in Helm chart; external livekit.externalIp / livekit.publicUrl

Push, email & mobile

IntegrationTierWhat it doesSetup
Expo pushAll tiersiOS, Android, and web push notificationsDefault push backend; override with SKALD_EXPO_PUSH_URL
Apple PushKit (VOIP)All tiersNative CallKit lock-screen ring on iOSskald.apns.* properties (Team ID, Key ID, .p8 PEM, bundle ID)
Firebase Cloud MessagingAll tiersHigh-priority Android data push for native incoming-call UIskald.fcm.enabled=true and service-account JSON path
SMTPAll tiersOutbound email (support forwarding, verification, digests, password reset, magic links)SKALD_SMTP_* env vars or smtp.* Helm values
Expo OTA updatesAll tiersPush mobile JS bundle updates without app-store re-submissionMobile OTA

Webhooks

IntegrationTierWhat it doesSetup
Outbound webhooksEnterpriseHMAC-signed POSTs to your systems on user / room / file / moderation events. Automatic retries with exponential back-off, delivery log, test endpoint.Webhooks integrator guide
Inbound webhooksAll tiersPer-room tokenized endpoints that turn an HTTP POST into a chat message (Slack-style). Markdown or HTML, DLP-scanned, rate-limited per token.Webhooks integrator guide → Inbound section

Observability

IntegrationTierWhat it doesSetup
PrometheusAll tiersSkald exposes a /actuator/prometheus endpoint; Helm bundle includes PrometheusBundled
GrafanaAll tiersPre-configured dashboards for messaging, calls, push, webhooks, JVMBundled
LokiAll tiersStructured JSON logs shipped to LokiLog aggregation (--set loki.enabled=true)
JaegerAll tiersDistributed traces (OTLP) for the APIBundled
ELK / Splunk / DatadogAll tiersSame JSON log stream is ingestible by any aggregatorLog aggregation
Grafana MCP for AIAll tiersRead access to Loki / Prometheus / dashboards from Claude Code or other MCP clientsAI observability

Data import

IntegrationTierWhat it doesSetup
Slack exportAll tiersImports a Slack workspace ZIP — users, channels, messages, reactions, threadsSlack import operator guide

AI

IntegrationTierWhat it doesSetup
AWS BedrockEnterpriseBacks the AI content-moderation classifier and (optionally) chat summariesBedrock setup

Extensibility

IntegrationTierWhat it doesSetup
Plugin SDKAll tiersDrop a Spring @Component implementing SkaldPlugin into the API to add events, REST endpoints, STOMP topics, per-plugin Flyway migrations, client extension pointsPlugin author guide
Bot tokensAll tiersLong-lived API tokens for automated agents (separate from user JWTs, separate revocation, separate audit)Admin → Bots
Slash commandsAll tiersCustom server-side slash commands triggered from the chat composerAdmin → Slash commands

Backups & disaster recovery

IntegrationTierWhat it doesSetup
Postgres backupsAll tiersAutomated pg_dump archives uploaded to S3/MinIOBackup & restore
MinIO backupsAll tiersBucket-level mirroring for chat files / recordings / avatarsBackup & restore
CloudNativePGAll tiersRun Postgres as a CNPG cluster instead of the bundled StatefulSetExternal database

Network & transport

IntegrationTierWhat it doesSetup
Reverse proxies (nginx, Caddy, Traefik)All tiersTLS termination + WebSocket upgrade for /api, /ws, LiveKit signalingReverse proxy & TLS
TURN over 443All tiersNAT traversal for clients on restrictive networksLiveKit TURN on 443

Where this list lives

This page is the single source of truth for "does Skald work with X?" — if an integration is missing here, it isn't shipped. Anything labeled "All tiers" works in the open-source Community build.

Skald user documentation