Skills

Native Trigger

Guidance for adding native trigger services to Windmill.

Install

npx skills add windmill-labs/windmill --skill native-trigger -g -a claude-code -y
Repository
windmill-labs/windmill18.4k
Category
Design
Updated
3d ago
License
See repository
Context cost
Mediumabout 3,000 tokens
Runs scripts
No, instructions only

What it does

Guidance for adding native trigger services to Windmill. Use when implementing or modifying native trigger integrations across the backend and frontend.

Skill: Adding Native Trigger Services

This skill provides comprehensive guidance for adding new native trigger services to Windmill. Native triggers allow external services (like Nextcloud, Google Drive, etc.) to trigger Windmill scripts/flows via webhooks or push notifications.

Architecture Overview

The native trigger system consists of:

  1. Database Layer - PostgreSQL tables and enum types
  2. Backend Rust Implementation - Core trait, handlers, and service modules in the windmill-native-triggers crate
  3. Frontend Svelte Components - Configuration forms and UI components

Key Files

ComponentPath
Core module with External traitbackend/windmill-native-triggers/src/lib.rs
Generic CRUD handlersbackend/windmill-native-triggers/src/handler.rs
Background sync logicbackend/windmill-native-triggers/src/sync.rs
OAuth/workspace integrationbackend/windmill-native-triggers/src/workspace_integrations.rs
Re-export shim (windmill-api)backend/windmill-api/src/native_triggers/mod.rs
TriggerKind enumbackend/windmill-common/src/triggers.rs
JobTriggerKind enumbackend/windmill-common/src/jobs.rs
Frontend service registryfrontend/src/lib/components/triggers/native/utils.ts
Frontend trigger utilitiesfrontend/src/lib/components/triggers/utils.ts
Trigger badges (icons + counts)frontend/src/lib/components/graph/renderers/triggers/TriggersBadge.svelte
Workspace integrations UIfrontend/src/lib/components/workspaceSettings/WorkspaceIntegrations.svelte
OAuth config form componentfrontend/src/lib/components/workspaceSettings/OAuthClientConfig.svelte
OpenAPI specbackend/windmill-api/openapi.yaml
Reference: Nextcloud modulebackend/windmill-native-triggers/src/nextcloud/
Reference: Google modulebackend/windmill-native-triggers/src/google/

Crate Structure

Read the whole SKILL.md on GitHub

More in Design