Lister les utilisateurs (membres)
Liste les utilisateurs actifs ou archivés avec leurs rôles et équipes Spendesk. Tient compte de la limitation de résultats pour les grandes entreprises via la pagination.
86/100·🔍 Ponctuel·DébutantControllerFinance Analyst
ParamétrageConformitéget_users
🎯 But du skill
Liste les utilisateurs actifs ou archivés avec leurs rôles et équipes Spendesk. Tient compte de la limitation de résultats pour les grandes entreprises via la pagination.
📊 Ce que ça produit
Annuaire des membres avec rôle Spendesk, équipe d'appartenance et statut (actif/archivé).
⚡ Bénéfice
Avant
Export manuel de l'annuaire — pas de vue combinée rôles et équipes en une seule requête.
Après
Annuaire complet rôles + équipes instantané, avec pagination automatique.
# Instructions — Lister les utilisateurs (membres)
## ⚠️ Rôles et équipes non disponibles
`get_users` retourne : `id`, `firstName`, `lastName`, `email`, `companyId`
**Ce qui n'est PAS disponible :**
- Rôle (admin, contrôleur, employé...)
- Équipe / département
- Date d'embauche ou de départ
→ Pour filtrer "les admins" ou "les managers" : impossible via `get_users` seul.
→ Solution : utiliser les cost centers ou champs analytiques comme proxy organisationnel.
## ⚠️ Utilisateurs archivés : firstName et lastName = null
`firstName`, `lastName` et `email` peuvent chacun être null (fréquent pour les utilisateurs en attente ; observé aussi sur des utilisateurs archivés de ce compte). Ne pas supposer qu'un utilisateur archivé n'a jamais de nom, ni qu'il a toujours un email.
```json
// Utilisateur actif :
{ "id": "...", "firstName": "Alice", "lastName": "Martin", "email": "alice@spendesk.com" }
// Utilisateur archivé :
{ "id": "...", "firstName": null, "lastName": null, "email": "alice@spendesk.com" }
```
→ Toujours utiliser `email` comme label de fallback si `firstName=null`.
→ Format d'affichage recommandé : `firstName + lastName || email`
## ⚠️ Cache 1200 secondes (20 minutes)
Les données peuvent avoir jusqu'à 20min de retard.
→ Pour du temps réel (onboarding en cours, départ récent), en informer l'utilisateur.
## Étape 1 — Lister les utilisateurs actifs
```json
{ "companyId": "...", "status": "active", "pageSize": 100 }
```
Toujours paginer jusqu'à `hasNextPage=false` — ce compte a plus de 10 utilisateurs actifs (hasNextPage=true dès pageSize=10).
## Étape 2 — Inclure les utilisateurs archivés (audit historique)
```json
{ "companyId": "...", "status": "archived", "pageSize": 100 }
```
Usage : retrouver les dépenses passées d'un ancien employé (par email ou userId).
⚠️ `firstName`/`lastName` peuvent être null — afficher le nom s'il existe, sinon l'email, sinon signaler l'ID comme non résolu.
## Étape 3 — Résoudre un userId en nom
Pour résoudre un `memberId` (issu d'une payable) en nom d'employé :
1. Appeler `get_users` (status=active)
2. Si non trouvé, appeler `get_users` avec status=archived, puis status=pending (un appel par statut, il n'existe pas de « all »). Un utilisateur retiré de cette entité mais encore membre d'une autre n'est renvoyé par aucun statut : signaler alors l'ID comme non résolu.
3. Afficher : `${user.firstName} ${user.lastName}` si non-null, sinon `user.email`
## Étape 4 — Utilisation comme référentiel pour spendesk_analyze_spend
Pour filtrer les dépenses par employé :
1. `get_users` → trouver le `userId` par prénom/email
2. Passer `filters.employeeIds=[userId]` dans `spendesk_analyze_spend`
## Exemple live (données réelles)
- Utilisateurs actifs : > 10 (hasNextPage=true à pageSize=10)
- Utilisateurs archivés : > 5 (hasNextPage=true à pageSize=5)
- Format archivé confirmé : `{ firstName: null, lastName: null, email: "nina.mayer@spendesk.com" }`
## Exemple de prompt
- "Liste tous les employés actifs" → status=active + pagination complète
- "Retrouve les dépenses de Nina Mayer (ancienne employée)" → status=archived, filter by email
- "Qui a le plus de dépenses en juin ?" → get_users + spendesk_analyze_spend groupBy=employee
Comment installer ce skill
/
- 1Télécharger le fichier
s35-get-users-roles-teams.mdvia le bouton ci-dessus. - 2Placer le fichier dans le répertoire
.claude/de votre projet (ou~/.claude/pour une installation globale).cp s35-get-users-roles-teams.md .claude/s35-get-users-roles-teams.md - 3Utiliser dans Claude Code — le skill est automatiquement découvert. Décrivez votre besoin en langage naturel et Claude appliquera les instructions du skill.
💡 Assurez-vous que le MCP Spendesk est configuré dans votre
.claude/settings.json avec les outils get_users.Skills similaires
★ Top