Pular para o conteúdo principal

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

PluginPackageDescription
AIintegration-aiGauzy AI assistant, NLP, smart matching
GitHubintegration-githubIssue sync, webhooks
Upworkintegration-upworkTime & contract sync
HubStaffintegration-hubstaffTime tracking sync
Jiraintegration-jiraIssue tracking sync
WakaTimeintegration-wakatimeDeveloper metrics

Automation Plugins

PluginPackageDescription
Zapierintegration-zapier5,000+ app automations
Makeintegration-make-comVisual workflow builder
Activepiecesintegration-activepiecesOpen-source automation

Analytics Plugins

PluginPackageDescription
Analyticsjitsu-analytics, posthogProduct analytics, event tracking

Media & Capture Plugins

PluginPackageDescription
Media Capturecamshot, soundshot, videosScreenshot, audio, video capture

Other Plugins

PluginPackageDescription
sentry-tracingsentry-tracingError tracking & performance
changelogchangelogRelease changelog management
knowledge-baseknowledge-baseKnowledge base / wiki
product-reviewsproduct-reviewsProduct review system
job-searchjob-searchJob board & search
job-proposaljob-proposalJob 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.