User

Agent NoCode (.NET)

Seattle skyline with Space Needle - Home of Microsoft and Azure
Agent Framework

Built with ASP.NET Core 9.0 & Microsoft Agent Framework

A2A Protocol v0.3.0 Compliant Server

Built with C# and powered by the Microsoft Agent Framework, this agent enables seamless agent-to-agent communication using the standardized A2A protocol. Implemented with ASP.NET Core and the official A2A SDK, it provides dynamic workflow orchestration, multi-agent coordination, and comprehensive health monitoring for distributed agent systems.

Uses Agent Framework Workflows with a graph-based architecture for defining complex agent interactions. Workflows are composed of nodes (representing agents) and edges (representing connections and message flow between agents), enabling sophisticated multi-step reasoning and task delegation patterns.

C# Agent Framework A2A Protocol .NET Documentation

API Endpoints & Documentation

Explore the A2A protocol endpoints, agent cards, and workflow orchestration APIs.


Agent NoCode (.NET) Dashboard

Live monitoring of all subsystems and services. Updates every 30 seconds.

Loading system status...


Quick Start: Chat with Agent

Use this curl command to send a message to the agent via the A2A protocol. The agent will return a task ID that you can use to check the status and results.

Terminal Command
curl -X POST [Loading...]/invoke \
-H "Content-Type: application/json" \
-d '{"input": {"message": "Explain quantum computing in simple terms"}}'
Response:
{
  "task_id": "abc-123...",
  "task_url": "[Loading...]/tasks/abc-123...",
  "status": {"state": "running"}
}
Next Step: Click or curl the task_url to check status and get results.

Configuration Guide

Configure the agent with LLM, database, and authentication settings.

Required Environment Variables

Configure these parameters to enable full agent functionality:

Parameter Required Default Description
Agent Configuration
AGENT_ID Required "" Unique agent identifier (same as DB Agent Id)
AGENT_NAME Optional "" Human-readable agent name
AGENT_DESCRIPTION Optional "" Agent description
LLM Configuration
LLM_PROVIDER Optional "" LLM provider (e.g., azure, openai)
LLM_ENDPOINT Required "" LLM endpoint URL (e.g., https://your-resource.openai.azure.com/)
LLM_MODEL Optional "" LLM model name
LLM_KEY Required "" LLM API key for authentication
LLM_API_VERSION Optional "" LLM API version
LLM_TEMPERATURE Optional 0.0 LLM temperature setting
LLM_MAX_TOKENS Optional 1000 Maximum tokens for LLM responses
Embeddings Configuration
EMBED_PROVIDER Optional "" Embedding provider (falls back to LLM provider)
EMBED_MODEL Optional "" Embedding model name
EMBED_API_VERSION Optional "" Embedding API version
PostgreSQL (pgvector) Configuration
PGHOST Optional "" PostgreSQL database host
PGPORT Optional "" PostgreSQL database port
POSTGRES_USER Optional "" PostgreSQL database username
POSTGRES_PASSWORD Optional "" PostgreSQL database password
Authentication Configuration (AUTH_* Environment Variables)
AUTH_ENABLED Optional true Enable/disable JWT authentication (default: true)
AUTH_AUTHORITY Required "" OAuth 2.0 authority URL (e.g., https://login.microsoftonline.com/{tenant})
AUTH_ISSUER Optional AUTH_AUTHORITY Expected issuer claim in JWT tokens (defaults to AUTH_AUTHORITY)
AUTH_TENANT_ID Optional "" Azure AD tenant ID
AUTH_CLIENT_ID Required "" Application client ID (also used as audience)
AUTH_REDIRECT_URI Optional "" OAuth callback/redirect URI
AUTH_LOGIN_SCOPES Optional "" User login scopes (comma-separated, e.g., User.Read,profile)
AUTH_API_SCOPES Optional "" API access scopes (comma-separated)
AUTH_VALIDATE_ISSUER Optional true Validate token issuer (default: true)
AUTH_VALIDATE_AUDIENCE Optional true Validate token audience (default: true)
AUTH_VALIDATE_SIGNING_KEY Optional true Validate token signing key (default: true)
AUTH_VALIDATE_LIFETIME Optional true Validate token lifetime (default: true)
AUTH_LIFETIME_SKEW Optional 300 Clock skew tolerance in seconds (default: 300 = 5 minutes)
A2A Configuration
AUTOGEN_AGENT_A2A_URL Optional http://localhost:8001 Default A2A agent URL
Context & Tools Configuration
CONTEXTS Optional [] JSON array of context configurations
TOOL_SERVERS Optional [] JSON array of MCP tool server URLs
Logging Configuration
LOG_LEVEL Optional INFO Logging level (DEBUG, INFO, WARNING, ERROR)

Example Configuration

.env file
# Agent Configuration
AGENT_ID=my-agent-id
AGENT_NAME=My AI Agent
AGENT_DESCRIPTION=An intelligent AI agent

# LLM Configuration
LLM_PROVIDER=azure
LLM_ENDPOINT=https://your-resource.openai.azure.com/
LLM_MODEL=gpt-4o
LLM_KEY=your-api-key-here
LLM_API_VERSION=2024-02-15-preview
LLM_TEMPERATURE=0.0
LLM_MAX_TOKENS=1000

# Embeddings Configuration (Optional)
EMBED_PROVIDER=azure
EMBED_MODEL=text-embedding-ada-002
EMBED_API_VERSION=2024-02-15-preview

# PostgreSQL Configuration
PGHOST=localhost
PGPORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your-password-here

# Authentication Configuration (AUTH_* Environment Variables)
AUTH_ENABLED=true
AUTH_AUTHORITY=https://login.microsoftonline.com/your-tenant-id
AUTH_ISSUER=https://sts.windows.net/your-tenant-id/
AUTH_TENANT_ID=your-tenant-id
AUTH_CLIENT_ID=your-client-id
AUTH_REDIRECT_URI=http://localhost:5017
AUTH_LOGIN_SCOPES=User.Read,profile
AUTH_API_SCOPES=api://your-client-id/.default
AUTH_VALIDATE_ISSUER=true
AUTH_VALIDATE_AUDIENCE=true
AUTH_VALIDATE_SIGNING_KEY=true
AUTH_VALIDATE_LIFETIME=true
AUTH_LIFETIME_SKEW=300

# A2A Configuration
AUTOGEN_AGENT_A2A_URL="http://localhost:8001"

# Context & Tools
CONTEXTS="[]"
TOOL_SERVERS='["http://0.0.0.0:9001/analytics/mcp/"]'

# Logging
LOG_LEVEL=INFO

Sync Parameters to Fabric Developer Workflow Application

Automatically sync your local environment variables to Fabric Developer Workflow Application using the make params command. This eliminates manual configuration in the Application Dashboard.

Prerequisites

  1. Install Fabric Developer Journey CLI from Null Platform:
    npm install -g @nullplatform/cli
  2. Get your API Key:
    Go to your App Dashboard from Fabric Workspace → Click user profile icon → Click "Copy personal access token"
  3. Export the API Key:
    export NP_TOKEN=<your-token>
  4. Get your App NRN (Null Resource Name):
    1. Go to your Application Dashboard
    2. Click the NRN button to copy your application's NRN
    3. You'll use this NRN when running the make params command
    # Format: organization=ID:account=ID:namespace=ID:application=ID
    # Example: organization=1234567890:account=9876543210:namespace=1122334455:application=5544332211

Run the Command

Once prerequisites are met, run this command in your terminal:

Terminal Command
# Use your NRN copied from Application Dashboard
# Option 1: Using NRN variable (recommended)
make params NRN=organization=1234567890:account=9876543210:namespace=1122334455:application=5544332211

# Option 2: Using ARGS variable
make params ARGS="--nrn organization=1234567890:account=9876543210:namespace=1122334455:application=5544332211"

# Option 3: Call script directly
./scripts/configure-parameters.sh --nrn organization=1234567890:account=9876543210:namespace=1122334455:application=5544332211
Secret Parameters
These parameters are automatically marked as secrets: LLM_KEY, POSTGRES_PASSWORD, JWT_AUDIENCE, NP_TOKEN