Skip to content

.NET Workflows - Add "CustomerSupport" sample - #2102

Merged
Chris (crickman) merged 48 commits into
feature-foundry-agentsfrom
crickman/workflows-declarative-sample-customersupport
Nov 13, 2025
Merged

.NET Workflows - Add "CustomerSupport" sample#2102
Chris (crickman) merged 48 commits into
feature-foundry-agentsfrom
crickman/workflows-declarative-sample-customersupport

Conversation

@crickman

@crickmanChris (crickman) commented Nov 11, 2025

Copy link
Copy Markdown
Contributor

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

image

Contribution Checklist

  • The code builds clean without any errors or warnings
  • The PR follows the Contribution Guidelines
  • All unit tests pass, and I have added new tests where possible
  • Is this a breaking change? If yes, add "[BREAKING]" prefix to the title of the PR.

@crickmanChris (crickman) self-assigned this Nov 11, 2025
CopilotAI review requested due to automatic review settings November 11, 2025 22:54
@markwallace-microsoftMark Wallace (markwallace-microsoft) added documentation Usage: [Issues, PRs], Target: documentation in the code base and learn docs .NET Usage: [Issues, PRs], Target: .Net workflows Usage: [Issues, PRs], Target: Workflows labels Nov 11, 2025
@crickmanChris (crickman) moved this to In Progress in Agent FrameworkNov 11, 2025
@crickman
Chris (crickman) changed the base branch from main to feature-foundry-agentsNovember 11, 2025 22:55

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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
FileDescription
workflow-samples/CustomerSupport.yamlDefines the workflow structure with agent invocations, conditional logic, and loop handling for customer support scenarios
dotnet/samples/.../CustomerSupport/Program.csImplements the C# sample that creates agents and executes the CustomerSupport workflow
dotnet/samples/.../CustomerSupport/CustomerSupport.csprojProject configuration for the CustomerSupport sample
dotnet/samples/.../InputArguments/Program.csUpdates structured output schema to match CustomerSupport patterns (IsResolved, NeedsTicket)
dotnet/samples/.../ConfirmInput/ConfirmInput.yamlNew workflow demonstrating user input confirmation without agents
dotnet/samples/.../ConfirmInput/ConfirmInput.csprojProject file changes for ConfirmInput sample
dotnet/agent-framework-dotnet.slnxAdds CustomerSupport project to the solution

Comment threadworkflow-samples/CustomerSupport.yaml Outdated
Comment threadworkflow-samples/CustomerSupport.yaml Outdated
Comment threadworkflow-samples/CustomerSupport.yaml Outdated
Comment threadworkflow-samples/CustomerSupport.yaml Outdated
Comment threadworkflow-samples/CustomerSupport.yaml Outdated
…pport/Program.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings November 11, 2025 23:04
Chris (crickman)and others added 10 commits November 12, 2025 19:08
…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>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 15 out of 16 changed files in this pull request and generated 17 comments.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 22 out of 23 changed files in this pull request and generated 2 comments.

Comment threadworkflow-samples/CustomerSupport.yaml
Comment threadworkflow-samples/CustomerSupport.yaml Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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.

Comment threadworkflow-samples/CustomerSupport.yaml
Comment threadworkflow-samples/CustomerSupport.yaml

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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.

…pport/Program.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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.

CopilotAINov 13, 2025

Copy link

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".

Suggested change
# Determine which team for which route the ticket.
# Determine to which team to route the ticket.

Copilot uses AI. Check for mistakes.
/// <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

CopilotAINov 13, 2025

Copy link

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.

Copilot uses AI. Check for mistakes.
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

CopilotAINov 13, 2025

Copy link

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'.

Suggested change
for issues related to Windows operating system.Utilizethe"Attempted Resolutions Steps"as
for issues related to Windows operating system.Utilizethe"Attempted Resolution Steps"as

Copilot uses AI. Check for mistakes.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

declarativeUsage: [Issues, PRs], Target: declarative agents and workflowsdocumentationUsage: [Issues, PRs], Target: documentation in the code base and learn docs.NETUsage: [Issues, PRs], Target: .NetworkflowsUsage: [Issues, PRs], Target: Workflows

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants

@crickman@alliscode@moonbox3@markwallace-microsoft