Platform

Platform overviewArchitectureWorkflow orchestrationGitOps configurationGovernance and AAAAI and MCPKnowledge and contextRuntime and executionEvidence and monitoring

Use cases

All use casesProduction incidentRelease preparationHotfix to productionSecurity scan triage
Why NopsAIIntegrationsSecurity

Resources

All resourcesAI agent governanceMCP governanceMCP securitySelf-hosted platforms
PricingGitHub

Company

How a run worksAboutContactBook a demo

Schedules

Cron and one-time schedules, their ownership, and the variables they supply.

ReferenceAutomation authorOperator

Key points

  • schedule_kind is cron or once, defaulting to cron.
  • cron_expression is required for cron schedules; the API also accepts cron as an alias.
  • run_at is required for one-time schedules and must be in the future while enabled.
  • timezone is an IANA name and defaults to UTC.
  • run_team_path sets the resulting run ownership and notification lineage; global means no concrete team.
  • Disabled schedules stay visible in the registry rather than disappearing.

Field reference

nameschedulestringRequiredNone

Schedule name, unique within its team path.

Example

name: nightly-report

Evidence

services/nopsai/config_repository_resource_export.go

descriptionschedulestringOptionalNone

Human-readable purpose shown in the schedule registry.

Example

description: Nightly compliance report for the payments team.

pipelineschedulestringRequiredNone

Stored pipeline identifier the schedule runs.

Example

pipeline: platform/compliance-report

Evidence

services/nopsai/config_repository_resource_export.go

schedule_kindschedulestringOptionalcron

Whether the schedule repeats on a cron expression or fires once.

Example

schedule_kind: once

Allowed values

cron, once

Evidence

services/nopsai/config_repository_resource_export.go

cron_expressionschedulestringConditionalNone

Cron expression for repeating schedules. The API also accepts cron as an alias.

Example

cron_expression: "0 2 * * *"

Rules
  • Required when schedule_kind: cron.
run_atscheduletimestampConditionalNone

Single execution timestamp for one-time schedules.

Example

run_at: "2026-09-01T02:00:00Z"

Rules
  • Required when schedule_kind: once.
  • An enabled one-time schedule must be in the future.
timezoneschedulestringOptionalUTC

IANA timezone used to interpret the cron expression or timestamp.

Example

timezone: Europe/Amsterdam

Evidence

services/nopsai/config_repository_resource_export.go

enabledschedulebooleanRequiredNone

Whether the schedule is active. Disabled schedules stay visible in the registry.

Example

enabled: true

scopeschedulestringOptionalDefault runtime scope

Runtime scope used to resolve variables and secrets for scheduled runs.

Example

scope: platform/production

run_team_pathschedulestringOptionalglobal

Team path applied to the resulting Pipeline Run for ownership and notification lineage. global means no concrete team assignment.

Example

run_team_path: platform/payments

Rules
  • The Schedules UI groups the registry by this value, falling back to the schedule path for older rows.
Evidence

services/nopsai/config_repository_resource_export.go

variablesschedulemap<string,string>OptionalNone

Run variable overrides supplied by the schedule.

Example

variables:
  REPORT_WINDOW: 24h

Examples

Nightly report in a local timezoneyaml
name: nightly-compliance-report
pipeline: platform/compliance-report
schedule_kind: cron
cron_expression: "0 2 * * *"
timezone: Europe/Amsterdam
enabled: true
scope: platform/production
run_team_path: platform/payments
variables:
  REPORT_WINDOW: 24h

How it works

The Schedules workspace groups by run_team_path when present, falling back to the schedule path for older rows. The registry table stays focused on name, pipeline, cadence, next run, and latest status, with the status linking straight to the run detail when a run exists.

Selecting a schedule navigates to /schedules/<resource path/name>. The detail panel owns mutations, ownership, GitOps source, runtime scope, run team, and variables.

A schedule can be run immediately outside its cadence with POST /v1/schedules/{scheduleID}/run, which is useful for verifying a new cron rule.

Implementation evidence

  • services/nopsai/config_repository_resource_export.go

    Schedule GitOps document schema.