-
Notifications
You must be signed in to change notification settings - Fork 730
.NET Workflows - Add "CustomerSupport" sample #2102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
.NET Workflows - Add "CustomerSupport" sample #2102
Conversation
…tive-sample-customersupport
…tive-sample-customersupport
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a new "CustomerSupport" declarative workflow sample demonstrating structured inputs/outputs and human-in-the-loop patterns for a customer support case scenario. The workflow includes multiple agents that handle service requests, ticketing, routing, support, resolution, and escalation.
Key changes:
- New CustomerSupport workflow sample with YAML definition and C# implementation
- Updates to InputArguments sample to align property names with CustomerSupport patterns
- New ConfirmInput workflow demonstrating user input confirmation
- Solution file updated to include new CustomerSupport project
Reviewed Changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 23 comments.
Show a summary per file
| File | Description |
|---|---|
| workflow-samples/CustomerSupport.yaml | Defines the workflow structure with agent invocations, conditional logic, and loop handling for customer support scenarios |
| dotnet/samples/.../CustomerSupport/Program.cs | Implements the C# sample that creates agents and executes the CustomerSupport workflow |
| dotnet/samples/.../CustomerSupport/CustomerSupport.csproj | Project configuration for the CustomerSupport sample |
| dotnet/samples/.../InputArguments/Program.cs | Updates structured output schema to match CustomerSupport patterns (IsResolved, NeedsTicket) |
| dotnet/samples/.../ConfirmInput/ConfirmInput.yaml | New workflow demonstrating user input confirmation without agents |
| dotnet/samples/.../ConfirmInput/ConfirmInput.csproj | Project file changes for ConfirmInput sample |
| dotnet/agent-framework-dotnet.slnx | Adds CustomerSupport project to the solution |
dotnet/samples/GettingStarted/Workflows/Declarative/CustomerSupport/Program.cs
Outdated
Show resolved
Hide resolved
dotnet/samples/GettingStarted/Workflows/Declarative/CustomerSupport/Program.cs
Outdated
Show resolved
Hide resolved
dotnet/samples/GettingStarted/Workflows/Declarative/CustomerSupport/Program.cs
Outdated
Show resolved
Hide resolved
dotnet/samples/GettingStarted/Workflows/Declarative/CustomerSupport/Program.cs
Outdated
Show resolved
Hide resolved
dotnet/samples/GettingStarted/Workflows/Declarative/ConfirmInput/ConfirmInput.csproj
Show resolved
Hide resolved
…pport/Program.cs Co-authored-by: Copilot <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 23 out of 24 changed files in this pull request and generated 4 comments.
dotnet/samples/GettingStarted/Workflows/Declarative/CustomerSupport/Program.cs
Show resolved
Hide resolved
...tests/Microsoft.Agents.AI.Workflows.Declarative.IntegrationTests/Workflows/ConfirmInput.yaml
Outdated
Show resolved
Hide resolved
…tive-sample-customersupport
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 24 out of 24 changed files in this pull request and generated 3 comments.
dotnet/samples/GettingStarted/Workflows/Declarative/CustomerSupport/Program.cs
Outdated
Show resolved
Hide resolved
dotnet/samples/GettingStarted/Workflows/Declarative/ConfirmInput/ConfirmInput.csproj
Show resolved
Hide resolved
.../tests/Microsoft.Agents.AI.Workflows.Declarative.IntegrationTests/DeclarativeWorkflowTest.cs
Show resolved
Hide resolved
…pport/Program.cs Co-authored-by: Copilot <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 24 out of 24 changed files in this pull request and generated 3 comments.
| id: log_ticket | ||
| activity: "Created ticket #{Local.TicketParameters.TicketId}" | ||
|
|
||
| # Determine which team for which route the ticket. |
Copilot
AI
Nov 13, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected grammar from "for which route" to "to which to route".
| # Determine which team for which route the ticket. | |
| # Determine to which team to route the ticket. |
| /// <param name="projectCredentials">The credentials used to authenticate with the Foundry project. This must be a valid instance of <see cref="TokenCredential"/>.</param> | ||
| /// <param name="httpClient">An optional <see cref="HttpClient"/> instance to be used for making HTTP requests. If not provided, a default client will be used.</param> | ||
| public sealed class AzureAgentProvider(Uri projectEndpoint, TokenCredential projectCredentials, HttpClient? httpClient = null) : WorkflowAgentProvider | ||
| public sealed class AzureAgentProvider(Uri projectEndpoint, TokenCredential projectCredentials) : WorkflowAgentProvider |
Copilot
AI
Nov 13, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing the httpClient parameter from the constructor is a breaking change. Consider keeping the parameter with a default value of null to maintain backward compatibility while also supporting the new property-based approach. The current change would break existing code that passes HttpClient through the constructor.
| Instructions = | ||
| """ | ||
| Use your knowledge to work with the user to provide the best possible troubleshooting steps | ||
| for issues related to Windows operating system. Utilize the "Attempted Resolutions Steps" as |
Copilot
AI
Nov 13, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'Resolutions' to 'Resolution'.
| for issues related to Windows operating system. Utilize the "Attempted Resolutions Steps" as | |
| for issues related to Windows operating system. Utilize the "Attempted Resolution Steps" as |
…tive-sample-customersupport
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 24 out of 24 changed files in this pull request and generated no new comments.
Motivation and Context
"Customer Support" is one of the "hero scenarios" ported from FDL, but it needed certain features from the V2 API exposed.
Description
https://github.com/microsoft/agent-framework/actions/runs/19338781822
Contribution Checklist