RH-04 — Intercontrat + synchronisation LAB
| Fonction | Nature | Framework | Score | Statut |
|---|---|---|---|---|
| RH | Automatisation | n8n | 18* | 🟠 Vague 2 — API Progessi ✅ |
Source : atelier RH 27/08 — “Planning intercontrat, relance après 2 jours, sync LAB (congés, dispo, CV, référents)”.
Contexte métier
Section titled “Contexte métier”- Intercontrat = consultants Proxiad sans mission facturée active (“sur le banc”). Volume typique évoqué en séance : “on avait une vingtaine d’intercontrats” (Michaël Ohana).
- Aujourd’hui : suivi hebdo manuel — Maëva vérifie chaque jour ce que les collaborateurs ont saisi, prépare le planning, envoie mails et relances.
- Verbatim Maëva Saucerotte : “Il faut au minimum deux jours sur site. On évite qu’il n’y ait personne au même jour.” → règle de présence physique.
- Verbatim Maëva : “Ce planning, c’est un fichier aussi qu’on partage du coup le vendredi après qu’elle ait fait les mails. Elle le partage aussi au commercial et au recrutement pour qu’elle sache, semaine suivante, si elles peuvent contacter l’intercontract.” → cadence hebdo vendredi confirmée.
- Verbatim Maëva : “Sur les RTT on est en capacité en fait à partir du moment où ils font une semaine d’intercontrats à leur imposer un RTT employeur par semaine et pour compenser on leur offre une absence autorisée payée. Donc c’est pareil, c’est un mail qui part.” → règle RTT employeur intégrée aux relances.
- Verbatim Michaël Ohana : “Dès qu’on apprend la sortie d’un collaborateur, il faut qu’on demande au service IT de nous fournir un PC. Et des fois, on l’a trop tard […] on avait une vingtaine d’intercontrats et on n’avait pas 20 PC.” → irritant IT lié aux sorties tardives.
- Cible :
- Planning hebdomadaire automatique — envoi vendredi 07h00 aux commerciaux et recrutement.
- Relance J+2 au consultant pour actualiser sa dispo dans LAB + envoyer CV à jour au référent.
- Relance J+7 en absence de réponse.
- Escalade J+14 au référent commercial.
- Synchronisation LAB (dénommé “LAB — Lettre Après Bénef” dans la nomenclature interne / “Learning & Ability Base” dans les échanges) — fichier commercial partagé contenant CV, dispos, référents.
- Verbatim Michaël sur le LAB : “Quelle est la différence entre le LAB et l’intercontrat, sachant que s’il est en LAB, c’est qu’il est forcément en intercontrat ? Vous l’avez dans les deux fichiers ? […] Dans le fichier LAB, vous le retrouvez et vous savez ce qu’il fait [en R&D / mécénat / présentation client]. Avec des données en plus.” → LAB = sur-ensemble enrichi du fichier intercontrat.
- Localisation LAB à qualifier : SharePoint ? Boond Manager ? Fichier partagé ? — question ouverte majeure bloquant le sens de synchronisation.
- Canal mail : problème récurrent que les consultants ne lisent pas leur mail Proxiad quand ils sont en régie chez le client (mail client verrouillé, mail perso privilégié) → cadrage relance à valider avec DRH.
- Interlocutrices : Maëva Saucerotte (opérationnelle intercontrat), Alexandra Delcourt (DRH), équipes commerciales (LAB).
Transcripts sources : RH audit Mekorai 27/08/2026 (synthèse + verbatim), restitution DG consolidée vagues 1-2.
Objectif du cas d’usage
Section titled “Objectif du cas d’usage”Détecter automatiquement les entrées en intercontrat depuis Progessi READ, générer un planning hebdo (vendredi 07h00), relancer les consultants pour maintenir dispos et CV à jour dans LAB, alerter IT en amont des sorties futures (prévention manque de PC), notifier les commerciaux des nouveaux profils dispos.
Ce que l’API Progessi READ apporte :
- Détection d’entrée en intercontrat via
POST /timesheets: le champintercontract(booléen ou nombre de jours selon spec) sur le CRA du consultant. - Détection missions finissant sous 15j via
POST /projectsFilterModelendDate BETWEEN today AND +15d. - Profil consultant (email Proxiad, BU, entité, référent) via
GET /profiles/{id}(34 fields). - Historique dernière mission via
POST /timesheetsgroupé parproducer.
Ce qui vient de sources externes :
- LAB — fichier commercial partagé, localisation non tranchée (bloquant) :
- Si SharePoint : lecture/écriture via Graph API
GET/PUT /drive/items. - Si Boond Manager : DSI a confirmé une API — endpoints
POST /candidatesouPATCH /resources/{id}à valider avec Boond (portée write à qualifier).
- Si SharePoint : lecture/écriture via Graph API
- Mapping consultant → référent commercial (CSV RH mensuel ou champ Progessi à confirmer).
Ce qui reste manuel côté RH / commercial :
- Déclenchement de la Lettre Après Bénef (LAB) — c’est une action RH côté Alexandra/Maëva. Progessi READ permet de détecter les intercontrats prolongés (via
timesheets.intercontractcumulé), mais ne peut pas déclencher la lettre ni positionner un consultant sur une opportunité. - Décisions “on propose ce profil sur telle opp” (commercial).
- Arbitrage sorties tardives — signal envoyé à IT en amont, mais la remontée d’info dépend toujours des BU.
- Statut opp dans LAB : “proposed” / “shortlisted” / “signed” — géré par le commercial, RH-04 ne fait que lire ce statut pour retirer le consultant du planning intercontrat.
Étapes fonctionnelles détaillées
Section titled “Étapes fonctionnelles détaillées”- Cron quotidien 9h00 : détecter nouveaux entrants intercontrat dans Progessi.
- À J+2 après entrée intercontrat : mail au consultant : “Bonjour, tu es en intercontrat depuis J+2. Merci de mettre à jour ta dispo dans LAB + envoyer CV à jour à ton référent”.
- À J+7 si pas de réponse : relance.
- À J+14 si silence : escalade référent commercial.
- Cron hebdo vendredi 07:00 :
- Lister tous les consultants intercontrat (actuels + missions finissant dans 15j)
- Générer tableau consolidé : nom, entité, dernière mission, date fin, jours intercontrat, compétences, référent
- Format Excel + dashboard web
- Synchronisation LAB :
- Nouveaux intercontrat → insertion dans LAB
- Consultants proposés sur opp dans LAB → sortent auto du tableau intercontrat
- Notifications :
- RH : digest hebdo global
- Commerciaux : “3 nouveaux profils dispos cette semaine”
- Référents : notif quand un de leurs consultants entre en intercontrat
Flot d’appels API
Section titled “Flot d’appels API”flowchart TD
Cron1[Cron quotidien 9h] --> Detect[Progessi<br/>POST /timesheets<br/>FilterModel<br/>intercontract=true<br/>period=current<br/>fields: producer,nbDays,<br/>intercontract,businessUnit]
Detect --> Enrich[Progessi<br/>GET /profiles/producerId<br/>email,BU,referent,hireDate]
Enrich --> New{Nouveau<br/>entrant J0 ?}
New -->|Oui| ITAlert[Graph API<br/>POST /me/sendMail<br/>service IT<br/>anticipation PC]
ITAlert --> WaitJ2[Wait J+2]
WaitJ2 --> MailCol[Graph API<br/>POST /me/sendMail<br/>consultant<br/>mail Proxiad + perso<br/>relance dispo LAB]
MailCol --> WaitJ7[Wait J+7]
WaitJ7 --> Check{Reponse<br/>ou dispo LAB<br/>mise a jour ?}
Check -->|Non| Relance[Graph API<br/>POST /me/sendMail<br/>relance 2]
Relance --> WaitJ14[Wait J+14]
WaitJ14 --> Escal[Graph API<br/>POST /me/sendMail<br/>referent commercial<br/>+ manager]
Cron2[Cron hebdo vendredi 7h] --> ListInter[Progessi<br/>POST /timesheets<br/>intercontract=true]
ListInter --> Ending[Progessi<br/>POST /projects<br/>FilterModel<br/>endDate BETWEEN<br/>today AND +15d]
Ending --> GenPlan[Excel structure<br/>nom, BU, derniere mission,<br/>date fin, jours intercontrat,<br/>competences, referent]
GenPlan --> SyncLAB{LAB<br/>localisation ?}
SyncLAB -->|SharePoint| SPLAB[Graph API<br/>PUT /sites/lab/drive/root:<br/>/LAB.xlsx:/content]
SyncLAB -->|Boond| BoondAPI[Boond API<br/>PATCH /resources/id<br/>ou POST /candidates]
SyncLAB -->|Non tranche| Manual[Bloqueur<br/>publication SharePoint RH<br/>en attendant arbitrage]
SPLAB --> NotifRH[Graph API<br/>POST /me/sendMail<br/>digest RH DRH]
BoondAPI --> NotifRH
Manual --> NotifRH
NotifRH --> NotifCom[Graph API<br/>POST /me/sendMail<br/>commerciaux<br/>N nouveaux profils dispos]
NotifRH --> NotifRef[Graph API<br/>POST /me/sendMail<br/>referents concernes]
OutLAB[Lecture LAB<br/>statut opp<br/>proposed/shortlisted] -.->|Consultant place| RemInter[Retirer du planning<br/>intercontrat cycle suivant]
Confrontation à l’API Progessi réelle
Section titled “Confrontation à l’API Progessi réelle”Base URL : https://proxiad.progessi.com/api/control/rest — BasicAuth — READ-ONLY. Pattern : GET /<res>, POST /<res> (FilterModel), GET /<res>/{id}. Toute demande d’écriture passe par clalanne@progessi.com.
| Besoin RH-04 | Endpoint Progessi | Faisabilité | Contournement |
|---|---|---|---|
| Détecter consultants en intercontrat | POST /timesheets FilterModel avec champ intercontract (39 fields dont nbDays, potentialDays, producer, businessUnit) | ✅ | — |
| Détecter missions finissant sous 15j | POST /projects FilterModel endDate BETWEEN today AND +15d | ✅ | — |
| Récupérer email + BU + référent + hireDate | GET /profiles/{id} (34 fields) | ✅ (champ référent à confirmer dans le mapping des 34 fields) | Fallback CSV RH mensuel |
| Historique dernière mission facturée | POST /timesheets groupé par producer order desc | ✅ | — |
| Déclencher Lettre Après Bénef (LAB) dans Progessi | ❌ Aucun BPM exposé | 🔴 impossible | LAB reste manuel côté RH — RH-04 se limite à détecter l’intercontrat prolongé et alerter Alexandra/Maëva pour émission de la lettre |
| Écrire la disponibilité du consultant dans son profil | ❌ Pas de PUT /profiles/{id} | 🔴 impossible | Le consultant met à jour côté LAB ; Progessi n’est pas synchronisé en retour |
| Positionner un consultant sur une opportunité | ❌ Pas d’entité “opportunité” writable | 🔴 impossible | Action commerciale dans LAB / Boond |
| Poser un RTT employeur | ❌ Pas de POST /emplLeaves | 🔴 impossible | Mail au consultant + saisie manuelle Progessi côté RH |
Sources externes :
- LAB — SharePoint (Graph API) ou Boond Manager (API DSI-confirmée). Choix bloquant, session RH + commercial requise.
- Microsoft Graph — mails consultant / manager / IT / commerciaux, publication planning hebdo.
- Boond Manager — si LAB = Boond, endpoints write à qualifier (portée et scopes).
Règles n8n à cadrer :
- Définition “intercontrat” :
timesheets.intercontract=trueOUnbDays/potentialDays < 50%sur le mois glissant — à trancher avec Maëva. - Seuil “prolongé” pour déclenchement alerte LAB RH : ex. > 5 jours d’intercontrat cumulés sur les 15 derniers jours (paramètre n8n).
- Canal mail : Proxiad + perso simultanément (compensation du problème de non-lecture mail Proxiad en régie).
- Retrait du planning : lecture du statut opp dans LAB
= proposed | shortlisted | signed→ sortie automatique du cycle suivant.
API map
Section titled “API map”| # | Étape | Fonction / endpoint | Application | Existe ? | Accès dispo ? | Notes |
|---|---|---|---|---|---|---|
| 1 | Détecter intercontrat | POST /profiles FilterModel + POST /projects FilterModel status=active | Progessi | ✅ | ✅ | Shortcut progessi_intercontract_by_month existe |
| 2 | Missions finissant | POST /projects FilterModel endDate BETWEEN today AND +15d | Progessi | ✅ | ✅ | — |
| 3 | Profil consultant | GET /profiles/{id} (email + compétences + référent) | Progessi | ✅ | ✅ | — |
| 4 | Envoyer mail consultant | POST /me/sendMail | Microsoft Graph | ✅ | ⚠️ Extension droits | — |
| 5 | Sync LAB (SharePoint) | PUT /sites/lab/drive/root:/lab.xlsx | Microsoft Graph | ✅ | ⚠️ | Si LAB = SharePoint |
| 6 | Sync LAB (Boond) | POST /candidates OU PATCH /resources/{id} | Boond Manager | ✅ | ✅ (DSI confirmé) | Si LAB = Boond |
| 7 | Notif Teams | POST /teams/{id}/channels/{id}/messages | Microsoft Graph | ✅ | ⚠️ | Canal RH/Commercial |
Prérequis techniques
Section titled “Prérequis techniques”- API Progessi ✅
- Extension droits M365
- Localisation LAB qualifiée (SharePoint ? Boond ? autre ?) — BLOQUANT
- Mapping consultant → référent commercial
- Instance n8n avec support “wait” scheduled (J+2, J+7, J+14)
Livrables Proxiad attendus
Section titled “Livrables Proxiad attendus”- Localisation LAB qualifiée (session 30 min RH + commercial) — BLOQUANT
- Structure fichier LAB (colonnes, format)
- Règles synchronisation : sens unique (Progessi → LAB) ou bidirectionnel ?
- Mapping consultant → référent commercial
- Définition précise “intercontrat” (depuis J+X ? missions à < 50% charge ?)
- Templates relances (J+2, J+7, escalade J+14) validés DRH
- Fréquence planning : vendredi 07:00 confirmé (mentionné en séance) ?
- Périmètre entités v1
- Politique consultant proposé sur opp : sort auto du tableau intercontrat ? conditionné à statut “en cours” ?
Timeline estimative
Section titled “Timeline estimative”Effort : 4 jours-n8n (plus si LAB = Boond avec write API à qualifier).
- S+0 : qualification localisation LAB (30 min RH + commercial)
- S+1 J1 : shortcut Progessi + détection intercontrat raffinée
- S+1 J2 : handler planning + notifs hebdo
- S+1 J3 : sync LAB (selon SharePoint ou Boond)
- S+1 J4 : relances J+2/J+7/J+14
- S+2 : tests + démo Alexandra + commerciaux
- S+3 : pilote 3 semaines
- Octobre : mise en production
Critères de recette
Section titled “Critères de recette”- Planning hebdo généré vendredi 07:00, tous intercontrat présents
- Relance J+2 envoyée dans 24h après entrée
- Sync LAB effective (visible < 1h)
- Notif commerciaux “N nouveaux dispos” OK
- Escalade référent J+14 OK
- 0 doublon LAB
- Consultant proposé sur opp → sort auto du tableau
Risques identifiés
Section titled “Risques identifiés”| Risque | Impact | Mitigation |
|---|---|---|
| LAB = Boond avec write API restreinte | Sync impossible | Fallback lecture only, alerte “à ajouter manuellement” |
| Consultant vexé par relance | Malaise social | Ton amical, cadrage DRH, désactivation possible |
| Commerciaux submergés notifs | Alert fatigue | Digest hebdo + filtre compétences pertinentes |
| Détection intercontrat imprécise (mission partielle) | Faux positifs | Cadrage règle définition intercontrat AVANT dev |
Questions ouvertes
Section titled “Questions ouvertes”- Q1 : Où vit LAB exactement ? SharePoint ? Boond Manager ? Fichier partagé ? Outil dédié ?
- Q2 : Structure LAB — colonnes, format, workflow d’enrichissement (CV, dispos, référents) ?
- Q3 : Sens sync : Progessi → LAB uniquement OU bidirectionnel ?
- Q4 : Définition “intercontrat” — juste sans mission ? À moins de 50% charge ? À moins de X jours facturés ?
- Q5 : Référent commercial — un seul par consultant ou par BU/spécialité ?
- Q6 : Consultant sort du tableau si proposé sur opp — trigger sur statut opp = “proposed” ? “shortlisted” ? “signed” ?
- Q7 : Sorties tardives (mentionné en séance) — comment on préviens le turnover équipement IT ? (pas dans le scope de ce cas mais irritant lié)
- Q8 : Cadence vendredi 7h — les commerciaux vont regarder ça avant leur premier RDV lundi ?