Intégration Microsoft 365

VérifiéPrudence

Accédez aux données Microsoft 365 via l'API Microsoft Graph. Récupérez les profils utilisateur (nom, email, service, etc.) et lisez ou recherchez des emails avec des filtres et des requêtes KQL. Idéal pour répondre aux questions sur les messages Outlook, les informations utilisateur ou toute donnée Microsoft 365.

Spar Skills Guide Bot
ProductiviteIntermédiaire
02/06/2026
Claude Code
#microsoft-365#graph-api#email#user-info#outlook

Recommandé pour

Synthèse automatique

Cette compétence permet d'accéder aux données Microsoft 365 telles que les e-mails et les profils utilisateur via l'API Microsoft Graph.

Points forts

  • Lecture d'e-mails avec des options de recherche et de filtrage avancées.
  • Récupération d'informations de profil utilisateur (nom, email, titre, département, etc.).
  • Utilisation de la syntaxe KQL pour des recherches précises dans les e-mails.

Limites

  • Nécessite la configuration d'une application Azure AD et des variables d'environnement.
  • Limitée à un seul utilisateur cible (défini dans MS365_TARGET_USER).
  • Accès en lecture seule : impossible d'envoyer ou modifier des e-mails.
Quand l'utiliser

Utilisez cette compétence pour consulter les e-mails ou les informations de profil d'un utilisateur Microsoft 365.

Quand l'éviter

Ne l'utilisez pas si vous devez envoyer des e-mails, modifier des données ou accéder à plusieurs utilisateurs sans modification.

Analyse de sécurité

Prudence
Score qualité90/100

The skill uses Bash to execute Node.js scripts that handle Microsoft 365 data via the Graph API. It requires setting sensitive environment variables and runs npm install. While the instructions are legitimate, the skill could be used to exfiltrate email data if the agent is compromised or if scripts are tampered with. No destructive commands are present, but the power of network access and secret handling warrants caution.

Points d'attention
  • •Uses environment variables for secrets (client secret) which could be exposed if the agent logs the environment.
  • •Executes npm install/npm run build, which may pull untrusted dependencies if the package.json is not verified.
  • •Makes outbound network calls to Microsoft Graph API, potentially leaking data if misused.
Comment cette analyse est faite

Exemples

Get last 10 emails
Show me my last 10 emails from my inbox.
Search emails by subject and sender
Find emails from john@example.com with 'budget' in the subject.
Get user profile info
Retrieve the user profile information for the target user.

name: ms365 description: Access Microsoft 365 data via Microsoft Graph API. Read emails, search messages, get user profile information. Use when the user asks about emails, messages, Outlook, user info, or Microsoft 365 data. license: MIT metadata: author: agentskills version: "1.0.0" api_provider: graph.microsoft.com allowed-tools: Bash(node:*)

Microsoft 365 Integration

Access Microsoft 365 data through the Microsoft Graph API. This Skill provides capabilities to read emails, search messages, and retrieve user profile information.

Prerequisites

Before using this Skill, you must:

  1. Install Node.js dependencies:
cd scripts && npm install && npm run build
  1. Set up Azure AD application and configure environment variables (see SETUP.md for detailed instructions)

Required Environment Variables

Set these environment variables before using the Skill:

export MS365_TENANT_ID="your-tenant-id"
export MS365_CLIENT_ID="your-client-id"
export MS365_CLIENT_SECRET="your-client-secret"
export MS365_TARGET_USER="user@example.com"

Instructions

Getting User Profile Information

To retrieve user profile information:

node scripts/dist/user-info.js

This returns a JSON object with:

  • Display name
  • Email address
  • User principal name
  • Proxy addresses
  • Job title
  • Department
  • Office location
  • Phone numbers

Reading Emails

To retrieve recent emails:

node scripts/dist/email.js --top 20

Available options:

  • --top <number>: Number of messages to retrieve (default: 20, max: 999)
  • --search <query>: Search query using KQL syntax
  • --filter <odata>: OData filter expression
  • --folder <name>: Specific mail folder (e.g., "Inbox", "Sent Items", "Drafts")

Examples:

Get 50 most recent emails:

node scripts/dist/email.js --top 50

Search for emails about "budget":

node scripts/dist/email.js --search "subject:budget"

Get unread emails:

node scripts/dist/email.js --filter "isRead eq false" --top 10

Get emails from specific folder:

node scripts/dist/email.js --folder "Inbox" --top 30

Search for emails from specific sender:

node scripts/dist/email.js --search "from:john@example.com"

Email Data Structure

Each email message includes:

  • id: Message ID
  • subject: Email subject line
  • from: Sender information (name and email address)
  • receivedDateTime: When the email was received (ISO 8601 format)
  • bodyPreview: Preview text of the email body
  • body: Full email body (HTML or plain text)
  • hasAttachments: Boolean indicating if email has attachments
  • isRead: Boolean indicating if email has been read
  • importance: Message importance (normal, low, high)

Search Query Syntax

When using --search, you can use Keyword Query Language (KQL):

  • subject:keyword - Search in subject
  • from:email@example.com - Search by sender
  • to:email@example.com - Search by recipient
  • body:keyword - Search in email body
  • hasattachments:true - Only emails with attachments
  • received:today - Emails received today
  • received>=2024-01-01 - Emails received on or after date

Combine multiple criteria:

node scripts/dist/email.js --search "from:manager@example.com subject:report received:thisweek"

OData Filter Syntax

When using --filter, you can use OData expressions:

  • isRead eq false - Unread messages
  • hasAttachments eq true - Messages with attachments
  • importance eq 'high' - High importance messages
  • receivedDateTime ge 2024-01-01T00:00:00Z - Messages received after date

Combine filters with and/or:

node scripts/dist/email.js --filter "isRead eq false and hasAttachments eq true"

Best Practices

  1. Limit results: Use --top to limit the number of messages retrieved to improve performance
  2. Use specific searches: Narrow down results with search queries or filters to find relevant emails faster
  3. Check environment variables: Ensure all required environment variables are set before running commands
  4. Handle large mailboxes: For mailboxes with thousands of emails, use filters or search to avoid timeouts

Troubleshooting

"Missing required environment variables" error:

  • Verify all four MS365_* environment variables are set
  • Check for typos in variable names
  • Ensure variables are exported in your current shell session

"Error fetching emails" or authentication errors:

  • Verify Azure AD application has correct API permissions
  • Ensure client secret is valid and not expired
  • Check that the target user exists in your tenant
  • See SETUP.md for permission requirements

Empty results:

  • Verify the target user has emails in their mailbox
  • Check folder name spelling if using --folder
  • Try without filters/search to ensure basic connectivity works

Security Notes

  • Client secrets should be treated as passwords - never commit them to version control
  • Consider using Azure Key Vault or similar secure storage for credentials in production
  • The service account needs appropriate permissions - follow principle of least privilege
  • Regularly rotate client secrets according to your organization's security policy

Additional Resources

For detailed setup instructions including Azure AD configuration, see SETUP.md.

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/microsoft-365-integration-mm5t8bm6/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/microsoft-365-integration-mm5t8bm6' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/microsoft-365-integration-mm5t8bm6/download' --output '.skill-downloads/microsoft-365-integration-mm5t8bm6/SKILL.md.part' && mv '.skill-downloads/microsoft-365-integration-mm5t8bm6/SKILL.md.part' '.skill-downloads/microsoft-365-integration-mm5t8bm6/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash(node:*)

Extrait original : Prerequisites

Before using this Skill, you must:

  1. Install Node.js dependencies:
cd scripts && npm install && npm run build
  1. Set up Azure AD application and configure environment variables (see SETUP.md for detailed instructions)

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/microsoft-365-integration-mm5t8bm6/SKILL.md' && test -s '.skill-downloads/microsoft-365-integration-mm5t8bm6/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/ms365' && cp -R '.skill-downloads/microsoft-365-integration-mm5t8bm6' '.claude/skills/ms365'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/microsoft-365-integration-mm5t8bm6'

openskills read 'microsoft-365-integration-mm5t8bm6'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/microsoft-365-integration-mm5t8bm6/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires