This sample demonstrates how to use GroupChatBuilder with tools that require human approval before execution. A group of specialized agents collaborate on a task, and sensitive tool calls trigger human-in-the-loop approval.
- Using a custom
GroupChatManagerwith agents that have approval-required tools - Handling
FunctionApprovalRequestContentin group chat scenarios - Multi-round group chat with tool approval interruption and resumption
- Integrating tool call approvals with multi-agent workflows where different agents have different levels of tool access
- A
GroupChatBuilderworkflow is created with multiple specialized agents - A custom
DeploymentGroupChatManagerdetermines which agent speaks next based on conversation state - Agents collaborate on a software deployment task:
- QA Engineer: Runs automated tests
- DevOps Engineer: Checks staging status, creates rollback plan, and deploys to production
- When the deployment agent tries to deploy to production, it triggers an approval request
- The sample simulates human approval and the workflow completes
The DeployToProduction function is wrapped with ApprovalRequiredAIFunction to require human approval:
new ApprovalRequiredAIFunction(AIFunctionFactory.Create(DeployToProduction))The DeploymentGroupChatManager implements custom speaker selection logic:
- First iteration: QA Engineer runs tests
- Subsequent iterations: DevOps Engineer handles deployment tasks
The sample demonstrates continuous event-driven execution with inline approval handling:
- The workflow runs in a single event loop.
- When an approval-required tool is invoked, the loop surfaces an approval request, processes the (simulated) human response, and then continues execution without starting a separate phase.
- Azure OpenAI or OpenAI configured with the required environment variables
AZURE_OPENAI_ENDPOINTenvironment variable setAZURE_OPENAI_DEPLOYMENT_NAMEenvironment variable (defaults to "gpt-5.4-mini")
dotnet runThe sample will show:
- QA Engineer running tests
- DevOps Engineer checking staging and creating rollback plan
- An approval request for production deployment
- Simulated approval response
- DevOps Engineer completing the deployment
- Workflow completion message
- Agent Function Tools with Approvals - Basic function approval pattern
- Agent Workflow Patterns - Group chat without approvals
- Human-in-the-Loop Basic - Workflow-level human interaction