Overview
Event Orchestration is PagerDuty’s powerful event processing engine that allows you to:- Route events to the appropriate services
- Suppress noisy or low-priority alerts
- Enrich events with additional context
- Transform event data before creating incidents
- Deduplicate related events
- Router: Initial entry point that routes events to services or global orchestration
- Global: Account-level rules applied before service orchestration
- Service: Service-specific rules for final event processing
Understanding Event Orchestrations
List All Orchestrations
View all event orchestrations in your account:list_event_orchestrations tool returns orchestration names, IDs, and integration details.
Get Orchestration Details
Retrieve information about a specific orchestration:get_event_orchestration tool provides:
- Orchestration name and description
- Integration key for sending events
- Associated routes and services
Working with Router Configuration
The router is the first layer that processes incoming events and determines where they should go.View Router Rules
Check the current router configuration:get_event_orchestration_router tool displays:
- Routing rules in priority order
- Conditions that trigger each route
- Destination services or catch-all behavior
Understanding Router Rules
Each router rule consists of: Conditions: Criteria that must be met for the rule to apply- Field path (e.g.,
event.source,event.severity) - Operator (e.g.,
equals,contains,matches) - Expected value
- route_to: Service ID to receive the event
- severity: Set event severity
- event_action:
trigger,resolve, orsuppress - variables: Extract data for use in later rules
Updating Router Configuration
Replace Router Configuration
Update the entire router configuration:update_event_orchestration_router tool allows you to replace all router rules at once.
Add a New Routing Rule
Append a routing rule to the end of the existing rules:append_event_orchestration_router_rule tool requires:
label: Human-readable name for the rule
conditions: Array of condition objects:
Working with Global Orchestration
Global orchestration rules apply to all events after routing but before service orchestration.View Global Rules
Check the global orchestration configuration:get_event_orchestration_global tool returns:
- Global processing rules
- Enrichment and transformation logic
- Suppression rules
Global Rule Use Cases
Enrichment: Add context to all events- Attach runbook links
- Add team contact information
- Include environment details
- Convert severity levels
- Standardize field names
- Format timestamps
- Filter test environment alerts
- Suppress known maintenance windows
- Drop low-priority informational events
Working with Service Orchestration
Service orchestration is the final processing stage before incident creation.View Service Rules
Check orchestration rules for a specific service:get_event_orchestration_service tool displays service-specific rules.
Service Rule Capabilities
Severity Mapping: Adjust incident urgency- Map alert severities to incident priorities
- Elevate critical alerts to high urgency
- Lower priority for known issues
- Use custom deduplication keys
- Group by service component
- Merge based on error patterns
- Parse log messages
- Extract error codes
- Identify affected customers
- Auto-resolve expected patterns
- Suppress during maintenance
- Route to specific escalation policies
Common Orchestration Patterns
Route by Source
Direct events from different monitoring tools to appropriate services:Route by Severity
Send critical alerts to a dedicated service:Route by Environment
Separate production from non-production:Suppress Test Alerts
Filter out test environment noise:Route by Service Name
Parse service names from event data:Best Practices
Order rules by specificity
Order rules by specificity
Place more specific rules at the top:
- Exact matches and complex conditions
- Partial matches and wildcards
- Broad catches and defaults
- Catch-all rule at the bottom
Use clear rule labels
Use clear rule labels
Name rules descriptively:
- ✅ “Route critical API alerts to primary service”
- ❌ “Rule 1”
- Understanding routing logic
- Debugging issues
- Team collaboration
Test rules before deploying
Test rules before deploying
When adding new rules:
- Review existing rules for conflicts
- Consider rule priority order
- Test with sample events
- Monitor for unexpected routing
Keep router rules simple
Keep router rules simple
The router should do minimal processing:
- Route to the correct service
- Basic severity mapping
- Simple suppressions
Document your orchestration logic
Document your orchestration logic
Maintain documentation that explains:
- Why each rule exists
- What conditions trigger it
- Expected behavior
- Who to contact for changes
Use variables for reusable data
Use variables for reusable data
Extract common values into variables:
- Reduces duplication
- Makes rules more maintainable
- Enables dynamic routing
Monitor orchestration effectiveness
Monitor orchestration effectiveness
Regularly review:
- Suppression rates (too high = missing alerts)
- Routing accuracy (events reaching correct services)
- Rule match rates (unused rules = unnecessary complexity)
Troubleshooting
Events Not Routing Correctly
- Check rule order: Rules are evaluated top-to-bottom
- Verify conditions: Ensure condition syntax is correct
- Test expressions: Use sample event data to validate
- Check service IDs: Confirm route_to values are valid service IDs
Too Many Events Suppressed
- Review suppression rules: Check conditions aren’t too broad
- Check rule priority: Ensure suppression rules are appropriately ordered
- Validate conditions: Confirm suppression conditions match intent
Events Not Being Enriched
- Verify global orchestration: Check global rules are configured
- Check field paths: Ensure custom field names are correct
- Review service orchestration: Verify service rules aren’t overriding globals
Changes Not Taking Effect
- Confirm update succeeded: Check tool response for errors
- Verify orchestration ID: Ensure you’re updating the correct orchestration
- Test with new event: Send a test event to verify routing
- Check integration key: Ensure events are sent to the correct integration