The Global Event Bus enables decoupled communication between core systems and plugins through a type-safe event system. Core systems emit events when important actions occur, and plugins can react without direct coupling to business logic. Note: This documentation covers the internal backend event bus for plugin communication. If you’re looking for the satellite events system (incoming events from satellites), see Satellite Events.Documentation Index
Fetch the complete documentation index at: https://docs.deploystack.io/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Key features:- Type Safety: Full TypeScript integration with strongly-typed event data
- Plugin Isolation: Secure event listener registration with error isolation
- Performance: Fire-and-forget event processing
- Security: Events cannot be intercepted or modified by plugins
Event Naming Convention
Events follow thedomain.action pattern, aligned with the permission structure:
user.registered,user.login,user.logout,user.updated,user.deletedteam.created,team.updated,team.member_added,team.member_removedsettings.updated,settings.smtp_configured,settings.github_configuredmcp.server_installed,mcp.server_uninstalled,mcp.server_configured
Event Data Structure
Event Constants
Usage in Core Routes
Emit events after successful operations:Plugin Event Listeners
Plugins register event listeners in their configuration:Available Events
Events are emitted for user lifecycle (user.*), team management (team.*), settings changes (settings.*), and MCP operations (mcp.*). Each event includes relevant data and context.
For complete event schemas and data structures, see the event type definitions.
