Integration Plugin System with Calendar/Mail/Service Providers #37
Labels
No labels
bug
documentation
duplicate
enhancement
future idea
good first issue
help wanted
invalid
question
roadmap:phase-agents
roadmap:phase-backend
roadmap:phase-cli
roadmap:phase-docs
roadmap:phase-foundation
roadmap:phase-hardening
roadmap:phase-installer
roadmap:phase-plugins
roadmap:phase-runtime
roadmap:phase-store
roadmap:status-active
roadmap:status-blocked
roadmap:status-done
roadmap:status-planned
roadmap:v2-agent-orchestration
roadmap:v2-auth
roadmap:v2-chat-runtime
roadmap:v2-cli
roadmap:v2-dashboard
roadmap:v2-hardening
roadmap:v2-model-providers
roadmap:v2-plugins-store
roadmap:v2-realtime
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
FTMahringer/Synapse#37
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem / Motivation
Synapse currently has a strong plugin foundation with channel and model provider support, but future integrations (Infomaniak, Nextcloud, Google Calendar, Mail systems, GitHub, etc.) will require a more generic integration/provider architecture.
The goal is to allow Synapse to act as an orchestration layer between external services:
Example use-case:
A mail plugin receives a message sent to
contact@domain.com.Synapse checks connected calendar providers for current availability/status.
Based on calendar events (vacation, busy, out-of-office, exams, etc.), Synapse dynamically generates an automatic response.
This would allow intelligent autoresponders and automation flows driven by plugins and external integrations.
Proposed Solution
Expand the plugin API toward a provider/service-based architecture.
Instead of Synapse core knowing specific services directly, plugins should register generic provider interfaces.
Possible provider interfaces:
Possible architecture:
Possible plugin flow:
Potential additions to the plugin API:
Example service registration:
Example usage:
Alternatives
These approaches reduce flexibility and make future integrations harder to maintain.
Priority
Medium / High
This is likely important for future automation/orchestration features and for positioning Synapse as more than only an LLM/chat platform.
Additional Notes
The current plugin API foundation is already strong:
PluginContextPluginEventBusSynapsePluginChannelModelProviderThis issue mainly proposes evolving the API into a more generic integration ecosystem over time.