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.