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.
Basics
Creating a monitor
Navigate to Monitors in the sidebar and click New Monitor. The creation wizard walks you through each step:- Job selection — select the repository, workflow, job, and optionally a specific step to watch
- 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
- Notifications — pick Slack channel(s) for alerts
- Review — confirm your configuration and create the monitor

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
- 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)
| Pattern | Matches |
|---|---|
* | Everything |
deploy* | Anything starting with “deploy” |
*-test | Anything ending with “-test” |
build | Exact 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

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:
Windows:
-
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:
VM retention requires a cooldown of at least 60 minutes. Step-level monitors do not support VM retention on cancelled or skipped steps.
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
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.
FAQ
How do I connect Slack?
How do I connect Slack?
Navigate to Settings > Integrations and click Link Account to connect your Slack workspace. Once connected, you can select Slack channels when creating monitors.
Can I monitor specific steps within a job?
Can I monitor specific steps within a job?
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*).How do I avoid alert fatigue?
How do I avoid alert fatigue?
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
How do I debug a failed job after it completes?
How do I debug a failed job after it completes?
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.
How can I get help with monitors?
How can I get help with monitors?
Let us know by opening a support ticket.