Microsoft 365 Pack
Connect IntelliPPM to Project for the Web, Planner, Teams, Outlook, and SharePoint via the Microsoft 365 Pack.
On this page
What the Microsoft Pack covers
The Microsoft 365 Pack is the umbrella connector for the Microsoft work surfaces:
- Project for the Web — projects, tasks, dependencies, baselines
- Planner — buckets, tasks, assignments
- Teams — channel notifications, Adaptive Cards for AI
recommendations
- Outlook — calendar holds, meeting context for status
summarization
- SharePoint — file picker for project artifacts
All five run as a single tenant-app install. One Microsoft consent flow gives IntelliPPM the scopes it needs across the whole pack; individual surfaces can be toggled on or off per portfolio.
Identity model
Project for the Web is the identity-tricky one because its task identity is a (projectId, taskId) tuple, not a single id. The Identity Graph encodes that tuple in external_id, so when a write in IntelliPPM lands back in Project for the Web the round-trip finds the right task even though the underlying API requires both halves of the tuple. The other surfaces use single-id identity.
Echo-loop prevention
When IntelliPPM emits an outbound write that originated in Microsoft, the connector must not loop the change back through inbound sync. The platform synthesizes a Microsoft-prefixed connection id (microsoft:{tenant}) and the inbound subscriber prefix-skips it. This is locked pattern, documented in the slice retros.
Webhook ingress
Microsoft webhook deliveries land at the platform-shared ingress endpoint. The lookup that maps subscription_id back to a tenant runs in platform-service mode (it has to — the subscription id is generated by Microsoft and is not natively tenant-scoped) and the subsequent processing flips back into tenant context.
Adaptive Cards
AI Brain recommendations surface in Teams as Adaptive Cards (schema 1.5). The cards are intentionally read-only — actions on the card deep-link back into the IntelliPPM web app for the actual HITL approval. This is a deliberate guardrail: we do not let governance decisions complete in a surface that lacks a full audit envelope.
Tabs
The IntelliPPM Teams Tab gives a project owner an in-Teams view of the project they are responsible for, with the same EVM metrics and AI recommendations as the web app. The tab cold-starts via in-page deep-link (the entry route is in PUBLIC_PATHS) because the Teams iframe has restricted cookie access.
Install
The install flow is wizard-driven. From the Integrations panel choose Microsoft 365 Pack, follow the consent prompts, and paste back the rotation token when the wizard asks for it. The delegated tokens are stored on tenant_app with a single-flight lazy refresh so concurrent calls do not race the refresh endpoint.
Limitations
Project for the Web has a defensive 1000-task cap on import that ships even though we have not seen it triggered. The cap is a classifier, not a hard limit — projects above the cap are routed through a slower import path.