Skip to content

Commit eeb8644

Browse files
authored
.NET Samples - Create 03-workflows learning path step (#4102)
1 parent 160cc63 commit eeb8644

File tree

128 files changed

+444
-252
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+444
-252
lines changed

dotnet/README.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
# Get Started with Microsoft Agent Framework for C# Developers
22

3-
## Samples
4-
5-
- [Getting Started with Agents](./samples/GettingStarted/Agents): basic agent creation and tool usage
6-
- [Agent Provider Samples](./samples/GettingStarted/AgentProviders): samples showing different agent providers
7-
- [Workflow Samples](./samples/GettingStarted/Workflows): advanced multi-agent patterns and workflow orchestration
8-
93
## Quickstart
104

115
### Basic Agent - .NET
@@ -30,7 +24,7 @@ Console.WriteLine(await agent.RunAsync("Write a haiku about Microsoft Agent Fram
3024

3125
- [Getting Started with Agents](./samples/GettingStarted/Agents): basic agent creation and tool usage
3226
- [Agent Provider Samples](./samples/GettingStarted/AgentProviders): samples showing different agent providers
33-
- [Workflow Samples](./samples/GettingStarted/Workflows): advanced multi-agent patterns and workflow orchestration
27+
- [Workflow Samples](./samples/03-workflows): advanced multi-agent patterns and workflow orchestration
3428

3529
## Agent Framework Documentation
3630

dotnet/agent-framework-dotnet.slnx

Lines changed: 74 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,79 @@
1616
<Project Path="samples/01-get-started/06_host_your_agent/06_host_your_agent.csproj" />
1717
</Folder>
1818
<Folder Name="/Samples/02-agents/" />
19-
<Folder Name="/Samples/03-workflows/" />
19+
<Folder Name="/Samples/03-workflows/">
20+
<File Path="samples/03-workflows/README.md" />
21+
</Folder>
22+
<Folder Name="/Samples/03-workflows/Concurrent/">
23+
<Project Path="samples/03-workflows/Concurrent/Concurrent/Concurrent.csproj" />
24+
<Project Path="samples/03-workflows/Concurrent/MapReduce/MapReduce.csproj" />
25+
</Folder>
26+
<Folder Name="/Samples/03-workflows/ConditionalEdges/">
27+
<Project Path="samples/03-workflows/ConditionalEdges/01_EdgeCondition/01_EdgeCondition.csproj" />
28+
<Project Path="samples/03-workflows/ConditionalEdges/02_SwitchCase/02_SwitchCase.csproj" />
29+
<Project Path="samples/03-workflows/ConditionalEdges/03_MultiSelection/03_MultiSelection.csproj" />
30+
</Folder>
31+
<Folder Name="/Samples/03-workflows/Declarative/">
32+
<File Path="samples/03-workflows/Declarative/README.md" />
33+
<Project Path="samples/03-workflows/Declarative/ConfirmInput/ConfirmInput.csproj" />
34+
<Project Path="samples/03-workflows/Declarative/CustomerSupport/CustomerSupport.csproj" />
35+
<Project Path="samples/03-workflows/Declarative/DeepResearch/DeepResearch.csproj" />
36+
<Project Path="samples/03-workflows/Declarative/ExecuteCode/ExecuteCode.csproj" />
37+
<Project Path="samples/03-workflows/Declarative/ExecuteWorkflow/ExecuteWorkflow.csproj" />
38+
<Project Path="samples/03-workflows/Declarative/FunctionTools/FunctionTools.csproj" />
39+
<Project Path="samples/03-workflows/Declarative/GenerateCode/GenerateCode.csproj" />
40+
<Project Path="samples/03-workflows/Declarative/HostedWorkflow/HostedWorkflow.csproj" />
41+
<Project Path="samples/03-workflows/Declarative/InputArguments/InputArguments.csproj" />
42+
<Project Path="samples/03-workflows/Declarative/InvokeFunctionTool/InvokeFunctionTool.csproj" />
43+
<Project Path="samples/03-workflows/Declarative/Marketing/Marketing.csproj" />
44+
<Project Path="samples/03-workflows/Declarative/StudentTeacher/StudentTeacher.csproj" />
45+
<Project Path="samples/03-workflows/Declarative/ToolApproval/ToolApproval.csproj" />
46+
</Folder>
47+
<Folder Name="/Samples/03-workflows/Declarative/Examples/">
48+
<File Path="../workflow-samples/CustomerSupport.yaml" />
49+
<File Path="../workflow-samples/DeepResearch.yaml" />
50+
<File Path="../workflow-samples/Marketing.yaml" />
51+
<File Path="../workflow-samples/MathChat.yaml" />
52+
<File Path="../workflow-samples/README.md" />
53+
<File Path="../workflow-samples/wttr.json" />
54+
</Folder>
55+
<Folder Name="/Samples/03-workflows/SharedStates/">
56+
<Project Path="samples/03-workflows/SharedStates/SharedStates.csproj" />
57+
</Folder>
58+
<Folder Name="/Samples/03-workflows/Loop/">
59+
<Project Path="samples/03-workflows/Loop/Loop.csproj" />
60+
</Folder>
61+
<Folder Name="/Samples/03-workflows/Agents/">
62+
<Project Path="samples/03-workflows/Agents/CustomAgentExecutors/CustomAgentExecutors.csproj" />
63+
<Project Path="samples/03-workflows/Agents/FoundryAgent/FoundryAgent.csproj" />
64+
<Project Path="samples/03-workflows/Agents/GroupChatToolApproval/GroupChatToolApproval.csproj" />
65+
<Project Path="samples/03-workflows/Agents/WorkflowAsAnAgent/WorkflowAsAnAgent.csproj" />
66+
</Folder>
67+
<Folder Name="/Samples/03-workflows/Checkpoint/">
68+
<Project Path="samples/03-workflows/Checkpoint/CheckpointAndRehydrate/CheckpointAndRehydrate.csproj" />
69+
<Project Path="samples/03-workflows/Checkpoint/CheckpointAndResume/CheckpointAndResume.csproj" />
70+
<Project Path="samples/03-workflows/Checkpoint/CheckpointWithHumanInTheLoop/CheckpointWithHumanInTheLoop.csproj" />
71+
</Folder>
72+
<Folder Name="/Samples/03-workflows/HumanInTheLoop/">
73+
<Project Path="samples/03-workflows/HumanInTheLoop/HumanInTheLoopBasic/HumanInTheLoopBasic.csproj" />
74+
</Folder>
75+
<Folder Name="/Samples/03-workflows/Observability/">
76+
<Project Path="samples/03-workflows/Observability/ApplicationInsights/ApplicationInsights.csproj" />
77+
<Project Path="samples/03-workflows/Observability/AspireDashboard/AspireDashboard.csproj" />
78+
<Project Path="samples/03-workflows/Observability/WorkflowAsAnAgent/WorkflowAsAnAgentObservability.csproj" />
79+
</Folder>
80+
<Folder Name="/Samples/03-workflows/Visualization/">
81+
<Project Path="samples/03-workflows/Visualization/Visualization.csproj" />
82+
</Folder>
83+
<Folder Name="/Samples/03-workflows/_StartHere/">
84+
<Project Path="samples/03-workflows/_StartHere/01_Streaming/01_Streaming.csproj" />
85+
<Project Path="samples/03-workflows/_StartHere/02_AgentsInWorkflows/02_AgentsInWorkflows.csproj" />
86+
<Project Path="samples/03-workflows/_StartHere/03_AgentWorkflowPatterns/03_AgentWorkflowPatterns.csproj" />
87+
<Project Path="samples/03-workflows/_StartHere/04_MultiModelService/04MultiModelService.csproj" />
88+
<Project Path="samples/03-workflows/_StartHere/05_SubWorkflows/05_SubWorkflows.csproj" />
89+
<Project Path="samples/03-workflows/_StartHere/06_MixedWorkflowAgentsAndExecutors/06_MixedWorkflowAgentsAndExecutors.csproj" />
90+
<Project Path="samples/03-workflows/_StartHere/07_WriterCriticWorkflow/07_WriterCriticWorkflow.csproj" />
91+
</Folder>
2092
<Folder Name="/Samples/04-hosting/" />
2193
<Folder Name="/Samples/04-hosting/DurableAgents/" />
2294
<Folder Name="/Samples/04-hosting/DurableAgents/AzureFunctions/">
@@ -202,80 +274,7 @@
202274
<Folder Name="/Samples/GettingStarted/Observability/">
203275
<Project Path="samples/GettingStarted/AgentOpenTelemetry/AgentOpenTelemetry.csproj" />
204276
</Folder>
205-
<Folder Name="/Samples/GettingStarted/Workflows/">
206-
<File Path="samples/GettingStarted/Workflows/README.md" />
207-
</Folder>
208-
<Folder Name="/Samples/GettingStarted/Workflows/Concurrent/">
209-
<Project Path="samples/GettingStarted/Workflows/Concurrent/Concurrent/Concurrent.csproj" />
210-
<Project Path="samples/GettingStarted/Workflows/Concurrent/MapReduce/MapReduce.csproj" />
211-
</Folder>
212-
<Folder Name="/Samples/GettingStarted/Workflows/ConditionalEdges/">
213-
<Project Path="samples/GettingStarted/Workflows/ConditionalEdges/01_EdgeCondition/01_EdgeCondition.csproj" />
214-
<Project Path="samples/GettingStarted/Workflows/ConditionalEdges/02_SwitchCase/02_SwitchCase.csproj" />
215-
<Project Path="samples/GettingStarted/Workflows/ConditionalEdges/03_MultiSelection/03_MultiSelection.csproj" />
216-
</Folder>
217-
<Folder Name="/Samples/GettingStarted/Workflows/Declarative/">
218-
<File Path="samples/GettingStarted/Workflows/Declarative/README.md" />
219-
<Project Path="samples/GettingStarted/Workflows/Declarative/ConfirmInput/ConfirmInput.csproj" />
220-
<Project Path="samples/GettingStarted/Workflows/Declarative/CustomerSupport/CustomerSupport.csproj" />
221-
<Project Path="samples/GettingStarted/Workflows/Declarative/DeepResearch/DeepResearch.csproj" />
222-
<Project Path="samples/GettingStarted/Workflows/Declarative/ExecuteCode/ExecuteCode.csproj" />
223-
<Project Path="samples/GettingStarted/Workflows/Declarative/ExecuteWorkflow/ExecuteWorkflow.csproj" />
224-
<Project Path="samples/GettingStarted/Workflows/Declarative/FunctionTools/FunctionTools.csproj" />
225-
<Project Path="samples/GettingStarted/Workflows/Declarative/GenerateCode/GenerateCode.csproj" />
226-
<Project Path="samples/GettingStarted/Workflows/Declarative/HostedWorkflow/HostedWorkflow.csproj" />
227-
<Project Path="samples/GettingStarted/Workflows/Declarative/InputArguments/InputArguments.csproj" />
228-
<Project Path="samples/GettingStarted/Workflows/Declarative/InvokeFunctionTool/InvokeFunctionTool.csproj" />
229-
<Project Path="samples/GettingStarted/Workflows/Declarative/Marketing/Marketing.csproj" />
230-
<Project Path="samples/GettingStarted/Workflows/Declarative/StudentTeacher/StudentTeacher.csproj" />
231-
<Project Path="samples/GettingStarted/Workflows/Declarative/ToolApproval/ToolApproval.csproj" />
232-
</Folder>
233-
<Folder Name="/Samples/GettingStarted/Workflows/Declarative/Examples/">
234-
<File Path="../workflow-samples/CustomerSupport.yaml" />
235-
<File Path="../workflow-samples/DeepResearch.yaml" />
236-
<File Path="../workflow-samples/Marketing.yaml" />
237-
<File Path="../workflow-samples/MathChat.yaml" />
238-
<File Path="../workflow-samples/README.md" />
239-
<File Path="../workflow-samples/wttr.json" />
240-
</Folder>
241-
<Folder Name="/Samples/GettingStarted/Workflows/SharedStates/">
242-
<Project Path="samples/GettingStarted/Workflows/SharedStates/SharedStates.csproj" />
243-
</Folder>
244-
<Folder Name="/Samples/GettingStarted/Workflows/Loop/">
245-
<Project Path="samples/GettingStarted/Workflows/Loop/Loop.csproj" />
246-
</Folder>
247-
<Folder Name="/Samples/GettingStarted/Workflows/Agents/">
248-
<Project Path="samples/GettingStarted/Workflows/Agents/CustomAgentExecutors/CustomAgentExecutors.csproj" />
249-
<Project Path="samples/GettingStarted/Workflows/Agents/FoundryAgent/FoundryAgent.csproj" />
250-
<Project Path="samples/GettingStarted/Workflows/Agents/GroupChatToolApproval/GroupChatToolApproval.csproj" />
251-
<Project Path="samples/GettingStarted/Workflows/Agents/WorkflowAsAnAgent/WorkflowAsAnAgent.csproj" />
252-
</Folder>
253-
<Folder Name="/Samples/GettingStarted/Workflows/Checkpoint/">
254-
<Project Path="samples/GettingStarted/Workflows/Checkpoint/CheckpointAndRehydrate/CheckpointAndRehydrate.csproj" />
255-
<Project Path="samples/GettingStarted/Workflows/Checkpoint/CheckpointAndResume/CheckpointAndResume.csproj" />
256-
<Project Path="samples/GettingStarted/Workflows/Checkpoint/CheckpointWithHumanInTheLoop/CheckpointWithHumanInTheLoop.csproj" />
257-
</Folder>
258-
<Folder Name="/Samples/GettingStarted/Workflows/HumanInTheLoop/">
259-
<Project Path="samples/GettingStarted/Workflows/HumanInTheLoop/HumanInTheLoopBasic/HumanInTheLoopBasic.csproj" />
260-
</Folder>
261-
<Folder Name="/Samples/GettingStarted/Workflows/Observability/">
262-
<Project Path="samples/GettingStarted/Workflows/Observability/ApplicationInsights/ApplicationInsights.csproj" />
263-
<Project Path="samples/GettingStarted/Workflows/Observability/AspireDashboard/AspireDashboard.csproj" />
264-
<Project Path="samples/GettingStarted/Workflows/Observability/WorkflowAsAnAgent/WorkflowAsAnAgentObservability.csproj" />
265-
</Folder>
266-
<Folder Name="/Samples/GettingStarted/Workflows/Visualization/">
267-
<Project Path="samples/GettingStarted/Workflows/Visualization/Visualization.csproj" />
268-
</Folder>
269-
<Folder Name="/Samples/GettingStarted/Workflows/_Foundational/">
270-
<Project Path="samples/GettingStarted/Workflows/_Foundational/02_Streaming/02_Streaming.csproj" />
271-
<Project Path="samples/GettingStarted/Workflows/_Foundational/03_AgentsInWorkflows/03_AgentsInWorkflows.csproj" />
272-
<Project Path="samples/GettingStarted/Workflows/_Foundational/04_AgentWorkflowPatterns/04_AgentWorkflowPatterns.csproj" />
273-
<Project Path="samples/GettingStarted/Workflows/_Foundational/05_MultiModelService/05_MultiModelService.csproj" />
274-
<Project Path="samples/GettingStarted/Workflows/_Foundational/06_SubWorkflows/06_SubWorkflows.csproj" />
275-
<Project Path="samples/GettingStarted/Workflows/_Foundational/07_MixedWorkflowAgentsAndExecutors/07_MixedWorkflowAgentsAndExecutors.csproj" />
276-
<Project Path="samples/GettingStarted/Workflows/_Foundational/08_WriterCriticWorkflow/08_WriterCriticWorkflow.csproj" />
277-
</Folder>
278-
<Folder Name="/Solution Items/">
277+
<Folder Name="/Solution Items/">
279278
<File Path=".editorconfig" />
280279
<File Path=".gitignore" />
281280
<File Path="Directory.Build.props" />

dotnet/samples/GettingStarted/Workflows/Agents/CustomAgentExecutors/CustomAgentExecutors.csproj renamed to dotnet/samples/03-workflows/Agents/CustomAgentExecutors/CustomAgentExecutors.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
</ItemGroup>
1616

1717
<ItemGroup>
18-
<ProjectReference Include="..\..\..\..\..\src\Microsoft.Agents.AI.Workflows\Microsoft.Agents.AI.Workflows.csproj" />
19-
<ProjectReference Include="..\..\..\..\..\src\Microsoft.Agents.AI.Workflows.Generators\Microsoft.Agents.AI.Workflows.Generators.csproj"
18+
<ProjectReference Include="..\..\..\..\src\Microsoft.Agents.AI.Workflows\Microsoft.Agents.AI.Workflows.csproj" />
19+
<ProjectReference Include="..\..\..\..\src\Microsoft.Agents.AI.Workflows.Generators\Microsoft.Agents.AI.Workflows.Generators.csproj"
2020
OutputItemType="Analyzer"
2121
ReferenceOutputAssembly="false" />
22-
<ProjectReference Include="..\..\..\..\..\src\Microsoft.Agents.AI\Microsoft.Agents.AI.csproj" />
22+
<ProjectReference Include="..\..\..\..\src\Microsoft.Agents.AI\Microsoft.Agents.AI.csproj" />
2323
</ItemGroup>
2424

2525
</Project>

dotnet/samples/GettingStarted/Workflows/Agents/CustomAgentExecutors/Program.cs renamed to dotnet/samples/03-workflows/Agents/CustomAgentExecutors/Program.cs

File renamed without changes.

dotnet/samples/GettingStarted/Workflows/Agents/FoundryAgent/FoundryAgent.csproj renamed to dotnet/samples/03-workflows/Agents/FoundryAgent/FoundryAgent.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
</ItemGroup>
1515

1616
<ItemGroup>
17-
<ProjectReference Include="..\..\..\..\..\src\Microsoft.Agents.AI.Workflows\Microsoft.Agents.AI.Workflows.csproj" />
18-
<ProjectReference Include="..\..\..\..\..\src\Microsoft.Agents.AI.AzureAI.Persistent\Microsoft.Agents.AI.AzureAI.Persistent.csproj" />
19-
<ProjectReference Include="..\..\..\..\..\src\Microsoft.Agents.AI\Microsoft.Agents.AI.csproj" />
17+
<ProjectReference Include="..\..\..\..\src\Microsoft.Agents.AI.Workflows\Microsoft.Agents.AI.Workflows.csproj" />
18+
<ProjectReference Include="..\..\..\..\src\Microsoft.Agents.AI.AzureAI.Persistent\Microsoft.Agents.AI.AzureAI.Persistent.csproj" />
19+
<ProjectReference Include="..\..\..\..\src\Microsoft.Agents.AI\Microsoft.Agents.AI.csproj" />
2020
</ItemGroup>
2121

2222
</Project>

dotnet/samples/GettingStarted/Workflows/Agents/FoundryAgent/Program.cs renamed to dotnet/samples/03-workflows/Agents/FoundryAgent/Program.cs

File renamed without changes.

dotnet/samples/GettingStarted/Workflows/Agents/GroupChatToolApproval/DeploymentGroupChatManager.cs renamed to dotnet/samples/03-workflows/Agents/GroupChatToolApproval/DeploymentGroupChatManager.cs

File renamed without changes.

dotnet/samples/GettingStarted/Workflows/Agents/GroupChatToolApproval/GroupChatToolApproval.csproj renamed to dotnet/samples/03-workflows/Agents/GroupChatToolApproval/GroupChatToolApproval.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
</ItemGroup>
1616

1717
<ItemGroup>
18-
<ProjectReference Include="..\..\..\..\..\src\Microsoft.Agents.AI.Workflows\Microsoft.Agents.AI.Workflows.csproj" />
19-
<ProjectReference Include="..\..\..\..\..\src\Microsoft.Agents.AI\Microsoft.Agents.AI.csproj" />
18+
<ProjectReference Include="..\..\..\..\src\Microsoft.Agents.AI.Workflows\Microsoft.Agents.AI.Workflows.csproj" />
19+
<ProjectReference Include="..\..\..\..\src\Microsoft.Agents.AI\Microsoft.Agents.AI.csproj" />
2020
</ItemGroup>
2121

2222
</Project>

dotnet/samples/GettingStarted/Workflows/Agents/GroupChatToolApproval/Program.cs renamed to dotnet/samples/03-workflows/Agents/GroupChatToolApproval/Program.cs

File renamed without changes.

dotnet/samples/GettingStarted/Workflows/Agents/GroupChatToolApproval/README.md renamed to dotnet/samples/03-workflows/Agents/GroupChatToolApproval/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,5 @@ The sample will show:
6666
## Related Samples
6767

6868
- [Agent Function Tools with Approvals](../../../Agents/Agent_Step04_UsingFunctionToolsWithApprovals) - Basic function approval pattern
69-
- [Agent Workflow Patterns](../../_Foundational/04_AgentWorkflowPatterns) - Group chat without approvals
69+
- [Agent Workflow Patterns](../../_StartHere/03_AgentWorkflowPatterns) - Group chat without approvals
7070
- [Human-in-the-Loop Basic](../../HumanInTheLoop/HumanInTheLoopBasic) - Workflow-level human interaction

0 commit comments

Comments
 (0)