Skip to main content

Overview

Monitors let you define rules that watch for failures or other events in your GitHub Actions workflows and alert your team in Slack. Set up conditions like “alert me when this job fails 3 times in a row” or “notify me whenever this step is skipped,” and Blacksmith handles the rest. You can also enable VM retention to keep the runner VM alive when you’re alerted, so you can SSH in to debug issues on the spot. The only setup required is connecting your Slack workspace. Monitor list showing active monitors and their status

Basics

Creating a monitor

Navigate to Monitors in the sidebar and click New Monitor. The creation wizard walks you through each step:
  1. Job selection — select the repository, workflow, job, and optionally a specific step to watch
  2. Set alert condition — choose to alert after a single event or consecutive events, select which conclusions to match, set severity and cooldown, and optionally add log pattern filters or enable VM retention
  3. Notifications — pick Slack channel(s) for alerts
  4. Review — confirm your configuration and create the monitor
Monitor creation wizard with job selection step Monitors can watch job conclusions or step conclusions across one or more jobs. Adding a step filter narrows alerting to matching steps — otherwise the monitor watches job-level conclusions.

Job selection

Choose what the monitor watches using any combination of:
  • Repository — the repository to watch
  • Workflow — workflow names
  • Job name — job names within a workflow
Optional filters for further refinement:
  • Step name — narrow the monitor to a specific step within a job
  • Branch — only alert on events from these branches
  • Exclude branch — never alert on events from these branches (e.g., staging or dependabot branches)
All filters support Unix glob-style wildcard patterns:
PatternMatches
*Everything
deploy*Anything starting with “deploy”
*-testAnything ending with “-test”
buildExact match only

Alert condition

Alert after

  • Single event — send an alert each time a matching conclusion occurs
  • Consecutive events — only alert after N matching conclusions in a row, reducing noise for flaky jobs

Cooldown

Each monitor has a cooldown period (default 60 minutes) to prevent alert spam. After an alert fires, subsequent matches are suppressed until the cooldown expires. Resolving a monitor resets the cooldown immediately.

Log pattern filters

Optionally require that job or step logs contain specific patterns before triggering an alert. Each pattern uses RE2 regex syntax with an optional case-sensitivity toggle. You can add up to 10 patterns per monitor. This is useful for alerting on specific error messages (e.g., OutOfMemory, SIGKILL) rather than all failures.

Notifications

Slack alerts

When a monitor fires, Blacksmith sends a message to your configured Slack channel(s) with:
  • Severity badge and monitor name (links to the monitor detail page)
  • Repository, workflow, job, and branch context
  • Conclusion and timestamp
  • View Job/Step button — links directly to the job or step in GitHub Actions
  • Resolve button — clears the alert state and resets the cooldown
  • Mute button — mute the monitor directly from Slack
Slack alert message with severity badge and action buttons Alerts are color-coded by severity: red for critical, yellow for warning, blue for info.
Clicking a Slack button requires your Slack account to be linked to Blacksmith. If it isn’t, you’ll be prompted to connect it from your settings page.

Managing monitors

Muting

Mute a monitor to temporarily suppress alerts and VM retentions without deleting the monitor. Mute from the dashboard or directly from the Slack alert button, and unmute from the dashboard when you’re ready to resume alerting.

Resolving

Resolve a monitor to clear its current alert state and reset the cooldown timer. This is useful when you’ve addressed the underlying issue and want to start fresh. Resolve from the dashboard or the Slack alert button.

Editing and deleting

Edit any monitor’s configuration from the dashboard — filters, conditions, notifications, and retention settings can all be updated. Delete monitors that are no longer needed from the monitor’s action menu.

VM retention

Monitors can optionally keep VMs alive when an alert is triggered so you can SSH in and debug the issue. The Slack alert includes an SSH connection string so you can connect immediately, e.g. ssh -p 2222 [email protected].
  • Job-level retention — keeps the VM alive for up to 8 hours after the job completes. End retention from the monitor’s page or by running the following while SSH’d into the VM: Linux:
    sudo reboot
    
    Windows:
    shutdown /s /f /t 0
    
  • Step-level retention — pauses the job at the matched step for up to 6 hours. Run the following while SSH’d into the VM to resume the job:
    continue_step
    
VM retention requires a cooldown of at least 60 minutes. Step-level monitors do not support VM retention on cancelled or skipped steps.
For more on SSH access, see SSH Access. For VM retention billing details, see Pricing.

Severity levels

Choose a severity level when creating a monitor to indicate priority:
  • Critical — high-priority failures requiring immediate attention
  • Warning — notable failures that should be investigated
  • Info — informational alerts for tracking purposes
Severity affects the color of the Slack alert and the badge shown in the dashboard.

Permissions

  • Organization admins can create and manage monitors for any repository
  • Users with write access can create monitors for repositories they have access to
  • All organization members can view monitors for repositories they have access to

Pricing

There is no additional cost for using monitors. If you enable VM retention, the billing depends on the retention type:
  • Job-level retention keeps the VM alive after the GitHub Actions job completes. Since the VM runs beyond the job’s lifecycle, retention time is billed separately at the same rate as runner minutes.
  • Step-level retention pauses the job at the matched step while the GitHub Actions job is still running. Retention time is billed as part of the job’s normal runner minutes.
For all other pricing, please visit our pricing page.

FAQ

Navigate to Settings > Integrations and click Link Account to connect your Slack workspace. Once connected, you can select Slack channels when creating monitors.
Yes. When creating a monitor, add a step name filter to narrow it to a specific step. You can use exact matches or wildcard patterns (e.g., Run tests*).
A few strategies:
  • Use consecutive events to only alert after N matches in a row, filtering out one-off flakes
  • Set an appropriate cooldown period to limit how often a monitor can fire
  • Mute monitors temporarily during known maintenance windows
  • Use job selection filters to narrow monitors to specific workflows, jobs, and branches
  • Add log pattern filters to only alert on specific error messages
Enable VM retention when creating your monitor. When the monitor fires, the VM stays alive and the Slack alert includes an SSH connection string for immediate access.
Let us know by opening a support ticket.