Custom Integrations
Build custom integrations using Gauzy's plugin system and API.
Plugin-Based Integrationsโ
Create a NestJS module that registers as an integration:
@Module({
imports: [IntegrationModule],
providers: [CustomIntegrationService],
controllers: [CustomIntegrationController],
})
export class PluginCustomIntegrationModule {}
Integration Entityโ
Register your integration type:
const integration = await this.integrationTypeService.create({
name: "Custom Service",
groupName: "Custom",
order: 100,
icon: "custom-icon",
redirectUrl: "/integrations/custom/setup",
});
API-Based Integrationsโ
REST APIโ
Use the standard REST API to build external integrations:
# Create time log from external system
POST /api/timesheet/time-log
Authorization: Bearer <token>
Content-Type: application/json
{
"startedAt": "2024-01-15T09:00:00Z",
"stoppedAt": "2024-01-15T10:00:00Z",
"source": "BROWSER_EXTENSION",
"projectId": "project-uuid",
"taskId": "task-uuid"
}
GraphQL APIโ
mutation CreateTimeLog($input: TimeLogCreateInput!) {
createTimeLog(input: $input) {
id
duration
startedAt
stoppedAt
}
}
Webhooksโ
Subscribe to events via the webhook system:
POST /api/integration/webhook
{
"url": "https://your-service.com/webhook",
"events": ["time_log.created", "task.updated"],
"secret": "your-webhook-secret"
}
MCP Integrationโ
For AI-powered integrations, use the MCP Server:
- 323+ available tools
- OAuth 2.0 authentication
- HTTP, WebSocket, and Stdio transports
Related Pagesโ
- Integrations Overview
- API Overview โ REST and GraphQL API
- MCP Server โ AI integration