Azure Functions-based API for analyzing townhall meeting transcripts using AI services.
- File Upload: Upload .vtt and .docx transcript files
- Microsoft Graph Integration: Automatic ingestion of Teams meeting transcripts
- AI Enrichment: Sentiment analysis, topic clustering, and entity extraction
- Search & Analytics: Query utterances, trends, and speaker insights
- Authentication: Entra ID OAuth2 integration
POST /upload- Upload transcript files (.vtt, .docx)
GET /insights/trends- Get trending topics and sentiment analysisGET /insights/speakers- Get speaker analysis and sentimentGET /insights/utterances- Search utterances with filtering
GET/POST /hooks/graph- Microsoft Graph webhook for Teams integration
Update local.settings.json with your Azure service endpoints:
{
"AZURE_SEARCH_ENDPOINT": "https://your-search.search.windows.net",
"AZURE_SEARCH_KEY": "your-search-key",
"AZURE_OPENAI_ENDPOINT": "https://your-openai.openai.azure.com/",
"AZURE_OPENAI_API_KEY": "your-openai-key",
"AZURE_AI_LANGUAGE_ENDPOINT": "https://your-language.cognitiveservices.azure.com/",
"AZURE_AI_LANGUAGE_KEY": "your-language-key"
}- Install dependencies:
pip install -r requirements.txt- Start the function app:
func start- Deploy Azure infrastructure:
az deployment group create --resource-group your-rg --template-file ../docs/azure_deploy.bicep --parameters @../docs/azure_deploy.parameters.json- Deploy function app:
func azure functionapp publish your-function-app-name --pythonAll endpoints require Entra ID authentication. Include the access token in the Authorization header:
Authorization: Bearer <your-access-token>
See ../insights-api-swagger2.yaml for complete API documentation compatible with Copilot Studio.