CRON schedulingVisual Builder, Recurring Execution
Schedule recurring integration executions with an interactive CRON builder, link to specific endpoints via a hierarchical picker, and manage schedules with ownership-based access control.
CRON-Based Schedules recurring integration execution
An AG Grid listing all schedules with name, human-readable schedule text, linked integration, ownership, active status, and creation date.

- AG Grid columns: Name, Schedule (human-readable CRON text), Integration, Owner, Active, Created
- CRON expressions converted to readable text via getCronText()
- Active status shown as green "Active" or gray "Inactive" badge
- Organization-scoped: all schedules filtered by current organization
Interactive CRON Builder visual schedule editor
An interactive CRON builder UI with human-readable preview. Set minute, hour, day, month, and weekday expressions visually instead of writing raw CRON syntax.

- Interactive CRON builder UI via @vpfaiz/cron-builder-ui
- Human-readable preview of the generated CRON expression
- Default schedule: 0 * * * * (every hour)
- Fields: Name, Description, Schedule, Integration, Active checkbox
Hierarchical Integration Picker API → Controller → Endpoint
A multi-step integration picker for linking schedules to specific endpoints. Select an API, then a Controller from the auto-populated list, then an Endpoint showing path and integration name.

- Multi-step hierarchical selection: API → Controller → Endpoint
- Auto-selects Controller if only one available
- Endpoint list shows path and integration name
- Selected integration displayed as a styled badge in the form
Ownership & Access creator owns, admins override
Ownership-based access control consistent with secrets and connections. Creators own their schedules, non-owners see a warning banner with disabled fields and hidden submit/delete buttons.

- Creator becomes owner with full modify and delete permissions
- Non-owners see amber warning with disabled fields and hidden submit/delete buttons
- Delete confirmation requires typing "delete" exactly
- Role-based access: Integrator, Admin, or SuperAdmin