chore: import upstream snapshot with attribution
dotnet-build-and-test / dotnet-test-functions (push) Has been cancelled
dotnet-build-and-test / paths-filter (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Debug, windows-latest, net9.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net8.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-foundry-hosted-it (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test-check (push) Has been cancelled
dotnet-build-and-test / Integration Test Report (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
dotnet-build-and-test / dotnet-test-functions (push) Has been cancelled
dotnet-build-and-test / paths-filter (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Debug, windows-latest, net9.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net8.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-foundry-hosted-it (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test-check (push) Has been cancelled
dotnet-build-and-test / Integration Test Report (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,164 @@
|
||||
#
|
||||
# This workflow demonstrates using multiple agents to provide automated
|
||||
# troubleshooting steps to resolve common issues with escalation options.
|
||||
#
|
||||
# Example input:
|
||||
# My PC keeps rebooting and I can't use it.
|
||||
#
|
||||
kind: Workflow
|
||||
trigger:
|
||||
|
||||
kind: OnConversationStart
|
||||
id: workflow_demo
|
||||
actions:
|
||||
|
||||
# Interact with user until the issue has been resolved or
|
||||
# a determination is made that a ticket is required.
|
||||
- kind: InvokeAzureAgent
|
||||
id: service_agent
|
||||
conversationId: =System.ConversationId
|
||||
agent:
|
||||
name: SelfServiceAgent
|
||||
input:
|
||||
externalLoop:
|
||||
when: |-
|
||||
=Not(Local.ServiceParameters.IsResolved)
|
||||
And
|
||||
Not(Local.ServiceParameters.NeedsTicket)
|
||||
output:
|
||||
responseObject: Local.ServiceParameters
|
||||
|
||||
# All done if issue is resolved.
|
||||
- kind: ConditionGroup
|
||||
id: check_if_resolved
|
||||
conditions:
|
||||
|
||||
- condition: =Local.ServiceParameters.IsResolved
|
||||
id: test_if_resolved
|
||||
actions:
|
||||
- kind: GotoAction
|
||||
id: end_when_resolved
|
||||
actionId: all_done
|
||||
|
||||
# Create the ticket.
|
||||
- kind: InvokeAzureAgent
|
||||
id: ticket_agent
|
||||
agent:
|
||||
name: TicketingAgent
|
||||
input:
|
||||
arguments:
|
||||
IssueDescription: =Local.ServiceParameters.IssueDescription
|
||||
AttemptedResolutionSteps: =Local.ServiceParameters.AttemptedResolutionSteps
|
||||
output:
|
||||
responseObject: Local.TicketParameters
|
||||
|
||||
# Capture the attempted resolution steps.
|
||||
- kind: SetVariable
|
||||
id: capture_attempted_resolution
|
||||
variable: Local.ResolutionSteps
|
||||
value: =Local.ServiceParameters.AttemptedResolutionSteps
|
||||
|
||||
# Notify user of ticket identifier.
|
||||
- kind: SendActivity
|
||||
id: log_ticket
|
||||
activity: "Created ticket #{Local.TicketParameters.TicketId}"
|
||||
|
||||
# Determine which team for which route the ticket.
|
||||
- kind: InvokeAzureAgent
|
||||
id: routing_agent
|
||||
agent:
|
||||
name: TicketRoutingAgent
|
||||
input:
|
||||
messages: =UserMessage(Local.ServiceParameters.IssueDescription)
|
||||
output:
|
||||
responseObject: Local.RoutingParameters
|
||||
|
||||
# Notify user of routing decision.
|
||||
- kind: SendActivity
|
||||
id: log_route
|
||||
activity: Routing to {Local.RoutingParameters.TeamName}
|
||||
|
||||
- kind: ConditionGroup
|
||||
id: check_routing
|
||||
conditions:
|
||||
|
||||
- condition: =Local.RoutingParameters.TeamName = "Windows Support"
|
||||
id: route_to_support
|
||||
actions:
|
||||
|
||||
# Invoke the support agent to attempt to resolve the issue.
|
||||
- kind: CreateConversation
|
||||
id: conversation_support
|
||||
conversationId: Local.SupportConversationId
|
||||
|
||||
- kind: InvokeAzureAgent
|
||||
id: support_agent
|
||||
conversationId: =Local.SupportConversationId
|
||||
agent:
|
||||
name: WindowsSupportAgent
|
||||
input:
|
||||
arguments:
|
||||
IssueDescription: =Local.ServiceParameters.IssueDescription
|
||||
AttemptedResolutionSteps: =Local.ServiceParameters.AttemptedResolutionSteps
|
||||
externalLoop:
|
||||
when: |-
|
||||
=Not(Local.SupportParameters.IsResolved)
|
||||
And
|
||||
Not(Local.SupportParameters.NeedsEscalation)
|
||||
output:
|
||||
autoSend: true
|
||||
responseObject: Local.SupportParameters
|
||||
|
||||
# Capture the attempted resolution steps.
|
||||
- kind: SetVariable
|
||||
id: capture_support_resolution
|
||||
variable: Local.ResolutionSteps
|
||||
value: =Local.SupportParameters.ResolutionSummary
|
||||
|
||||
# Check if the issue was resolved by support.
|
||||
- kind: ConditionGroup
|
||||
id: check_resolved
|
||||
conditions:
|
||||
|
||||
# Resolve ticket
|
||||
- condition: =Local.SupportParameters.IsResolved
|
||||
id: handle_if_resolved
|
||||
actions:
|
||||
|
||||
- kind: InvokeAzureAgent
|
||||
id: resolution_agent
|
||||
agent:
|
||||
name: TicketResolutionAgent
|
||||
input:
|
||||
arguments:
|
||||
TicketId: =Local.TicketParameters.TicketId
|
||||
ResolutionSummary: =Local.SupportParameters.ResolutionSummary
|
||||
|
||||
- kind: GotoAction
|
||||
id: end_when_solved
|
||||
actionId: all_done
|
||||
|
||||
# Escalate the ticket by sending an email notification.
|
||||
- kind: CreateConversation
|
||||
id: conversation_escalate
|
||||
conversationId: Local.EscalationConversationId
|
||||
|
||||
- kind: InvokeAzureAgent
|
||||
id: escalate_agent
|
||||
conversationId: =Local.EscalationConversationId
|
||||
agent:
|
||||
name: TicketEscalationAgent
|
||||
input:
|
||||
arguments:
|
||||
TicketId: =Local.TicketParameters.TicketId
|
||||
IssueDescription: =Local.ServiceParameters.IssueDescription
|
||||
ResolutionSummary: =Local.ResolutionSteps
|
||||
externalLoop:
|
||||
when: =Not(Local.EscalationParameters.IsComplete)
|
||||
output:
|
||||
autoSend: true
|
||||
responseObject: Local.EscalationParameters
|
||||
|
||||
# All done
|
||||
- kind: EndWorkflow
|
||||
id: all_done
|
||||
Reference in New Issue
Block a user