Files
Chris 904a5b843e Python / .NET Samples - Restructure and Improve Samples (Feature Branc… (#4092)
* Python: .NET Samples - Restructure and Improve Samples (Feature Branch) (#4091)

* Moved by agent (#4094)

* Fix readme links

* .NET Samples - Create `04-hosting` learning path step (#4098)

* Agent move

* Agent reorderd

* Remove A2A section from README 

Removed A2A section from the Getting Started README.

* Agent fixed links

* Fix broken sample links in durable-agents README (#4101)

* Initial plan

* Fix broken internal links in documentation

Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

* Revert template link changes; keep only durable-agents README fix

Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

* .NET Samples - Create `03-workflows` learning path step (#4102)

* Fix solution project path

* Python: Fix broken markdown links to repo resources (outside /docs) (#4105)

* Initial plan

* Fix broken markdown links to repo resources

Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

* Update README to rename .NET Workflows Samples section

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

* .NET Samples - Create `02-agents` learning path step (#4107)

* .NET: Fix broken relative link in GroupChatToolApproval README (#4108)

* Initial plan

* Fix broken link in GroupChatToolApproval README

Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

* Update labeler configuration for workflow samples

* .NET - Reorder Agents samples to start from Step01 instead of Step04 (#4110)

* Fix solution

* Resolve new sample paths

* Move new AgentSkills and AgentWithMemory_Step04 samples

* Fix link

* Fix readme path

* fix: update stale dotnet/samples/Durable path reference in AGENTS.md

Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>

* Moved new sample

* Update solution

* Resolve merge (new sample)

* Sync to new sample - FoundryAgents_Step21_BingCustomSearch

* Updated README

* .NET Samples - Configuration Naming Update (#4149)

* .NET: Restore AzureFunctions index parity with ConsoleApps under DurableAgents samples (#4221)

* Clean-up `05_host_your_agent`

* Config setting consistency

* Refine samples

* AGENTS.md

* Move new samples

* Re-order samples

* Move new project and fixup solution

* Fixup model config

* Fix up new UT project

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2026-02-26 00:56:10 +00: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