outlook-automation

Automate Outlook tasks via Rube MCP (Composio): emails, calendar, contacts, folders, attachments. Always search tools first for current schemas.

By sickn33 · 506 installs

npx skills add sickn33/agentic-awesome-skills --skill outlook-automation

Source repository · Upstream listing

Outlook Automation via Rube MCP Automate Microsoft Outlook operations through Composio's Outlook toolkit via Rube MCP. Prerequisites Rube MCP must be connected (RUBE SEARCH TOOLS available) Active Outlook connection via RUBE MANAGE CONNECTIONS with toolkit outlook Always call RUBE SEARCH TOOLS first to get current tool schemas Setup Get Rube MCP : Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works. 1. Verify Rube MCP is available by confirming RUBE SEARCH TOOLS responds 2. Call RUBE MANAGE CONNECTIONS with toolkit outlook 3. If connection is not ACTIVE, follow the returned auth link to complete Microsoft OAuth 4. Confirm connection status shows ACTIVE before running any workflows Core Workflows 1. Search and Filter Emails When to use : User wants to find specific emails across their mailbox Tool sequence : 1. OUTLOOK SEARCH MESSAGES Search with KQL syntax across all folders [Required] 2. OUTLOOK GET MESSAGE Get full message details [Optional] 3. OUTLOOK LIST OUTLOOK ATTACHMENTS List message attachments [Optional] 4. OUTLOOK DOWNLOAD OUTLOOK ATTACHMENT Download attachment [Optional] Key parameters : query : KQL search string (from:, to:, subject:, received:, hasattachment:) from index : Pagination start (0 based) size : Results per page (max 25) message id : Message ID (use hitId from search results) Pitfalls : Only works with Microsoft 365/Enterprise accounts (not @hotmail.com/@outlook.com) Pagination relies on hitsContainers[0].moreResultsAvailable; stop only when false Use hitId from search results as message id for downstream calls, not resource.id Index latency: very recent emails may not appear immediately Inline images appear as attachments; filter by mimetype for real documents 2. Query Emails in a Folder When to use : User wants to list emails in a specific folder with OData filters Tool sequence : 1. OUTLOOK LIST MAIL FOLDERS List mail folders to get folder IDs [Prerequisite] 2. OUTLOOK QUERY EMAILS Query emails with structured filters [Required] Key parameters : folder : Folder name ('inbox', 'sentitems', 'drafts') or folder ID filter : OData filter (e.g., isRead eq false and importance eq 'high' ) top : Max results (1 1000) orderby : Sort field and direction select : Array of fields to return Pitfalls : QUERY EMAILS searches a SINGLE folder only; use SEARCH MESSAGES for cross folder search Custom folders require folder IDs, not display names; use LIST MAIL FOLDERS Always check response['@odata.nextLink'] for pagination Cannot filter by recipient or body content; use SEARCH MESSAGES for that 3. Manage Calendar Events When to use : User wants to list, search, or inspect calendar events Tool sequence : 1. OUTLOOK LIST EVENTS List events with filters [Optional] 2. OUTLOOK GET CALENDAR VIEW Get events in a time window [Optional] 3. OUTLOOK GET EVENT Get specific event details [Optional] 4. OUTLOOK LIST CALENDARS List available calendars [Optional] 5. OUTLOOK GET SCHEDULE Get free/busy info [Optional] Key parameters : filter : OData filter (use start/dateTime, NOT receivedDateTime) start datetime / end datetime : ISO 8601 for calendar view timezone : IANA timezone (e.g., 'America/New York') calendar id : Optional non primary calendar ID select : Fields to return Pitfalls : Use calendar event properties only (start/dateTime, end/dateTime), NOT email properties (receivedDateTime) Calendar view requires start datetime and end datetime Recurring events need expand recurring events=true to see individual occurrences Decline status is per attendee via attendees[].status.response 4. Manage Contacts When to use : User wants to list, create, or organize contacts Tool sequence : 1. OUTLOOK LIST CONTACTS List contacts [Optional] 2. OUTLOOK CREATE CONTACT Create a new contact [Optional] 3. OUTLOOK GET CONTACT FOLDERS List contact folders [Optional] 4. OUTLOOK CREATE CONTACT FOLDER Create contact folder [Optional] Key parameters : givenName / surname : Contact name emailAddresses : Array of email objects displayName : Full display name contact folder id : Optional folder for contacts Pitfalls : Contact creation supports many fields but only givenName or surname is needed 5. Manage Mail Folders When to use : User wants to organize mail folders Tool sequence : 1. OUTLOOK LIST MAIL FOLDERS List top level folders [Required] 2. OUTLOOK LIST CHILD MAIL FOLDERS List subfolders [Optional] 3. OUTLOOK CREATE MAIL FOLDER Create a new folder [Optional] Key parameters : parent folder id : Well known name or folder ID displayName : New folder name include hidden folders : Show hidden folders Pitfalls : Well known folder names: 'inbox', 'sentitems', 'drafts', 'deleteditems', 'junkemail', 'archive' Custom folder operations require the folder ID, not display name Common Patterns KQL Search Syntax Property filters : from:user@example.com From sender to:recipient@example.com To recipient subject:invoice Subject contains received =2025 01 01 Date filter hasattachment:yes Has attachments Combinators : AND Both conditions OR Either condition Parentheses for grouping OData Filter Syntax Email filters : isRead eq false Unread emails importance eq 'high' High importance hasAttachments eq true Has attachments receivedDateTime ge 2025 01 01T00:00:00Z Date filter Calendar filters : start/dateTime ge '2025 01 01T00:00:00Z' Events after date contains(subject, 'Meeting') Subject contains text Known Pitfalls Account Types : SEARCH MESSAGES requires Microsoft 365/Enterprise accounts Personal accounts (@hotmail.com, @outlook.com) have limited API access Field Confusion : Email properties (receivedDateTime) differ from calendar properties (start/dateTime) Do NOT use email fields in calendar queries or vice versa Quick Reference Task Tool Slug Key Params Search emails OUTLOOK SEARCH MESSAGES query, from index, size Query folder OUTLOOK QUERY EMAILS folder, filter, top Get message OUTLOOK GET MESSAGE message id List attachments OUTLOOK LIST OUTLOOK ATTACHMENTS message id Download attachment OUTLOOK DOWNLOAD OUTLOOK ATTACHMENT message id, attachment id List folders OUTLOOK LIST MAIL FOLDERS (none) Child folders OUTLOOK LIST CHILD MAIL FOLDERS parent folder id List events OUTLOOK LIST EVENTS filter, timezone Calendar view OUTLOOK GET CALENDAR VIEW start datetime, end datetime Get event OUTLOOK GET EVENT event id List calendars OUTLOOK LIST CALENDARS (none) Free/busy OUTLOOK GET SCHEDULE schedules, times List contacts OUTLOOK LIST CONTACTS top, filter Create contact OUTLOOK CREATE CONTACT givenName, emailAddresses Contact folders OUTLOOK GET CONTACT FOLDERS (none) When to Use This skill is applicable to execute the workflow or actions described in the overview. Example User request: Automate Outlook tasks via Rube MCP (Composio): emails, calendar, contacts, folders, attachments. Limitations Use this skill only when the task clearly matches the scope described above. Do not treat the output as a substitute for environment specific validation, testing, or expert review. Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.