The problem
Microsoft 365 license requests are deceptively expensive to fulfill manually: the IT admin has to check pool availability, identify the right SKU for the user's role, assign the seat in the M365 admin center, and confirm endpoint policy push so the user can actually install Office. Each request takes 5-10 minutes and the operation is identical across users — a textbook automation candidate that still consumes hours of senior engineering time per week.
What AscendCore does
A user (or new-hire workflow) requests an M365 license. AscendCore checks pool availability for the requested SKU, identifies the best-available license if the requested SKU is exhausted, proposes the assignment to an IT admin, and on approval assigns the seat and triggers the device-policy push if the user's device is enrolled in Intune or Jamf.
Workflow
- Detect — chat request, new-hire workflow trigger, or admin-portal form
- Check pool — query M365 admin for license-pool availability across SKUs
- Propose — admin approval card with target user, requested SKU, and pool status
- Approve — one-click human approval (always required for license-cost visibility)
- Assign — license assigned via Microsoft Graph API
- Push policy — Intune or Jamf installation policy pushed to the user's enrolled device
- Notify — user receives confirmation; pool levels logged
Integrations
- Microsoft 365 (Graph API) — License assignment, pool query
- Microsoft Intune — Endpoint policy push for managed devices
- Jamf Pro — Endpoint policy push for managed Apple devices
- Slack + Microsoft Teams — Request trigger and confirmation
Status
Live in production. Real license assignment runs against real M365 tenants with verified Microsoft Graph API integration.
