Homeโ€บ๐Ÿ”” Alerting & Automationโ€บModule 131 min read ยท 14/21

Alerting Profiles โ†’ Workflows

Hands-on2 exercises

Alerting Profiles โ†’ Workflows

Gen2 used a two-step notification system: alerting profiles (filter which problems) + problem notifications (send to channel). Gen3 replaces both with Workflows โ€” a single, powerful automation engine.

Migration Path

GEN2                                    GEN3
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Alerting profile:                       Workflow trigger:
  Severity filter (ERROR only)            Davis problem trigger
  Management zone filter                  + DQL filter in first task
  Tag filter                              + condition on task

Problem notification:                   Workflow action:
  Email integration                       dynatrace.email:send-email
  Slack webhook                           dynatrace.slack:slack-send-message
  PagerDuty integration                   HTTP action โ†’ PagerDuty API
  ServiceNow integration                  dynatrace.jira:jira-create-issue
  Custom webhook                          HTTP action โ†’ any URL

Workflow Example: Problem โ†’ Email

{
  "title": "Problem Alert Email",
  "trigger": {
    "eventTrigger": {
      "isActive": true,
      "triggerConfiguration": {
        "type": "davis-problem",
        "value": {"categories": {"error": true, "availability": true}}
      }
    }
  },
  "tasks": {
    "send_email": {
      "name": "send_email",
      "action": "dynatrace.email:send-email",
      "input": {
        "to": ["ops@company.com"],
        "cc": [],
        "bcc": [],
        "subject": "Problem: {{ event()['event.name'] }}",
        "content": "**Problem:** {{ event()['event.name'] }}\n**Status:** {{ event()['event.status'] }}"
      }
    }
  }
}

Workflow Advantages Over Classic Notifications

  • DQL enrichment โ€” query additional context before notifying
  • JavaScript logic โ€” format messages, make decisions, calculate severity
  • Conditional branching โ€” different actions based on problem type
  • Multiple channels โ€” email + Slack + Jira in one workflow
  • Auto-remediation โ€” take action, not just notify
  • Schedule triggers โ€” daily reports, weekly summaries

Email Action Rules

Field       Required  Notes
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
to          Yes       Array of email strings
cc          Yes       Must be [] (empty array, not omitted!)
bcc         Yes       Must be [] (empty array, not omitted!)
subject     Yes       String, supports Jinja: {{ event()['field'] }}
content     Yes       Markdown body (NOT "body" or "message")