This workflow demonstrates continue_on_error, which lets a step or action fail without stopping the rest of the workflow — similar to continue-on-error in GitHub Actions.
Use case: enrich an alert with optional data from an external API, then always send a Slack notification regardless of whether the enrichment succeeded.
workflow:
id: continue-on-error-example
description: "Fetch optional enrichment data and always notify via Slack"
triggers:
- type: alert
cel: source.contains("grafana")
steps:
- name: fetch-optional-enrichment
continue_on_error: true
provider:
type: http
config: "{{ providers.internal-api }}"
with:
url: "https://api.example.com/enrich/{{ alert.fingerprint }}"
method: GET
actions:
- name: notify-slack
provider:
type: slack
config: "{{ providers.slack-demo }}"
with:
message: >
Alert: {{ alert.name }}
Enrichment: {{ steps.fetch-optional-enrichment.results | default('unavailable') }}
How it works:
- The
fetch-optional-enrichment step calls an external API. If the API is down or returns an error, the failure is logged as a warning and execution continues.
- The
notify-slack action always runs, using the enrichment results if available or falling back gracefully if not.
The same flag works on actions. In the example below, a best-effort ticket is created in ServiceNow and a Slack message is sent regardless of whether the ticket creation succeeded:
workflow:
id: best-effort-ticket
description: "Create a ServiceNow ticket (best-effort) and always notify Slack"
triggers:
- type: alert
cel: severity == "critical"
actions:
- name: create-ticket
continue_on_error: true
provider:
type: servicenow
config: "{{ providers.servicenow }}"
with:
table_name: INCIDENT
payload:
short_description: "{{ alert.name }}"
description: "{{ alert.description }}"
- name: notify-slack
provider:
type: slack
config: "{{ providers.slack-demo }}"
with:
message: "Critical alert: {{ alert.name }}. A ServiceNow ticket was attempted."
When continue_on_error: true is set, the step or action failure is logged as a warning but does not mark the overall workflow execution as failed.