Skip to content
Skillpedia
Automations48k · #3784

outlook-calendar-automation

Lets your agent automate Outlook calendar tasks. It creates events, manages attendees, and handles meeting invitations.

What it does

This agent helps manage your Outlook calendar. You can create events, invite people, find meeting times, and respond to invitations.

When to use it

  • ✓Scheduling a new meeting.
  • ✓Checking for available meeting slots.
  • ✓Responding to a meeting invitation.

Example of what to ask your AI

“Create an event on my calendar for 'Project Meeting' tomorrow at 2 PM with John Doe and Jane Smith.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/outlook-calendar-automation/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/outlook-calendar-automation/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

It connects to your Outlook to read and write calendar information. It first checks if it can access your Outlook tools, then performs the necessary commands to fulfill your request.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

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

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/outlook-calendar-automation/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Outlook Calendar Automation via Rube MCP

Automate Outlook Calendar 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. Create Calendar Events

When to use: User wants to schedule a new event on their Outlook calendar

Tool sequence:

  1. OUTLOOK_LIST_CALENDARS - List available calendars [Optional]
  2. OUTLOOK_CALENDAR_CREATE_EVENT - Create the event [Required]

Key parameters:

  • subject: Event title
  • start_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 objects
  • body: Event description (plain text or HTML)
  • is_html: Set true if body contains HTML
  • location: Physical location string
  • is_online_meeting: Set true for Teams meeting link
  • online_meeting_provider: 'teamsForBusiness' for Teams integration
  • show_as: 'free', 'tentative', 'busy', 'oof'

Pitfalls:

  • start_datetime must be chronologically before end_datetime
  • time_zone is required and must be a valid IANA or Windows timezone name
  • Adding attendees can trigger invitation emails immediately
  • To generate a Teams meeting link, set BOTH is_online_meeting=true AND online_meeting_provider='teamsForBusiness'
  • user_id defaults to 'me'; use email or UUID for other users' calendars

2. List and Search Events

When to use: User wants to find events on their calendar

Tool sequence:

  1. OUTLOOK_GET_MAILBOX_SETTINGS - Get user timezone for accurate queries [Prerequisite]
  2. OUTLOOK_LIST_EVENTS - Search events with filters [Required]
  3. OUTLOOK_GET_EVENT - Get full details for a specific event [Optional]
  4. 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 return
  • orderby: Sort criteria (e.g., ['start/dateTime desc'])
  • top: Results per page (1-999)
  • timezone: Display timezone for results
  • start_datetime/end_datetime: For CALENDAR_VIEW time window (UTC with Z suffix)

Pitfalls:

  • OData filter datetime values require single quotes and Z suffix
  • Use 'start/dateTime' for event start filtering, NOT 'receivedDateTime' (that is for emails)
  • 'createdDateTime' supports orderby/select but NOT filtering
  • Pagination: follow @odata.nextLink until all pages are collected
  • CALENDAR_VIEW is better for "what's on my calendar today" queries (includes spanning events)
  • LIST_EVENTS is better for keyword/category filtering
  • Response events have start/end nested as start.dateTime and end.dateTime

3. Update Events

When to use: User wants to modify an existing calendar event

Tool sequence:

  1. OUTLOOK_LIST_EVENTS - Find the event to update [Prerequisite]
  2. 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 times
  • attendees: Updated attendee list (replaces existing if provided)
  • body: Updated description with contentType and content
  • location: Updated location

Pitfalls:

  • UPDATE merges provided fields with existing event; unspecified fields are preserved
  • Providing attendees replaces the ENTIRE attendee list; include all desired attendees
  • Providing categories replaces the ENTIRE category list
  • Updating times may trigger re-sends to attendees
  • event_id is required; obtain from LIST_EVENTS first

4. Delete Events and Decline Invitations

…

FAQ

How does the agent know my time zone?

It attempts to get your mailbox settings to use the correct time zone when scheduling or searching for events.

What happens if I add attendees to an event?

Adding attendees typically sends an email invitation to them immediately.

How does the agent find meeting times?

It checks the availability of the people you list and looks for times when everyone is free, within any time constraints you set.

Details

Original description by the author

Automate Outlook Calendar tasks via Rube MCP (Composio): create events, manage attendees, find meeting times, and handle invitations. Always search tools first for current schemas.

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#3784
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills