From outlook-suite
Complete Microsoft Outlook automation via PowerShell COM objects on Windows. Covers email (read, search, draft, send, reply, forward, move, delete, flag, categorize, rules, attachments, out-of-office), calendar (list events, create/update/delete appointments, respond to meetings, recurring events, free/busy, rooms), contacts (list, create, search, update, delete, export vCard, photos), tasks (list, create, update, complete, assign, delete with priorities and reminders), and notes (list, create, read, delete sticky notes). Use when the user mentions Outlook, email, calendar, meetings, contacts, tasks, notes, or any mail/scheduling operation on Windows.
npx claudepluginhub mustafaakben/outlook-suite-plugin --plugin outlook-suiteThis skill uses the workspace's default tool permissions.
Automates Microsoft Outlook operations across email, calendar, contacts, tasks, and notes using PowerShell COM objects. 62 scripts organized into 5 focused modules.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Automates Microsoft Outlook operations across email, calendar, contacts, tasks, and notes using PowerShell COM objects. 62 scripts organized into 5 focused modules.
-Confirm parameterAll modules use EntryID as the primary method to target specific items. EntryID is a permanent, unique identifier that never changes.
Workflow:
outlook-find.ps1 for stable EntryIDs)# Step 1: Find the item
powershell -File outlook-find.ps1 -From "john@example.com" -Days 3
# Step 2: Act on it using EntryID from results
powershell -File outlook-read-body.ps1 -EntryID "00000000..."
Action scripts also accept -Index as a fallback, but EntryID is strongly preferred for accuracy.
This suite is organized into 5 self-contained modules. Each module has its own detailed documentation with full parameter tables, examples, and reference data. Load the relevant module documentation based on what the user needs.
The largest module (35 scripts). Handles all email operations:
outlook-find.ps1 for EntryID discovery with rich filtering10 scripts for calendar and meeting management:
7 scripts for contact management:
6 scripts for task management:
4 scripts for Outlook sticky notes:
IMPORTANT FOR AI AGENTS: This index gives you the correct script name for each operation. Before running any script, you MUST read the relevant module SKILL.md (linked in each heading) for full parameter documentation, required vs optional parameters, and usage examples. Do NOT guess parameters from the script name alone.
Find and Target
outlook-find.ps1 — Find emails by criteria, return stable EntryIDs for action scriptsRead and Search
outlook-read.ps1 — List recent inbox emails with sender, date, unread status, and EntryIDoutlook-read-body.ps1 — Read full email body by EntryID or indexoutlook-search.ps1 — Search emails by subject, sender, or body textoutlook-search-advanced.ps1 — Multi-filter advanced search (attachments, importance, flags, dates, folders)Compose and Send
outlook-draft.ps1 — Create draft email (plain text or HTML, with attachments)outlook-draft-update.ps1 — Modify existing draft (recipients, subject, body, attachments)outlook-send.ps1 — Send email directly (requires -Confirm)outlook-send-as.ps1 — Send from a specific account (requires -Confirm)outlook-reply.ps1 — Reply or Reply All to email (requires -Confirm to send)outlook-forward.ps1 — Forward email to recipients (requires -Confirm to send)outlook-voting.ps1 — Send email with voting buttons/poll (requires -Confirm)Organize
outlook-move.ps1 — Move email to a folder by name or pathoutlook-delete.ps1 — Delete email, soft or permanent (requires -Confirm)outlook-mark-read.ps1 — Mark email as read or unreadoutlook-conversation.ps1 — View full email conversation threadoutlook-print.ps1 — Print email to default printerFlags, Importance and Sensitivity
outlook-flag.ps1 — Flag email for follow-up with optional due date and reminderoutlook-unflag.ps1 — Remove flag or mark flag as completeoutlook-set-importance.ps1 — Set email priority (Low, Normal, High)outlook-set-sensitivity.ps1 — Set email sensitivity (Normal, Personal, Private, Confidential)outlook-save-as.ps1 — Export email to file (msg, txt, html, mht)Categories
outlook-list-categories.ps1 — List all categories with colorsoutlook-create-category.ps1 — Create new category with coloroutlook-assign-category.ps1 — Assign category to email (appends, does not replace)outlook-remove-category.ps1 — Remove specific or all categories from emailoutlook-delete-category.ps1 — Delete category from master listScheduling and Receipts
outlook-schedule-send.ps1 — Schedule email to send at a future date/timeoutlook-request-receipt.ps1 — Send with read and/or delivery receipt requestsoutlook-recall.ps1 — Attempt to recall a sent email (Exchange only)Account and Rule Management
outlook-folders.ps1 — List all mail folders with item and unread countsoutlook-accounts-list.ps1 — List all configured email accountsoutlook-rules-list.ps1 — List email rules with ON/OFF statusoutlook-rules-create.ps1 — Create new email rule with conditions and actionsoutlook-out-of-office.ps1 — Configure Out of Office auto-replies (Exchange)outlook-attachment-save.ps1 — Save email attachments to disk (skips inline images by default)Events and Appointments
outlook-calendar-list.ps1 — List upcoming calendar events with EntryIDsoutlook-calendar-create.ps1 — Create appointment or meeting with attendeesoutlook-calendar-update.ps1 — Update an existing event's details (subject, time, location)outlook-calendar-delete.ps1 — Delete a calendar event or meetingMeetings and Responses
outlook-calendar-respond.ps1 — Accept, tentatively accept, or decline a meeting invitationoutlook-calendar-attendees.ps1 — View attendee list with response statusoutlook-calendar-forward.ps1 — Forward event as iCalendar (.ics) attachmentRecurring Events
outlook-calendar-recurring.ps1 — Create recurring event (daily, weekly, monthly, yearly patterns)Availability and Rooms
outlook-freebusy.ps1 — Check free/busy availability for attendees (Exchange)outlook-calendar-rooms.ps1 — Find available conference rooms for a time slot (Exchange)AI AGENTS: Read outlook-calendar/SKILL.md for full parameter tables and examples before running any calendar script.
Browse and Search
outlook-contacts-list.ps1 — Browse contacts with optional search filtering, returns EntryIDsoutlook-contacts-search.ps1 — Search contacts by name, email, and/or company (AND logic)Manage
outlook-contacts-create.ps1 — Create new contact (name, email, phone, company, job title)outlook-contacts-update.ps1 — Edit existing contact fields by EntryID or indexoutlook-contacts-delete.ps1 — Delete contact by EntryID, index, or exact nameExtras
outlook-contacts-photo.ps1 — Add or remove contact photo (JPG, PNG, GIF, BMP)outlook-contacts-export.ps1 — Export contact as vCard (.vcf) fileBrowse
outlook-tasks-list.ps1 — List tasks with optional status filtering, returns EntryIDsManage
outlook-tasks-create.ps1 — Create new task with due date, priority, and reminderoutlook-tasks-update.ps1 — Edit task fields (status, priority, due date, progress, reminder)outlook-tasks-complete.ps1 — Mark task as completed by EntryID, index, or subjectoutlook-tasks-delete.ps1 — Delete task by EntryID, index, or subjectDelegate
outlook-tasks-assign.ps1 — Assign task to another person via ExchangeBrowse
outlook-notes-list.ps1 — List notes with optional color and search filtering, returns EntryIDsManage
outlook-notes-create.ps1 — Create sticky note with optional color (Blue, Green, Pink, Yellow, White)outlook-notes-read.ps1 — Read full note content by EntryID or indexoutlook-notes-delete.ps1 — Delete note by EntryID or indexAI AGENTS: Read the relevant module SKILL.md linked in each section heading above for full parameter documentation and examples. Do NOT guess parameter names or assume defaults — always check the module docs first.
All scripts are PowerShell files located in each module's scripts/ directory. Execute them with:
powershell -File <module>/scripts/<script-name>.ps1 -Param1 value1 -Param2 value2
Scripts handle COM object lifecycle automatically (connection, cleanup, garbage collection).