teams-meeting-pipeline

Operate the Teams meeting summary pipeline via Hermes CLI commands.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/xu1713/openhorse --skill teams-meeting-pipeline-xu1713
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: teams-meeting-pipeline
Source: https://github.com/xu1713/openhorse/tree/main/openhorse/openhorse/skills/productivity/teams-meeting-pipeline
Command: npx skills add https://github.com/xu1713/openhorse --skill teams-meeting-pipeline-xu1713

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams meeting summaries can silently stop arriving, jobs fail without visibility, and Microsoft Graph webhook subscriptions expire after 72 hours. This Skill gives operators a single CLI surface to summarize meetings, inspect pipeline status, replay failed jobs, and manage Graph subscriptions. ## Core Features & Use Cases - Status and Inspection: Validate configuration, check Graph token health, list recent meeting jobs, and inspect individual job details. - Replay and Debugging: Re-run stored jobs, dry-run transcript fetching by meeting ID or join URL, and diagnose missing summaries. - Subscription Management: Create, renew, delete, and auto-maintain Microsoft Graph webhook subscriptions before they expire. - Use Case: A user reports no summary arrived for today's meeting. Run hermes teams-pipeline list --status failed, inspect the job with show <job-id>, and if no job exists, check subscriptions for an expired webhook and recreate it. ## Quick Start Ask the assistant to check the Teams meeting pipeline status and list any failed meeting jobs using the hermes teams-pipeline commands.

Frequently Asked Questions about teams-meeting-pipeline

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I summarize a Teams meeting and extract action items?

Use the hermes teams-pipeline CLI to list recent meeting jobs and replay a stored job with `hermes teams-pipeline run <job-id>` to re-summarize and re-deliver. The pipeline is subscription-driven, so new meetings are ingested automatically via Graph webhooks.

Why did my Teams meeting summary never arrive?

Start with `hermes teams-pipeline list --status failed` and inspect the job with `show <job-id>`. If no job exists, check `subscriptions` — Microsoft Graph webhook subscriptions expire after 72 hours and silently stop delivering notifications.

How do I renew Microsoft Graph webhook subscriptions?

Run `hermes teams-pipeline maintain-subscriptions` to renew near-expiry subscriptions, or `renew-subscription <sub-id>` for a specific one. Schedule it every 12 hours via cron or a systemd timer since Graph caps subscriptions at 72 hours.

What permissions does the Teams meeting pipeline need?

The pipeline requires an Azure AD app registration with admin-consented Microsoft Graph application permissions, configured via MSGRAPH_TENANT_ID, MSGRAPH_CLIENT_ID, and MSGRAPH_CLIENT_SECRET. If Graph calls return 401/403, re-grant admin consent in the Azure portal.

Why does fetching a transcript return empty right after a meeting?

Teams takes time to generate the transcript artifact after a meeting ends, so `fetch --meeting-id` on a just-ended meeting may return nothing. Wait 2-5 minutes and retry, or let the Graph webhook drive ingestion naturally.