Teams Meeting Pipeline
Teams Meeting Pipeline — easy-to-understand guide based on official docs
Keeping your AI agent connected to Microsoft Teams meetings is like watering a plant—if you forget for a few days, everything wilts. The good news? Hermes Agent gives you a simple set of tools to keep that pipeline alive and healthy.
What Is the Teams Meeting Pipeline?
When you connect Hermes Agent to Microsoft Teams, it uses something called subscriptions to listen for meeting events (like when a meeting starts or ends). Think of these subscriptions as little radio antennas. They don’t last forever—Microsoft forces them to expire every 72 hours. If nothing renews them, your agent goes deaf to meetings, and you won’t know why.
That’s the #1 reason Teams integrations fail. Not because of code bugs, but because nobody renewed the subscriptions on time.
Step 1: Validate Your Setup (Always Do This First)
After any configuration change, run this command to make sure everything is wired correctly:
hermes teams-pipeline validate
It checks your config snapshot and tells you if anything is broken. Think of it as a quick health check before you trust the system.
Step 2: Check Token Health
Your agent uses authentication tokens to talk to Microsoft. These can go stale. To inspect them:
hermes teams-pipeline token-health
If you suspect old auth state is causing problems, force a refresh:
hermes teams-pipeline token-health --force-refresh
Step 3: Look at Your Subscriptions
To see what’s currently active:
hermes teams-pipeline subscriptions
This shows you which meeting subscriptions exist and when they expire. It’s like checking your calendar—you want to know what’s coming up before it’s too late.
Step 4: Renew Subscriptions (The Critical Part)
You can manually renew them:
hermes teams-pipeline maintain-subscriptions
Or do a dry run first to see what would happen without actually changing anything:
hermes teams-pipeline maintain-subscriptions --dry-run
But here’s the secret: you must automate this. Otherwise, you’ll forget, and after 3 days, everything stops.
Automating Subscription Renewal (Non-Negotiable)
You have two solid options. Pick one.
Option A: Hermes Cron (Easiest if You Already Use Hermes)
Create a script file:
mkdir -p ~/.hermes/scripts
cat > ~/.hermes/scripts/maintain-teams-subscriptions.sh << 'EOF'
#!/usr/bin/env bash
exec hermes teams-pipeline maintain-subscriptions
EOF
chmod +x ~/.hermes/scripts/maintain-teams-subscriptions.sh
Then register a cron job that runs every 12 hours (6x headroom against the 72-hour expiry):
hermes cron create "0 */12 * * *" \
--name "teams-pipeline-maintain-subscriptions" \
--no-agent \
--script maintain-teams-subscriptions.sh \
--deliver local
Verify it’s registered:
hermes cron list
hermes cron status
Option B: Systemd Timer (For Linux Production)
Create a service file at /etc/systemd/system/hermes-teams-pipeline-maintain.service:
[Unit]
Description=Hermes Teams pipeline subscription maintenance
After=network-online.target
[Service]
Type=oneshot
User=hermes
EnvironmentFile=/etc/hermes/env
ExecStart=/usr/local/bin/hermes teams-pipeline maintain-subscriptions
Then enable a timer to run it every 12 hours. This is rock-solid for production servers.
Summary & Practical Tip
The Teams Meeting Pipeline is simple: validate → check tokens → review subscriptions → renew automatically. The only thing that kills it is forgetting to renew.
Practical tip: Set up automation before you need it. Don’t wait until the third day. Use the cron approach if you’re on any machine, or systemd if you’re on Linux. Then set a calendar reminder for one month from now to verify the automation is still running. That’s it—you’re done.
Your agent will keep listening to meetings, and you’ll never have to wonder why it went silent.
📖 Official Docs
This article is based on the official Hermes Agent documentation:Official docs › guides/operate-teams-meeting-pipeline