An API that connects multiple Microsoft services, enabling data access and automation across platforms
Yes. For skill tracking, the recommended approach is to use the built-in People Skills/Skills capabilities that already interpret Microsoft 365 activity signals from Microsoft Graph, instead of trying to handcraft a skill model directly from raw activity data.
Key points relevant to the scenario:
- How Microsoft 365 already turns activity into skills
- The People Skills AI inference engine uses Microsoft 365 profile and activity signals from Microsoft Graph (documents, emails, chats, meetings) plus the Microsoft Skills Graph taxonomy to infer skills for each user.
- It associates users with a representative set of skill names based on collaboration signals and content (for example, a document on front-end development might infer skills like front-end development, web development, React, or Angular).
- Inferences are constrained to the skills available in the organization’s skills library (out-of-the-box plus any custom skills uploaded by admins), which helps normalize and standardize the skill set.
- These inferred skills are not meant to be a complete reflection of a person’s capabilities, but they are optimized for aggregate accuracy and practical use in Microsoft 365 experiences.
- Using People Skills instead of building a custom interpretation layer
- Rather than manually mapping raw Graph usage or audit events to skills, People Skills uses large language models and a proprietary inferencing approach on top of Graph data to do this translation.
- This directly addresses the “data interpretation problem”: the service is designed to interpret activity signals as skills, track them over time, and surface them in experiences like profile cards, Copilot, People Companion, and Org Explorer.
- HR analysts, group managers, and leaders can view aggregate skills data (AI-generated and user-confirmed) to understand the organization’s skills landscape and progression.
- Importing and exporting skills for integration
- If external systems already track skills or learning progression, admins can import those skills into Microsoft 365 so they appear on user skill profiles as “Imported by your organization.” Users can then confirm them.
- Import is done via the Organization data ingestion tool by populating the
Microsoft_UserSkillNamesattribute in the CSV template, ensuring the skill names match the skills library. - Confirmed skills (including confirmed imported skills) can be exported via the Microsoft Graph Profile endpoint (skills API) for downstream analytics or learning systems. AI-generated (unconfirmed) skills cannot be exported.
- Interpreting progression and improvement
- Skill progression is best modeled by combining:
- AI-inferred skills from People Skills (based on ongoing activity signals), and
- Confirmed skills (user-validated and imported skills), rather than trying to derive proficiency directly from low-level usage metrics.
- Administrators can refine the skills library and role-to-skill mappings so that the inference engine’s outputs better reflect the organization’s expectations of skill levels and growth.
- Skill progression is best modeled by combining:
- Alternative data sources for activity, if needed
- For detailed user activity across Microsoft 365 (Teams, SharePoint, OneDrive, Outlook, etc.), Microsoft 365 Graph Usage Reports and the Office 365 Management API provide rich usage and audit data.
- These APIs are useful for analytics and compliance, but they still leave the interpretation of “skill improvement” to the consuming system. People Skills is specifically designed to bridge that gap by interpreting Graph-based activity into skills.
In practice, the most reliable way to translate Microsoft 365 activity into skills and learning progression is to:
- enable and configure People Skills and the skills library,
- optionally import skills from external systems, and
- use the Graph Profile/skills endpoints to consume confirmed skills for reporting or learning analytics, instead of building a custom skill model directly on raw Graph activity.
References: