Files
wehub-resource-sync db620d33df
CodeQL / Analyze (csharp) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
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
chore: import upstream snapshot with attribution
2026-07-13 13:39:25 +08:00

98 lines
2.8 KiB
YAML

#
# This workflow demonstrates providing input arguments to an agent.
#
# Example input:
# I'd like to go on vacation.
#
kind: Workflow
trigger:
kind: OnConversationStart
id: workflow_demo
actions:
# Capture the original user message for input to the location-aware agent
- kind: SetVariable
id: set_count_increment
variable: Local.InputMessage
value: =System.LastMessage
# Invoke the triage agent to determine location requirements
- kind: InvokeAzureAgent
id: solicit_input
conversationId: =System.ConversationId
agent:
name: LocationTriageAgent
input:
messages: =Local.ActionMessage
output:
messages: Local.TriageResponse
# Request input from the user based on the triage response
- kind: RequestExternalInput
id: request_requirements
variable: Local.NextInput
# Capture the most recent interaction for evaluation
- kind: SetTextVariable
id: set_status_message
variable: Local.LocationStatusInput
value: |-
AGENT - {MessageText(Local.TriageResponse)}
USER - {MessageText(Local.NextInput)}
# Evaluate the status of the location triage
- kind: InvokeAzureAgent
id: evaluate_location
agent:
name: LocationCaptureAgent
input:
messages: =UserMessage(Local.LocationStatusInput)
output:
responseObject: Local.LocationResponse
# Determine if the location information is complete
- kind: ConditionGroup
id: check_completion
conditions:
- condition: |-
=Local.LocationResponse.is_location_defined = false Or
Local.LocationResponse.is_location_confirmed = false
id: check_done
actions:
# Capture the action message for input to the triage agent
- kind: SetVariable
id: set_next_message
variable: Local.ActionMessage
value: =AgentMessage(Local.LocationResponse.action)
- kind: GotoAction
id: goto_solicit_input
actionId: solicit_input
elseActions:
# Create a new conversation so the prior context does not interfere
- kind: CreateConversation
id: conversation_location
conversationId: Local.LocationConversationId
# Invoke the location-aware agent with the location argument
# and loop until the user types "EXIT"
- kind: InvokeAzureAgent
id: location_response
conversationId: =Local.LocationConversationId
agent:
name: LocationAwareAgent
input:
messages: =Local.InputMessage
arguments:
location: =Local.LocationResponse.place
externalLoop:
when: =Upper(System.LastMessage.Text) <> "EXIT"
output:
autoSend: true