Files
Peter Ibekwe 189e64bfdd .NET: Add sample for invoking Foundry Toolbox tools from declarative workflows (#5829)
* Add sample for invoking Foundry Toolbox tools from declarative workflows

* Addressed initial PR comments.
189e64bfdd · 2026-05-14 15:30:48 +00:00
History
..

Summary

These samples showcases the ability to parse a declarative Foundry Workflow file (YAML) to build a Workflow that may be executed using the same pattern as any code-based workflow.

Configuration

These samples must be configured to create and use agents your Microsoft Foundry Project.

Settings

We suggest using .NET Secret Manager to avoid the risk of leaking secrets into the repository, branches and pull requests. You can also use environment variables if you prefer.

The configuraton required by the samples is:

Setting Name Description
AZURE_AI_PROJECT_ENDPOINT The endpoint URL of your Microsoft Foundry Project.
AZURE_AI_MODEL_DEPLOYMENT_NAME The name of the model deployment to use
AZURE_AI_BING_CONNECTION_ID The name of the Bing Grounding connection configured in your Microsoft Foundry Project.

To set your secrets with .NET Secret Manager:

  1. From the root of the repository, navigate the console to the project folder:

    cd dotnet/samples/03-workflows/Declarative/ExecuteWorkflow
    
  2. Examine existing secret definitions:

    dotnet user-secrets list
    
  3. If needed, perform first time initialization:

    dotnet user-secrets init
    
  4. Define setting that identifies your Microsoft Foundry Project (endpoint):

    dotnet user-secrets set "AZURE_AI_PROJECT_ENDPOINT" "https://..."
    
  5. Define setting that identifies your Microsoft Foundry Model Deployment (endpoint):

    dotnet user-secrets set "AZURE_AI_MODEL_DEPLOYMENT_NAME" "gpt-5"
    
  6. Define setting that identifies your Bing Grounding connection:

    dotnet user-secrets set "AZURE_AI_BING_CONNECTION_ID" "mybinggrounding"
    

You may alternatively set your secrets as an environment variable (PowerShell):

$env:AZURE_AI_PROJECT_ENDPOINT="https://..."
$env:AZURE_AI_MODEL_DEPLOYMENT_NAME="gpt-5"
$env:AZURE_AI_BING_CONNECTION_ID="mybinggrounding"

Authorization

Use Azure CLI to authorize access to your Microsoft Foundry Project:

az login
az account get-access-token

Execution

The samples may be executed within Visual Studio or VS Code.

To run the sampes from the command line:

  1. From the root of the repository, navigate the console to the project folder:

    cd dotnet/samples/03-workflows/Declarative/Marketing
    dotnet run Marketing
    
  2. Run the demo and optionally provided input:

    dotnet run "An eco-friendly stainless steel water bottle that keeps drinks cold for 24 hours."
    dotnet run c:/myworkflows/Marketing.yaml
    

    The sample will allow for interactive input in the absence of an input argument.