Uh oh!
There was an error while loading. Please reload this page.
.NET Workflows - Add "CustomerSupport" sample - #2102
Conversation
…tive-sample-customersupport
…tive-sample-customersupport
There was a problem hiding this comment.
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 |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…pport/Program.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…pport/Program.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…pport/Program.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…pport/Program.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…pport/Program.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…pport/Program.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…pport/TicketingPlugin.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…pport/Program.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…tive-sample-customersupport
https://github.com/microsoft/agent-framework into crickman/workflows-declarative-sample-customersupport
…tive-sample-customersupport
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…pport/Program.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
https://github.com/microsoft/agent-framework into crickman/workflows-declarative-sample-customersupport
…tive-sample-customersupport
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…pport/Program.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
| id: log_ticket | ||
| activity: "Created ticket #{Local.TicketParameters.TicketId}" | ||
| # Determine which team for which route the ticket. |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
Corrected spelling of 'Resolutions' to 'Resolution'.
| for issues related to Windows operating system.Utilizethe"Attempted Resolutions Steps"as | |
| for issues related to Windows operating system.Utilizethe"Attempted Resolution Steps"as |
…tive-sample-customersupport
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