Multi-Agent App with Azure AI Foundry Agent Service
Build Multi-Agent app using Azure AI Foundry Agent Service
Last Sunday, I decided to explore the new Azure AI Foundry Agent Service and built a small multi-agent onboarding app powered behind the scenes by three coordinated agents.
This blog post is meant to give you a high-level overview of how I approached it, not a full step-by-step tutorial.
You can watch the video at the end to see the app in action.
The Onboarding App
I built a simple onboarding web app for, you guessed it, onboarding new employees in a company.
The app takes three inputs: the employee’s full name, email, and department. Behind the scenes, it creates three agents:
department_rag_agent
uses Azure AI Search to perform a vector-based RAG (see RAG and generative AI - Azure AI Search) search and find relevant onboarding information for the specified department (for example, Software Engineering).discord_agent
is responsible for sending a welcome message on Discord, which includes the employee’s details and any department-specific information returned by the RAG agent.onboarding_agent
acts as the orchestrator. It first invokes the RAG agent to gather relevant information, then passes the results to the Discord agent to send the final message.
The entire process is coordinated automatically once the onboarding form is submitted.
Here’s the end result message in Discord:
Project Structure Overview
This project showcases a multi-agent onboarding flow using Azure AI Foundry Agent Service. The main folders are:
src/api/
– Contains the FastAPI backend with agent logic, tools, and utilities.func-api/
– An Azure Function App that exposes an endpoint for sending Discord messages. This is needed because connected agents do not support local function calls (see How to use connected agents - Azure AI Foundry | Microsoft Learn).web/
– A React.js frontend that serves as the UI for triggering the onboarding flow.
Environment Setup
Azure Function App (for webhook to Discord)
Azure AI Search (for RAG)
Azure OpenAI (for embedding model)
Azure AI Foundry project (for LLM)
To run the app locally or deploy it yourself, you’ll need a .env
file with the following variables:
# Azure AI Foundry
PROJECT_ENDPOINT= # Your Azure AI Foundry project endpoint
MODEL_DEPLOYMENT_NAME= # The model deployment name used for your agents (e.g., gpt-4o-mini)
# Azure AI Search
AZURE_SEARCH_ENDPOINT= # Endpoint of your Azure AI Search resource
AZURE_SEARCH_API_KEY= # API key for your Azure AI Search instance
AZURE_SEARCH_INDEX_NAME= # Name of the index used for department RAG search
Also, you need to make sure you connect your Azure AI Search resource with your AI Foundry (see How to add a new connection in Azure AI Foundry portal - Azure AI Foundry | Microsoft Learn)
Final Thoughts
This was a fun Sunday experiment that gave me a hands-on introduction to Azure AI Foundry Agent Service (seriously, Microsoft, please give it a shorter and cooler name). With multi-agent coordination, Azure AI Search, and Discord integration via Azure Functions and an OpenAPI spec, I built a simple but practical onboarding automation flow that helped me understand what this framework is currently capable of.
Keep in mind that this framework is still new and actively evolving, so things may change quickly.
Here’s a demo of the app as well as quick walkthrough of the solution