teams-api-6-meeting-automation
Sub-skill of teams-api: 6. Meeting Automation.
Best use case
teams-api-6-meeting-automation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of teams-api: 6. Meeting Automation.
Teams using teams-api-6-meeting-automation should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/6-meeting-automation/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How teams-api-6-meeting-automation Compares
| Feature / Agent | teams-api-6-meeting-automation | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of teams-api: 6. Meeting Automation.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# 6. Meeting Automation
## 6. Meeting Automation
```python
# meetings.py
# ABOUTME: Teams meeting automation via Graph API
# ABOUTME: Create, manage, and get meeting details
from datetime import datetime, timedelta
from typing import List, Optional, Dict
import asyncio
class MeetingManager:
"""Manage Teams meetings via Graph API"""
def __init__(self, graph_client):
self.client = graph_client
async def create_instant_meeting(
self,
subject: str,
organizer_id: str
) -> Dict:
"""Create an instant meeting"""
from msgraph.generated.models.online_meeting import OnlineMeeting
meeting = OnlineMeeting(
subject=subject,
start_date_time=datetime.utcnow().isoformat() + "Z",
end_date_time=(datetime.utcnow() + timedelta(hours=1)).isoformat() + "Z"
)
result = await self.client.users.by_user_id(organizer_id) \
.online_meetings.post(meeting)
return {
"join_url": result.join_web_url,
"meeting_id": result.id,
"subject": result.subject
}
async def schedule_meeting(
self,
subject: str,
start_time: datetime,
end_time: datetime,
organizer_id: str,
attendee_emails: List[str],
body: str = ""
) -> Dict:
"""Schedule a meeting with attendees"""
from msgraph.generated.models.event import Event
from msgraph.generated.models.item_body import ItemBody
from msgraph.generated.models.body_type import BodyType
from msgraph.generated.models.attendee import Attendee
from msgraph.generated.models.email_address import EmailAddress
from msgraph.generated.models.attendee_type import AttendeeType
from msgraph.generated.models.date_time_time_zone import DateTimeTimeZone
attendees = [
Attendee(
email_address=EmailAddress(address=email),
type=AttendeeType.Required
)
for email in attendee_emails
]
event = Event(
subject=subject,
body=ItemBody(
content_type=BodyType.Html,
content=body
),
start=DateTimeTimeZone(
date_time=start_time.isoformat(),
time_zone="UTC"
),
end=DateTimeTimeZone(
date_time=end_time.isoformat(),
time_zone="UTC"
),
attendees=attendees,
is_online_meeting=True,
online_meeting_provider="teamsForBusiness"
)
result = await self.client.users.by_user_id(organizer_id) \
.events.post(event)
return {
"event_id": result.id,
"subject": result.subject,
"join_url": result.online_meeting.join_url if result.online_meeting else None
}
async def get_user_calendar(
self,
user_id: str,
start_date: datetime,
end_date: datetime
) -> List[Dict]:
"""Get user's calendar events"""
result = await self.client.users.by_user_id(user_id) \
.calendar_view.get(
request_configuration=lambda config: (
setattr(config.query_parameters, 'start_date_time', start_date.isoformat()),
setattr(config.query_parameters, 'end_date_time', end_date.isoformat())
)
)
return [
{
"id": event.id,
"subject": event.subject,
"start": event.start.date_time,
"end": event.end.date_time,
"is_online": event.is_online_meeting
}
for event in result.value
]
async def cancel_meeting(
self,
user_id: str,
event_id: str,
cancellation_message: str = ""
):
"""Cancel a scheduled meeting"""
await self.client.users.by_user_id(user_id) \
.events.by_event_id(event_id) \
.cancel.post(comment=cancellation_message)
# Usage example
async def schedule_standup():
"""Schedule a daily standup meeting"""
from graph_client import TeamsGraphClient
client = TeamsGraphClient()
meetings = MeetingManager(client.client)
# Schedule for tomorrow at 9 AM
tomorrow = datetime.utcnow().replace(hour=9, minute=0) + timedelta(days=1)
result = await meetings.schedule_meeting(
subject="Daily Standup",
start_time=tomorrow,
end_time=tomorrow + timedelta(minutes=30),
organizer_id="organizer@company.com",
attendee_emails=[
"team-member1@company.com",
"team-member2@company.com"
],
body="<h2>Daily Standup</h2><p>Please be prepared to share your updates.</p>"
)
print(f"Meeting scheduled: {result['join_url']}")
```Related Skills
teams-meeting-pipeline
Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.
taxact-browser-automation-patterns
Patterns for automating TaxAct Business online (Ionic SPA) via Chrome browser MCP tools — field interaction, navigation, shadow DOM handling
handle-pdf-download-popups-in-automation
Recover when PDF download buttons open inaccessible popups; fall back to capturing structured data instead
handle-browser-automation-financial-site-blocks
Workflow for working around Chrome extension blocks on financial sites during data collection tasks
github-issue-automation-evidence-fields
Use when building GitHub issue classifiers, dashboards, closeout verifiers, or queue/report automation that depends on comments, approval evidence, or linked PR handoff state.
freecad-automation
AI-powered automation agent for FreeCAD CAD operations including natural language processing, batch processing, parametric design, and marine engineering applications. Use for CAD automation, drawing generation, FEM preprocessing, and integration with offshore analysis tools.
automation
Workflow automation, CI/CD pipelines, and task orchestration patterns across platforms like n8n, GitHub Actions, and Make.
plan-automation-contracts
Tighten plans for scheduled/reporting workflows and multi-source detectors so adversarial review can verify runtime, publication, and normalization behavior.
meeting-briefing
Prepare structured briefings for meetings with legal relevance and track action items
invoice-automation
Automate invoice generation for engineering consulting services using YAML configuration and Word document templates.
agent-teams-workspace-work-profile-updated-2026-03-10
Sub-skill of agent-teams: Workspace Work Profile (Updated 2026-03-10).
agent-teams-work-queue-integration
Sub-skill of agent-teams: Work Queue Integration.