Message Center Podcast
An automation that every weekday morning collects Microsoft 365 Message Center posts, generates a two-voice podcast script with Azure AI Foundry and delivers it as an MP3 audio file on Telegram.
What it does
Every working morning the pipeline starts automatically, retrieves the day’s posts from the Microsoft 365 Message Center via Graph API, generates a two-voice podcast script with GPT-4o mini (Azure AI Foundry), converts it to MP3 audio with gpt-4o-mini-tts and sends it to a Telegram group — ready to listen to on the commute.
Architecture
The pipeline is orchestrated by a master PowerShell script on an Azure VM:
- Get-MessageCenterForAI.ps1 — retrieves the current day’s posts via Graph API and serialises them to JSON
- Generate-PodcastScript.ps1 — sends the JSON to GPT-4o mini with a system prompt that produces a two-voice script (professional briefing tone, ~8 minutes long)
- Convert-PodcastToAudio.ps1 — converts the script to MP3 with gpt-4o-mini-tts (voices
echo+nova) - Send-PodcastTelegram.ps1 — delivers the audio file to the Telegram group via the Bot API
The VM is started at 06:50 and shut down at 08:10 by an Azure Automation Account with Managed Identity, keeping the cost to ~2-4 EUR/month.
Tech stack
- PowerShell 7 — orchestration and API integration
- Microsoft Graph API — reading the Message Center (
ServiceMessage.Read.All) - Azure AI Foundry — GPT-4o mini for script generation, gpt-4o-mini-tts for speech synthesis
- Azure VM + Task Scheduler — runs the pipeline at 07:00 on weekdays
- Azure Automation Account — automatic VM start/stop with Managed Identity
- Telegram Bot API — audio delivery
Running cost
Estimated over 22 runs/month: 3-5 EUR/month, dominated by the VM (running ~1h20m/day). AI costs (GPT-4o mini + TTS) are below 0.60 EUR/month.