Skip to content

[➕ Feature]: Workflow triggers for maintenance window lifecycle events (created, started, ended) #6532

@ausias-armesto

Description

@ausias-armesto

Is your feature request related to a problem? Please describe.
I would like to use Keep to inform stakeholders about maintenance windows and expected alert suppression periods

Describe the solution you'd like

When a maintenance window is created, starts, or ends in Keep, there is currently no way to automatically trigger a workflow for those lifecycle events. This means teams cannot receive notifications (e.g. Slack, PagerDuty) about planned and open interventions without manual workflows or external tooling.

When a deployment or planned intervention is scheduled:

  1. On creation — notify the team that a maintenance window has been planned (name, description, affected scope, scheduled start/end)
  2. On start — notify the team that the maintenance window is now active and alerts are suppressed
  3. On end — notify the team that the maintenance window has ended and normal alert monitoring has resumed

This allows teams to keep stakeholders informed about deployments and expected alert suppression periods directly from Keep, without relying on external CI/CD pipelines or external tools.

Proposed Solution

Add a maintenance_window trigger type to the workflow engine, similar to how alert and incident triggers work:

triggers:
  - type: maintenance_window
    filters:
      - key: status
        value: created   # or: started, ended

The trigger context would expose maintenance window attributes for use in action templates:

actions:
  - name: notify-slack
    provider:
      type: http
      with:
        body: >-
          Maintenance window "{{ maintenance_window.name }}" started.
          Affected: {{ maintenance_window.cel_query }}
          Ends at: {{ maintenance_window.end_time }}

Current Workaround

The only current approximation is an interval polling workflow that repeatedly calls GET /maintenance and compares timestamps — this is fragile, requires deduplication logic not easily expressible in Keep's workflow DSL, and produces imprecise timing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions