Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.devhelm.io/llms.txt

Use this file to discover all available pages before exploring further.

Tags are coloured labels you attach to monitors, alert channels, notification policies, and other resources. They are the workhorse primitive for filtering dashboards, routing alerts, and slicing reports without inventing rigid hierarchies.
Tags vs environments vs resource groups. Tags are attributes (e.g. team=payments). Environments are deployment stages with variable substitution. Resource groups are membership sets with composite health. Use whichever matches the question you’re answering.

Model

PropertyNotes
nameUnique within the organization. Conventionally lowercase, hyphenated (payments, customer-facing, tier-1).
colorOptional hex code (e.g. #10b981). Used for visual grouping in lists and incident timelines.
idNumeric identifier. Tags are referenced by name in YAML and CLI flags but by id in REST responses.
DevHelm tags are flat — there are no nested or hierarchical tags. Express hierarchy by convention (tier-1, tier-2) or by combining tags (team=payments + tier-1).

What you can tag

ResourceTag effect
MonitorsSurface in tag-filtered dashboards; fed into notification policy match conditions.
Alert channelsGroup channels for organizational filtering (no routing impact — channels route based on the policy that selects them).
Notification policiesHelp organize policy rules in the dashboard list view.
Resource groupsDiscoverability and reporting.

Common tagging strategies

A small, opinionated taxonomy beats a sprawling one. The strategies below tend to age well:
DimensionExample tagsPurpose
Team / ownershipteam-payments, team-platformWho pages on incidents from this monitor
Tier / criticalitytier-1, tier-2, tier-3Drives escalation severity and notification routing
Customer surfacecustomer-facing, internalStatus-page inclusion, SLO scope
Layerfrontend, api, database, infraPostmortem grouping, ownership rotation
Compliancepci, soc2, gdprScoped audit reports
Resist the urge to tag for every possible filter; you can always add a tag later, but you cannot easily reclaim a 50-tag soup.

Routing alerts by tag

Tags become powerful when paired with notification policies. A policy can match on any combination of tags and direct matching incidents to specific channels and escalation chains:
notification-policies:
  - name: Payments tier-1 → PagerDuty
    match:
      tags: [team-payments, tier-1]
    channels: [pagerduty-payments]
    escalation: tier-1-rotation
Walkthrough: Alert routing by tag guide.

Managing tags

  1. Open Settings → Tags.
  2. Click Create Tag, choose a name and (optionally) a color.
  3. Apply tags from the monitor / channel / policy detail pages, or in bulk from list views.

Lifecycle and constraints

  • Renaming a tag updates references everywhere automatically — IDs stay stable.
  • Deleting a tag removes it from every resource it’s attached to. Notification policy match conditions referencing the deleted tag are flagged as broken in the dashboard until edited.
  • Tag names are unique within the workspace. Two tags with the same name cannot coexist.
  • Tags are workspace-scoped. They do not leak across workspaces.

Reporting and exports

  • Filter list views by tag combinations on monitors, incidents, alert channels, and notification policies.
  • Audit log search can filter by subject.tags for tag-scoped activity reviews.
  • REST API supports ?tagId=42 query params on most list endpoints — useful for building custom dashboards or feeding tag-filtered data into BI tools.

Next steps

Alert routing by tag

Build tag-driven notification policies.

Notification policies

Match on tags to route alerts.

Resource groups

Compare composite health vs flat tagging.

tags CLI

Manage from the command line.