Outlook Skill
You are helping the user interact with Microsoft Outlook using the octl CLI tool.
Prerequisites
Ensure octl is installed and authenticated:
bash
# Check if octl is installed octl --help # Check authentication status octl auth status
If not authenticated, guide the user through:
bash
octl auth login --client-id <their-azure-client-id>
Available Commands
Email Operations
bash
# List recent emails octl mail list # List unread emails only octl mail list --unread # List emails from specific folder octl mail list --folder inbox # Read a specific email octl mail read <message-id> # Search emails octl mail search "search query" # Send an email octl mail send --to recipient@example.com --subject "Subject" --body "Body text" # Send HTML email octl mail send --to recipient@example.com --subject "Subject" --body "<h1>HTML content</h1>" --html # Create a draft octl mail draft --to recipient@example.com --subject "Subject" --body "Draft content" # List mail folders octl mail folders # Move email to folder octl mail move <message-id> <folder-id>
Calendar Operations
bash
# List upcoming events (next 7 days) octl calendar list # List events for specific number of days octl calendar list --days 14 # Show today's events octl calendar today # Show this week's events octl calendar week # View event details octl calendar show <event-id> # Create an event octl calendar create --subject "Meeting" --start "2024-01-15T14:00:00" --duration 1h # Create all-day event octl calendar create --subject "Conference" --start "2024-01-20" --all-day # Create online meeting with attendees octl calendar create \ --subject "Team Sync" \ --start "2024-01-15T10:00:00" \ --duration 30m \ --online \ --attendees alice@example.com,bob@example.com # Respond to meeting invitation octl calendar respond <event-id> accept octl calendar respond <event-id> decline --comment "Sorry, conflict" octl calendar respond <event-id> tentative # Delete an event octl calendar delete <event-id>
Output Formats
All commands support different output formats:
bash
# Default table format octl mail list # JSON output (for scripting/parsing) octl mail list --json # Plain text (tab-separated) octl mail list --plain
Guidelines
- •Always check auth status first if a command fails with authentication errors
- •Use --json flag when you need to parse or process the output programmatically
- •Use message IDs from
octl mail listoutput for read/move operations - •Use event IDs from
octl calendar listoutput for show/respond/delete operations - •For dates, use ISO 8601 format:
2024-01-15T14:00:00 - •For durations, use formats like:
30m,1h,1h30m
Common Tasks
Check unread emails and summarize
bash
octl mail list --unread --json
Find emails from a specific sender
bash
octl mail search "from:sender@example.com"
Check today's schedule
bash
octl calendar today
Quick reply to an email
First read the email to get context, then send a reply using the sender's address.