Files
agent-framework/dotnet/samples/03-workflows/Declarative/README.md
T
Ben Thomas c79f886dc3 .NET: Align Foundry sample environment variables and credentials. (#6422)
* dotnet: refresh Foundry sample guidance

Carry forward the still-relevant sample guidance and Foundry-specific documentation fixes from the old stacked sample migration work, adapted to the current repo layout and policy.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* dotnet: rename Foundry sample env vars

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* dotnet: remove persistent provider sample

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* dotnet: drop SAMPLE_GUIDELINES.md from this PR

Defer the guidelines doc and its cross-link to a follow-on PR to avoid broken-link failures in CI.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* dotnet: add DefaultAzureCredential warning to remaining samples

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* dotnet: address PR review feedback

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-11 17:26:00 +00:00

100 lines
2.8 KiB
Markdown

# 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](https://learn.microsoft.com/azure/ai-foundry).
### Settings
We suggest using .NET [Secret Manager](https://learn.microsoft.com/en-us/aspnet/core/security/app-secrets)
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|
|:--|:--|
|FOUNDRY_PROJECT_ENDPOINT| The endpoint URL of your Microsoft Foundry Project.|
|FOUNDRY_MODEL| 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 "FOUNDRY_PROJECT_ENDPOINT" "https://..."
```
5. Define setting that identifies your Microsoft Foundry Model Deployment (endpoint):
```
dotnet user-secrets set "FOUNDRY_MODEL" "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):
```pwsh
$env:FOUNDRY_PROJECT_ENDPOINT="https://..."
$env:FOUNDRY_MODEL="gpt-5"
$env:AZURE_AI_BING_CONNECTION_ID="mybinggrounding"
```
### Authorization
Use [_Azure CLI_](https://learn.microsoft.com/cli/azure/authenticate-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:
```sh
cd dotnet/samples/03-workflows/Declarative/Marketing
dotnet run Marketing
```
2. Run the demo and optionally provided input:
```sh
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.