Projects Completed

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:

  1. Get-MessageCenterForAI.ps1 — retrieves the current day’s posts via Graph API and serialises them to JSON
  2. 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)
  3. Convert-PodcastToAudio.ps1 — converts the script to MP3 with gpt-4o-mini-tts (voices echo + nova)
  4. 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.

Other projects

Completed

PIM Launcher

A PowerShell GUI that activates Entra ID PIM roles on customer tenants and opens the portals in a browser session that is already refreshed, with no more sign-outs or incognito windows.

  • PowerShell
  • Graph API
  • Entra ID
  • PIM
  • +1
All projects