Plugins Overview
Ever Gauzy uses a plugin-based architecture to extend the platform with optional features, integrations, analytics, and media capture capabilities.
Plugin Architectureโ
Plugins are NestJS dynamic modules registered through the PluginModule system. Each plugin:
- Registers its own entities, services, and controllers
- Can extend existing entities with custom fields
- Runs migrations independently
- Has its own configuration via environment variables
@PluginModule({
imports: [],
entities: [MyEntity],
controllers: [MyController],
providers: [MyService],
})
export class MyPlugin {}
Available Pluginsโ
Integration Pluginsโ
| Plugin | Package | Description |
|---|---|---|
| AI | integration-ai | Gauzy AI assistant, NLP, smart matching |
| GitHub | integration-github | Issue sync, webhooks |
| Upwork | integration-upwork | Time & contract sync |
| HubStaff | integration-hubstaff | Time tracking sync |
| Jira | integration-jira | Issue tracking sync |
| WakaTime | integration-wakatime | Developer metrics |
Automation Pluginsโ
| Plugin | Package | Description |
|---|---|---|
| Zapier | integration-zapier | 5,000+ app automations |
| Make | integration-make-com | Visual workflow builder |
| Activepieces | integration-activepieces | Open-source automation |
Analytics Pluginsโ
| Plugin | Package | Description |
|---|---|---|
| Analytics | jitsu-analytics, posthog | Product analytics, event tracking |
Media & Capture Pluginsโ
| Plugin | Package | Description |
|---|---|---|
| Media Capture | camshot, soundshot, videos | Screenshot, audio, video capture |
Other Pluginsโ
| Plugin | Package | Description |
|---|---|---|
sentry-tracing | sentry-tracing | Error tracking & performance |
changelog | changelog | Release changelog management |
knowledge-base | knowledge-base | Knowledge base / wiki |
product-reviews | product-reviews | Product review system |
job-search | job-search | Job board & search |
job-proposal | job-proposal | Job proposal management |
Plugin Loadingโ
Plugins are loaded in plugin.module.ts:
@Module({
imports: [
PluginModule.init({
plugins: [
IntegrationAIModule,
IntegrationGitHubModule,
SentryTracingModule,
// ... more plugins
],
}),
],
})
export class AppModule {}
Environment-Based Activationโ
Most plugins are controlled by environment variables:
# Enable/disable specific integrations
GAUZY_AI_GRAPHQL_ENDPOINT=http://localhost:3005/graphql
GITHUB_CLIENT_ID=your-github-id
HUBSTAFF_CLIENT_ID=your-hubstaff-id
JIRA_CLIENT_ID=your-jira-id
Developing Custom Pluginsโ
See the Plugin System guide for creating your own plugins.
Related Pagesโ
- Plugin System โ how to build plugins
- Architecture: Plugin System โ plugin architecture
- Custom Integrations โ API-based integrations