outlook-calendar-automation
通过Rube MCP(Composio)自动化Outlook日历任务:创建活动、管理参与者、查找会议时间以及处理邀请。始终优先搜索工具以获取当前架构。
Outlook Calendar Automation via Rube MCP
Automate Outlook Calendar operations through Composio's Outlook toolkit via Rube MCP.
Prerequisites
RUBE_MANAGE_CONNECTIONS with toolkit outlookRUBE_SEARCH_TOOLS first to get current tool schemasSetup
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.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit outlookCore Workflows
1. Create Calendar Events
When to use: User wants to schedule a new event on their Outlook calendar
Tool sequence:
OUTLOOK_LIST_CALENDARS - List available calendars [Optional]OUTLOOK_CALENDAR_CREATE_EVENT - Create the event [Required]Key parameters:
subject: Event titlestart_datetime: ISO 8601 start time (e.g., '2025-01-03T10:00:00')end_datetime: ISO 8601 end time (must be after start)time_zone: IANA or Windows timezone (e.g., 'America/New_York', 'Pacific Standard Time')attendees_info: Array of email strings or attendee objectsbody: Event description (plain text or HTML)is_html: Set true if body contains HTMLlocation: Physical location stringis_online_meeting: Set true for Teams meeting linkonline_meeting_provider: 'teamsForBusiness' for Teams integrationshow_as: 'free', 'tentative', 'busy', 'oof'Pitfalls:
2. List and Search Events
When to use: User wants to find events on their calendar
Tool sequence:
OUTLOOK_GET_MAILBOX_SETTINGS - Get user timezone for accurate queries [Prerequisite]OUTLOOK_LIST_EVENTS - Search events with filters [Required]OUTLOOK_GET_EVENT - Get full details for a specific event [Optional]OUTLOOK_GET_CALENDAR_VIEW - Get events active during a time window [Alternative]Key parameters:
filter: OData filter string (e.g., "start/dateTime ge '2024-07-01T00:00:00Z'")select: Array of properties to returnorderby: Sort criteria (e.g., ['start/dateTime desc'])top: Results per page (1-999)timezone: Display timezone for resultsstart_datetime/end_datetime: For CALENDAR_VIEW time window (UTC with Z suffix)Pitfalls:
3. Update Events
When to use: User wants to modify an existing calendar event
Tool sequence:
OUTLOOK_LIST_EVENTS - Find the event to update [Prerequisite]OUTLOOK_UPDATE_CALENDAR_EVENT - Update the event [Required]Key parameters:
event_id: Unique event identifier (from LIST_EVENTS)subject: New event title (optional)start_datetime/end_datetime: New times (optional)time_zone: Timezone for new timesattendees: Updated attendee list (replaces existing if provided)body: Updated description with contentType and contentlocation: Updated locationPitfalls:
4. Delete Events and Decline Invitations
When to use: User wants to remove an event or decline a meeting invitation
Tool sequence:
OUTLOOK_DELETE_EVENT - Delete an event [Optional]OUTLOOK_DECLINE_EVENT - Decline a meeting invitation [Optional]Key parameters:
event_id: Event to delete or declinesend_notifications: Send cancellation notices to attendees (default true)comment: Reason for declining (for DECLINE_EVENT)proposedNewTime: Suggest alternative time when decliningPitfalls:
5. Find Available Meeting Times
When to use: User wants to find optimal meeting slots across multiple people
Tool sequence:
OUTLOOK_FIND_MEETING_TIMES - Get meeting time suggestions [Required]OUTLOOK_GET_SCHEDULE - Check free/busy for specific people [Alternative]Key parameters:
attendees: Array of attendee objects with email and typemeetingDuration: ISO 8601 duration (e.g., 'PT1H' for 1 hour, 'PT30M' for 30 min)timeConstraint: Time slots to search withinminimumAttendeePercentage: Minimum confidence threshold (0-100)Schedules: Email array for GET_SCHEDULEStartTime/EndTime: Time window for schedule lookup (max 62 days)Pitfalls:
Common Patterns
Event ID Resolution
1. Call OUTLOOK_LIST_EVENTS with time-bound filter
Find target event by subject or other criteria
Extract event id (e.g., 'AAMkAGI2TAAA=')
Use in UPDATE, DELETE, or GET_EVENT calls OData Filter Syntax for Calendar
Time range filter:
filter: "start/dateTime ge '2024-07-01T00:00:00Z' and start/dateTime le '2024-07-31T23:59:59Z'"Subject contains:
filter: "contains(subject, 'Project Review')"Combined:
filter: "contains(subject, 'Review') and categories/any(c:c eq 'Work')"Timezone Handling
OUTLOOK_GET_MAILBOX_SETTINGS with select=['timeZone']Online Meeting Creation
1. Set is_online_meeting: true
Set online_meeting_provider: 'teamsForBusiness'
Create event with OUTLOOK_CALENDAR_CREATE_EVENT
Teams join link available in response onlineMeeting field
Or retrieve via OUTLOOK_GET_EVENT for the full join URL Known Pitfalls
DateTime Formats:
OData Filter Errors:
Attendee Management:
Response Structure:
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Create event | OUTLOOK_CALENDAR_CREATE_EVENT | subject, start_datetime, end_datetime, time_zone |
| List events | OUTLOOK_LIST_EVENTS | filter, select, top, timezone |
| Get event details | OUTLOOK_GET_EVENT | event_id |
| Calendar view | OUTLOOK_GET_CALENDAR_VIEW | start_datetime, end_datetime |
| Update event | OUTLOOK_UPDATE_CALENDAR_EVENT | event_id, subject, start_datetime |
| Delete event | OUTLOOK_DELETE_EVENT | event_id, send_notifications |
| Decline event | OUTLOOK_DECLINE_EVENT | event_id, comment |
| Find meeting times | OUTLOOK_FIND_MEETING_TIMES | attendees, meetingDuration |
| Get schedule | OUTLOOK_GET_SCHEDULE | Schedules, StartTime, EndTime |
| List calendars | OUTLOOK_LIST_CALENDARS | user_id |
| Mailbox settings | OUTLOOK_GET_MAILBOX_SETTINGS | select |