Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 32 additions & 4 deletions .github/plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,45 @@
"name": "workiq-productivity",
"source": "./plugins/workiq-productivity",
"version": "1.0.0",
"description": "WorkIQ productivity skills powered by the local WorkIQ CLI — read-only insights across email, meetings, calendar, Teams, SharePoint, projects, and people.",
"description": "WorkIQ productivity skills powered by the local WorkIQ CLI and remote WorkIQ MCP servers — insights across email, meetings, calendar, Teams, SharePoint, projects, and people.",
"skills": [
"./plugins/workiq-productivity/skills/setup-tenant",
"./plugins/workiq-productivity/skills/action-item-extractor",
"./plugins/workiq-productivity/skills/availability-checker",
"./plugins/workiq-productivity/skills/burndown-report",
"./plugins/workiq-productivity/skills/calendar-optimizer",
"./plugins/workiq-productivity/skills/channel-audit",
"./plugins/workiq-productivity/skills/channel-digest",
"./plugins/workiq-productivity/skills/daily-outlook-triage",
"./plugins/workiq-productivity/skills/document-finder",
"./plugins/workiq-productivity/skills/email-analytics",
"./plugins/workiq-productivity/skills/eod-wrap-up",
"./plugins/workiq-productivity/skills/focus-time-blocker",
"./plugins/workiq-productivity/skills/inbox-zero",
"./plugins/workiq-productivity/skills/knowledge-base-builder",
"./plugins/workiq-productivity/skills/mail-to-task",
"./plugins/workiq-productivity/skills/meeting-cost-calculator",
"./plugins/workiq-productivity/skills/org-chart",
"./plugins/workiq-productivity/skills/meeting-prep-brief",
"./plugins/workiq-productivity/skills/meeting-recap",
"./plugins/workiq-productivity/skills/meeting-to-tasks",
"./plugins/workiq-productivity/skills/monthly-review",
"./plugins/workiq-productivity/skills/morning-brief",
"./plugins/workiq-productivity/skills/multi-plan-search",
"./plugins/workiq-productivity/skills/my-tasks",
"./plugins/workiq-productivity/skills/new-hire-onboarding",
"./plugins/workiq-productivity/skills/org-chart",
"./plugins/workiq-productivity/skills/project-health-report",
"./plugins/workiq-productivity/skills/project-status-snapshot",
"./plugins/workiq-productivity/skills/recurring-meeting-audit",
"./plugins/workiq-productivity/skills/retrospective-runner",
"./plugins/workiq-productivity/skills/site-explorer",
"./plugins/workiq-productivity/skills/channel-audit",
"./plugins/workiq-productivity/skills/channel-digest"
"./plugins/workiq-productivity/skills/smart-scheduler",
"./plugins/workiq-productivity/skills/stakeholder-update",
"./plugins/workiq-productivity/skills/team-pulse",
"./plugins/workiq-productivity/skills/teams-catch-up",
"./plugins/workiq-productivity/skills/thread-summarizer",
"./plugins/workiq-productivity/skills/weekly-planner",
"./plugins/workiq-productivity/skills/weekly-status-report"
]
}
]
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ workiq mcp
|--------|-------------|
| [**workiq**](./plugins/workiq/) | Query Microsoft 365 data with natural language — emails, meetings, documents, Teams messages, and more. |
| [**microsoft-365-agents-toolkit**](./plugins/microsoft-365-agents-toolkit/) | Toolkit for building M365 Copilot declarative agents — scaffolding, manifest authoring, and capability configuration. |
| [**workiq-productivity**](./plugins/workiq-productivity/) | Read-only WorkIQ productivity insights — email triage, meeting costs, org charts, channel audits, and more. |
| [**workiq-productivity**](./plugins/workiq-productivity/) | 36 WorkIQ productivity skills — email, meetings, calendar, Teams, SharePoint, projects, people, and reporting. |

---

Expand Down
2 changes: 1 addition & 1 deletion plugins/workiq-productivity/.github/plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "workiq-productivity",
"description": "WorkIQ productivity skills powered by the local WorkIQ CLI — read-only insights across email, meetings, calendar, Teams, SharePoint, projects, and people.",
"description": "WorkIQ productivity skills powered by the local WorkIQ CLI and remote WorkIQ MCP servers — insights across email, meetings, calendar, Teams, SharePoint, projects, and people.",
"version": "1.0.0",
"author": {
"name": "Microsoft"
Expand Down
64 changes: 64 additions & 0 deletions plugins/workiq-productivity/.mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,70 @@
"command": "npx",
"args": ["-y", "@microsoft/workiq@latest", "mcp"],
"tools": ["*"]
},
"WorkIQ-Me-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_MeServer",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-Mail-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_MailTools",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-Calendar-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_CalendarTools",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-Teams-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_TeamsServer",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-Planner-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_PlannerServer",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-SharepointLists-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_SharePointListsTools",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-SharepointAndOneDrive-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_ODSPRemoteServer",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-Word-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_WordServer",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
}
}
}
73 changes: 73 additions & 0 deletions plugins/workiq-productivity/.mcp.template.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
{
"mcpServers": {
"workiq": {
"command": "npx",
"args": ["-y", "@microsoft/workiq@latest", "mcp"],
"tools": ["*"]
},
"WorkIQ-Me-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_MeServer",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-Mail-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_MailTools",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-Calendar-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_CalendarTools",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-Teams-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_TeamsServer",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-Planner-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_PlannerServer",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-SharepointLists-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_SharePointListsTools",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-SharepointAndOneDrive-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_ODSPRemoteServer",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
},
"WorkIQ-Word-MCP-Server": {
"url": "https://agent365.svc.cloud.microsoft/agents/tenants/<TENANT_ID>/servers/mcp_WordServer",
"type": "http",
"oauth": {
"clientId": "ba081686-5d24-4bc6-a0d6-d034ecffed87",
"callbackPort": 8080
}
}
}
}
88 changes: 56 additions & 32 deletions plugins/workiq-productivity/README.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,82 @@
# WorkIQ Productivity

> **9 read-only skills** — email, meetings, Teams, SharePoint, projects, and people — powered by the local WorkIQ CLI MCP server only. No remote MCP server dependencies.
> **37 skills** (including setup-tenant) — email, meetings, calendar, Teams, SharePoint, projects, people, and reporting — powered by the local WorkIQ CLI and remote WorkIQ MCP servers.

## What It Does

WorkIQ Productivity connects to your Microsoft 365 environment through the local WorkIQ CLI (`npx @microsoft/workiq mcp`) to provide read-only productivity insights:

- **action-item-extractor** — Extract action items with owners, deadlines, and priorities from meeting content
- **daily-outlook-triage** — Quick summary of inbox and calendar for the day
- **email-analytics** — Analyze email patterns — volume, senders, response times
- **meeting-cost-calculator** — Calculate time and cost spent in meetings
- **org-chart** — Visual ASCII org chart for any person
- **multi-plan-search** — Search tasks across all Planner plans
- **site-explorer** — Browse SharePoint sites, lists, and libraries
- **channel-audit** — Audit channels for inactivity and cleanup
- **channel-digest** — Summarize activity across multiple channels
WorkIQ Productivity connects to your Microsoft 365 environment through the local WorkIQ CLI and remote `WorkIQ-*` MCP servers to provide productivity insights across email, calendar, meetings, Teams, SharePoint, projects, people, and reporting.

## Setup

This plugin only requires the local WorkIQ CLI. The `.mcp.json` file ships pre-configured:
This plugin requires the local WorkIQ CLI and remote WorkIQ MCP servers.

After installing the plugin from the marketplace, run the **setup-tenant** skill to configure your tenant:

> **"Set up WorkIQ"** — the setup-tenant skill will ask for your Microsoft 365 tenant ID and configure all remote MCP servers automatically.

```json
{
"workiq": {
"command": "npx",
"args": ["-y", "@microsoft/workiq@latest", "mcp"],
"tools": ["*"]
}
}
```
The local WorkIQ CLI works immediately. The 8 remote MCP servers require a one-time tenant ID configuration via the setup-tenant skill.

> **Note:** Your tenant admin must also grant consent for the WorkIQ app. See [Admin Instructions](../../ADMIN-INSTRUCTIONS.md) for details. A copy of the base configuration is available in `.mcp.template.json` to reset if needed.

## Skills

| Skill | Description |
|-------|-------------|
| [**setup-tenant**](./skills/setup-tenant/SKILL.md) | One-time setup — configure your Microsoft 365 tenant ID |
| [**action-item-extractor**](./skills/action-item-extractor/SKILL.md) | Extract action items with owners, deadlines, priorities |
| [**availability-checker**](./skills/availability-checker/SKILL.md) | Check colleague availability and find free slots |
| [**burndown-report**](./skills/burndown-report/SKILL.md) | Sprint burndown chart from Planner task data |
| [**calendar-optimizer**](./skills/calendar-optimizer/SKILL.md) | Analyze calendar for fragmentation and suggest improvements |
| [**channel-audit**](./skills/channel-audit/SKILL.md) | Audit channels for inactivity and cleanup |
| [**channel-digest**](./skills/channel-digest/SKILL.md) | Summarize activity across multiple channels |
| [**daily-outlook-triage**](./skills/daily-outlook-triage/SKILL.md) | Quick summary of inbox and calendar for the day |
| [**document-finder**](./skills/document-finder/SKILL.md) | Search for documents across SharePoint and OneDrive |
| [**email-analytics**](./skills/email-analytics/SKILL.md) | Analyze email patterns — volume, senders, response times |
| [**eod-wrap-up**](./skills/eod-wrap-up/SKILL.md) | End-of-day summary of accomplishments and open items |
| [**focus-time-blocker**](./skills/focus-time-blocker/SKILL.md) | Find and block focus time on your calendar |
| [**inbox-zero**](./skills/inbox-zero/SKILL.md) | Guided inbox triage — archive, reply, delegate, or defer |
| [**knowledge-base-builder**](./skills/knowledge-base-builder/SKILL.md) | Build a knowledge base from SharePoint content |
| [**mail-to-task**](./skills/mail-to-task/SKILL.md) | Convert emails into Planner tasks |
| [**meeting-cost-calculator**](./skills/meeting-cost-calculator/SKILL.md) | Calculate time and cost spent in meetings |
| [**org-chart**](./skills/org-chart/SKILL.md) | Visual ASCII org chart for any person |
| [**meeting-prep-brief**](./skills/meeting-prep-brief/SKILL.md) | Pre-meeting briefing with attendee context and docs |
| [**meeting-recap**](./skills/meeting-recap/SKILL.md) | Structured recap of a past meeting |
| [**meeting-to-tasks**](./skills/meeting-to-tasks/SKILL.md) | Extract action items from meetings into Planner tasks |
| [**monthly-review**](./skills/monthly-review/SKILL.md) | Comprehensive monthly review document |
| [**morning-brief**](./skills/morning-brief/SKILL.md) | Personalized morning digest — email, Teams, calendar |
| [**multi-plan-search**](./skills/multi-plan-search/SKILL.md) | Search tasks across all Planner plans |
| [**my-tasks**](./skills/my-tasks/SKILL.md) | Personal task dashboard across all Planner plans |
| [**new-hire-onboarding**](./skills/new-hire-onboarding/SKILL.md) | End-to-end onboarding automation for new hires |
| [**org-chart**](./skills/org-chart/SKILL.md) | Visual ASCII org chart for any person |
| [**project-health-report**](./skills/project-health-report/SKILL.md) | Polished project health report with risk analysis |
| [**project-status-snapshot**](./skills/project-status-snapshot/SKILL.md) | Quick-glance Planner project dashboard |
| [**recurring-meeting-audit**](./skills/recurring-meeting-audit/SKILL.md) | Audit recurring meetings for efficiency |
| [**retrospective-runner**](./skills/retrospective-runner/SKILL.md) | Facilitate team retrospectives via Teams |
| [**site-explorer**](./skills/site-explorer/SKILL.md) | Browse SharePoint sites, lists, and libraries |
| [**channel-audit**](./skills/channel-audit/SKILL.md) | Audit channels for inactivity and cleanup |
| [**channel-digest**](./skills/channel-digest/SKILL.md) | Summarize activity across multiple channels |
| [**smart-scheduler**](./skills/smart-scheduler/SKILL.md) | Find mutual availability and book meetings |
| [**stakeholder-update**](./skills/stakeholder-update/SKILL.md) | Compose executive status updates |
| [**team-pulse**](./skills/team-pulse/SKILL.md) | Manager dashboard — direct reports' calendar load and 1:1 cadence |
| [**teams-catch-up**](./skills/teams-catch-up/SKILL.md) | Digest of unread Teams chats, mentions, and reply queue |
| [**thread-summarizer**](./skills/thread-summarizer/SKILL.md) | Summarize email threads or Teams conversations |
| [**weekly-planner**](./skills/weekly-planner/SKILL.md) | Prioritized weekly action plan with focus-time suggestions |
| [**weekly-status-report**](./skills/weekly-status-report/SKILL.md) | Auto-generate weekly status reports |

## MCP Servers

This plugin uses **only** the local WorkIQ CLI MCP server:

| Server | Command | Capabilities |
|--------|---------|-------------|
| **workiq** | `npx -y @microsoft/workiq@latest mcp` | Natural language queries across all M365 data (emails, meetings, files, Teams, people). Handles its own auth. |

No remote `WorkIQ-*` MCP servers (agent365.svc.cloud.microsoft) are required.
This plugin uses the local WorkIQ CLI and remote WorkIQ MCP servers hosted at `agent365.svc.cloud.microsoft`:

| Server | Type | Capabilities |
|--------|------|-------------|
| **WorkIQ** (local CLI) | Local (`npx @microsoft/workiq mcp`) | Natural language queries across all M365 data |
| **WorkIQ-Me-MCP-Server** | Remote | User profile, directory lookups, manager chain, direct reports |
| **WorkIQ-Mail-MCP-Server** | Remote | Email search, read, draft, reply, forward, flag, delete |
| **WorkIQ-Calendar-MCP-Server** | Remote | Calendar view, event creation, availability, room finder |
| **WorkIQ-Teams-MCP-Server** | Remote | Teams/channels, messages, chat, search, posting |
| **WorkIQ-Planner-MCP-Server** | Remote | Plans, tasks, creation, updates, queries |
| **WorkIQ-SharepointLists-MCP-Server** | Remote | SharePoint site search, lists, list items |
| **WorkIQ-SharepointAndOneDrive-MCP-Server** | Remote | Document libraries, files, folders, file preview |
| **WorkIQ-Word-MCP-Server** | Remote | Word document creation |

All remote servers use OAuth with public client authentication.

## Platform Support

Expand Down
Loading