v2026.1 Open Portal ↗
On this page

Notification Router

Router Overview

The StackFlow Notification Router is the event-driven engine that determines who gets notified about what, via which channel. When an ITSM event occurs (incident created, state changed, SLA warning, etc.), the router evaluates configured rules to determine the recipient list and delivery channels. The router supports email (SES), in-portal notifications, SNS fan-out, and webhook delivery.

⚙️ Minimum Requirements
  • DynamoDB: StackFlow_NotificationRule table with event type and condition mappings
  • SQS: StackFlow-NotificationDispatch.fifo queue consumed by StackFlowNotificationRouter Lambda
  • EventBridge: Events bus stackflow-events with rules targeting the notification SQS queue
  • Lambda: StackFlowNotificationRouter with ses:SendEmail and sns:Publish permissions

Notification Events

EventTriggerDefault Recipients
incident.createdNew incident createdReporter, assigned user
incident.assignedAssignment group/user changedNew assignee
incident.state_changedState transitionReporter, assignee
incident.comment_addedPublic comment addedReporter (if from agent)
sla.warningSLA 75% elapsedAssignee, group manager
sla.breachSLA breachedAssignee, manager, escalation group
change.approval_requestedChange awaiting approvalConfigured approver(s)
major_incident.declaredMI declaredIT leadership group

Routing Rules

{
  "notification_rule": {
    "event": "incident.created",
    "conditions": [{"field": "priority", "operator": "in", "value": ["P1", "P2"]}],
    "recipients": [
      {"type": "field", "field": "reporter"},
      {"type": "field", "field": "assigned_user"},
      {"type": "group", "group": "management_oncall"}
    ],
    "channels": ["email", "portal", "sns"],
    "template": "incident_created_priority_high"
  }
}

Channel Configuration

Each notification channel requires separate configuration. Email uses SES templates. In-portal notifications appear in the notification bell in the top bar. SNS delivery fan-outs to subscribed endpoints (email, Lambda, SQS, HTTP, SMS). Webhook delivery sends a POST request to a configured URL with the notification payload as JSON.

Slack Integration: Connect Slack as a notification channel by configuring a webhook URL from your Slack workspace. P1/P2 incidents can post directly to a dedicated #incidents Slack channel with a formatted message including incident details and direct link.

Testing Notifications

Test notification delivery in Admin → Notifications → Test Notification. Select an event type, fill in sample data, and click Send Test. The test notification is delivered via all configured channels for that event type. The delivery status (sent/bounced/failed) is shown in the test result panel.