Plugins & Integrations

Synaplan uses a non-invasive plugin architecture. Plugins live under plugins/ in the main repo, store data in generic shared tables, and expose their own API endpoints — no modifications to core Synaplan code are required.

Available Plugins

TTS — Text-to-Speech

Repository: github.com/metadist/synaplan-tts

Adds voice output to AI responses. Optional companion service — Synaplan runs fully without it.

git clone https://github.com/metadist/synaplan-tts.git
cd synaplan-tts
docker compose up -d

Synaplan auto-detects the service via SYNAPLAN_TTS_URL (default http://host.docker.internal:10200). Cloud alternative: set ELEVENLABS_API_KEY to use ElevenLabs instead.

SortX — Document Sorting

Repository: github.com/metadist/synaplan-sortx

Two parts that share one codebase:

  • Local tool (Docker): scans a mounted folder, extracts text via Tika, classifies via regex + AI, writes results to a local SQLite DB.
  • Synaplan plugin: server-side endpoints under /api/v1/user/{userId}/plugins/sortx/... for classify, analyze-file, and schema (categories + generated prompt).
git clone https://github.com/metadist/synaplan-sortx.git
cd synaplan-sortx
docker compose up -d
# → Web UI: http://localhost:8080

Plug an existing Synaplan instance in via API key and User ID in the SortX config UI.


Cloud Storage Integrations

Nextcloud

GitHub: github.com/nextcloud

Connect your Nextcloud instance to use its files as knowledge sources for RAG conversations.

Capabilities:

  • Index documents from specific Nextcloud folders
  • Automatic re-indexing when files are added or changed
  • Full text extraction pipeline (PDF, Word, Excel, images with OCR)
  • Per-user connection settings with app passwords

Setup:

  1. In your Nextcloud instance, create an App Password under Settings → Security
  2. In Synaplan's admin panel, add the Nextcloud connection with the server URL and app password
  3. Select which folders to index
  4. Documents are processed and become available as knowledge sources in AI chats

OpenCloud (ownCloud Infinite Scale)

GitHub: github.com/opencloud-eu

Full integration with OpenCloud / oCIS for organizations using the ownCloud ecosystem.

Capabilities:

  • WebDAV and Graph API support for file access
  • Spaces-aware document indexing
  • Automatic sync and re-indexing
  • Same text extraction and RAG pipeline as Nextcloud

Setup:

  1. Generate an API token or app password in your OpenCloud instance
  2. Configure the connection in Synaplan's admin panel
  3. Select spaces and folders to index

Building Your Own Plugin

Plugins follow a minimal structure:

my-plugin/
├── manifest.json           # Metadata, capabilities, version
├── backend/
│   ├── Controller/         # API endpoints (Symfony controllers)
│   └── Service/            # Business logic
├── frontend/               # Optional Vue components
└── migrations/
    └── 001_setup.sql       # Per-user config setup (BCONFIG entries)

Key rules:

  • No custom database tables — use BCONFIG for simple key-value config (with BGROUP = "P_{pluginName}") and the generic plugin_data table for structured data via PluginDataService.
  • No core code changes — plugins are self-contained under plugins/{name}/.
  • API namespacing — all endpoints live under /api/v1/user/{userId}/plugins/{name}/....
  • Reuse core services — use Synaplan's AiFacade, ModelConfigService, PluginDataService, etc. through dependency injection.

manifest.json Example

{
  "name": "my-plugin",
  "version": "1.0.0",
  "description": "Short description of what the plugin does",
  "author": "Your Name",
  "capabilities": ["classify", "analyze"],
  "config_group": "P_myplugin"
}

Installing a Plugin

# Copy plugin directory into Synaplan
cp -r my-plugin/ /path/to/synaplan/plugins/my-plugin/

# Install for a specific user
docker compose exec backend php bin/console app:plugin:install <userId> my-plugin

Related Repositories

Repository Description Link
synaplan Main platform (backend + frontend) github.com/metadist/synaplan
synaplan-tts Text-to-Speech service github.com/metadist/synaplan-tts
synaplan-marketing Marketing website and content github.com/metadist/synaplan-marketing
synaplan-charts Helm charts for Kubernetes deployment github.com/metadist/synaplan-charts
synaplan-platform Production deployment configs github.com/metadist/synaplan-platform
Nextcloud Self-hosted cloud storage platform github.com/nextcloud
OpenCloud ownCloud Infinite Scale (oCIS) github.com/opencloud-eu