MCPInstall

add-office365

by microsoft Official

Adds Office 365 Outlook connector to a Power Apps code app. Use when accessing calendars, sending emails, reading inbox, or managing Outlook events.

Installs
289
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/microsoft/power-platform-skills --skill add-office365
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads add-office365 automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

📋 Shared Instructions: shared-instructions.md - Cross-cutting concerns.

Add Office 365 Outlook

Workflow

  1. Check Memory Bank -> 2. Add Connector -> 3. Review Generated Service -> 4. Configure -> 5. Build -> 6. Update Memory Bank

Step 1: Check Memory Bank

Check for memory-bank.md per shared-instructions.md.

Step 2: Add Connector

First, find the connection ID (see connector-reference.md):

Run the /list-connections skill. Find the Office 365 Outlook connection in the output (API name contains office365). If none exists, direct the user to create one using the environment-specific Connections URL — construct it from the active environment ID in context (from power.config.json or a prior step): https://make.powerapps.com/environments/<environment-id>/connections → + New connection → search for the connector → Create.

pa app add data-source --connector office365 -c <connection-id>

Step 3: Review Generated Service

The generated service file (src/generated/services/Office365OutlookService.ts) is large. Use Grep to find specific methods instead of reading the entire file:

Grep pattern="async \w+" path="src/generated/services/Office365OutlookService.ts"

Key methods (sorted by common usage):

Calendar Operations

MethodPurposeKey Parameters
GetEventsCalendarViewV2Get events in a date rangecalendarId, startDateTimeOffset, endDateTimeOffset
V3CalendarPostItemCreate a calendar eventtable (calendar ID), item (CalendarEventHtmlClient)
CalendarDeleteItemDelete an eventtable (calendar ID), id (event ID)
CalendarPatchItemUpdate an eventtable, id, item
V2CalendarGetTablesList available calendars(none)

Email Operations

MethodPurposeKey Parameters
SendEmailV2Send an emailemailMessage (body, to, subject, etc.)
GetEmailsGet inbox emailsfolderPath, fetchOnlyUnread, top
GetEmailGet single emailmessageId
MarkAsReadMark email as readmessageId
ReplyToV3Reply to an emailmessageId, body
Flag / UnflagFlag/unflag emailmessageId

Contact Operations

MethodPurpose
GetContactFoldersList contact folders
ContactGetTablesList contact tables

Step 4: Configure

Ask the user what Office 365 Outlook operations they need (skip if already specified by caller).

Calendar -- Get events for a date range:

import { Office365OutlookService } from "../generated/services/Office365OutlookService";

const result = await Office365OutlookService.GetEventsCalendarViewV2(
  "Calendar", // calendarId -- "Calendar" for default
  startDate.toISOString(),
  endDate.toISOString()
);
const events = result.data?.value || [];

Calendar -- Create an event:

await Office365OutlookService.V3CalendarPostItem("Calendar", {
  Subject: "Focus Time",
  Start: "2025-06-15T10:00:00", // ISO 8601 format
  End: "2025-06-15T11:00:00",
  ShowAs: "Busy",
  Importance: "Normal",
  IsAllDay: false,
  Body: "<p>Blocked for focus work</p>",
  Reminder: 5
});

Calendar -- Delete an event:

await Office365OutlookService.CalendarDeleteItem("Calendar", eventId);

Email -- Send an email:

await Office365OutlookService.SendEmailV2({
  To: "<recipient-address>",
  Subject: "Subject line",
  Body: "<p>HTML email body</p>",
  Importance: "Normal"
});

Key types:

TypePurpose
CalendarEventClientReceiveStringEnumsRead model -- has Subject, Start, End, Id, ShowAs, IsAllDay, Organizer
CalendarEventHtmlClientWrite model -- requires Subject, Start, End; optional Body, ShowAs, Importance, Reminder
EntityListResponse_CalendarEventClientReceiveStringEnumsResponse wrapper -- access events via .value

Response pattern:

const result = await Office365OutlookService.GetEventsCalendarViewV2(...);
if (result.success) {
  const events = result.data?.value || [];
} else {
  console.error("Failed:", result.error);
}

Step 5: Build

npm run build

Fix TypeScript errors before proceeding. Do NOT deploy yet.

Step 6: Update Memory Bank

Update memory-bank.md with: connector added, configured operations, build status.

FAQ

What does the add-office365 skill do?

Adds Office 365 Outlook connector to a Power Apps code app. Use when accessing calendars, sending emails, reading inbox, or managing Outlook events.

How do I install add-office365?

Run npx skills add https://github.com/microsoft/power-platform-skills --skill add-office365 in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/add-office365/ (personal) or .claude/skills/add-office365/ (project).

Which AI agents can use add-office365?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is add-office365 safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains add-office365?

It is published by microsoft in microsoft/power-platform-skills, and it is an official skill from the maker of the technology it covers. It has 289 recorded installs.

More from microsoft/power-platform-skills

View all →

add-sharepoint

microsoft/power-platform-skills

Adds SharePoint Online connector to a Power Apps code app. Use when reading lists, managing documents, or integrating with SharePoint sites. Can also create new SharePoint lists.

Official337 installs

create-code-app

microsoft/power-platform-skills

Creates Power Apps code apps using React and Vite. Use when building code apps, scaffolding projects, or deploying to Power Platform.

OfficialFrontend & Design308 installs

add-dataverse

microsoft/power-platform-skills

Adds Dataverse tables to a Power Apps code app with generated TypeScript models and services. Can also create new Dataverse tables. Use when connecting to Dataverse, adding tables, creating schema, or querying Dataverse data.

OfficialCode Quality & Workflow304 installs

configure-canvas-mcp

microsoft/power-platform-skills

Open the skill to read its SKILL.md instructions.

OfficialAI & Agents296 installs

canvas-app

microsoft/power-platform-skills

Creates or edits a Power Apps Canvas App through the Canvas Authoring MCP coauthoring session. Handles staged experience design, direct and partitioned targeted edits, planned multi-screen changes, responsive layout, and compile-error convergence. Trigger on requests to create, build, generate, modify, update, change, fix, or edit a Canvas App or .pa.yaml files.

OfficialFrontend & Design284 installs

genpage

microsoft/power-platform-skills

Open the skill to read its SKILL.md instructions.

Official259 installs

Popular other skills

View category →

hyperframes-cli

heygen-com/hyperframes

The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.

1.3M installs

triage

mattpocock/skills

Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.

1M installs

ask-matt

mattpocock/skills

Ask which skill or flow fits your situation. A router over the skills in this repo.

778.4K installs

to-questionnaire

mattpocock/skills

Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

508.9K installs

wait-what

mattpocock/skills

Stop. That last message did not land: re-pitch it.

459.7K installs

loop-me

mattpocock/skills

Grill me about specs for the workflows I want to build, within this workspace.

447.9K installs