## Pourquoi c'est important

Recruter, c'est gérer une file d'attente. Les évaluations s'accumulent, des candidatures s'endorment, cinq candidats attendent le même « merci, mais pas cette fois » écrit avec tact. Kit expose le module Recrutement aux assistants IA de deux manières — l'agent intégré, présent sur chaque page Recrutement, et des outils MCP que tout client externe (Claude Desktop, Claude Code, Codex CLI ou vos propres agents) peut appeler sur votre compte.

**Nul besoin d'être administrateur du compte pour vous connecter.** Toute personne ayant accès au Recrutement peut configurer un client MCP et le pointer vers Kit. Se connecter est un acte personnel, comme installer une application sur son propre ordinateur — ce que l'assistant peut ensuite atteindre se décide appel par appel, selon vos propres permissions, et non selon l'identité de la personne qui a fait la configuration.

Les deux surfaces appliquent les mêmes règles que l'interface : permissions de module, accès par offre d'emploi, cloisonnement par compte et chacun des verrous de cycle de vie imposés par les formulaires. Un assistant agit *en votre nom*. Il ne peut jamais atteindre une offre d'emploi que vous ne pouvez pas ouvrir, ni faire quoi que ce soit que l'interface web vous refuserait.

## L'assistant intégré

Ouvrez le chat IA sur n'importe quelle page de [Recrutement](/hiring/job_postings) — il s'active automatiquement, aux côtés des agents Sécurité et Prospection. Il sait :

**Traiter votre file** — « Qu'est-ce qui m'attend aujourd'hui ? » renvoie vos évaluations ouvertes ainsi que toute revue d'équipe conclue sans issue nette, avec pour chacune le candidat, l'étape et le temps d'attente écoulé.

**Présélectionner les candidats** — « Résume les 3 meilleures candidatures pour le poste Senior Rails » récupère les résumés de candidature, les [champs de données candidat](/docs/candidate-data-fields) extraits et le texte du CV, puis les classe au regard de l'offre.

**Faire avancer le pipeline** — faire passer un candidat à l'étape suivante, le refuser avec un mot personnalisé, ou annuler un refus. Chaque action vous est attribuée et se retrouve dans la piste d'audit.

**Rédiger les réponses aux candidats** — l'agent prépare l'e-mail sous forme de brouillon en attente. Rien ne quitte Kit tant qu'un humain ne l'a pas envoyé.

**Répondre aux questions sur la plateforme** — l'agent cherche dans la documentation de Kit sans quitter la conversation.

## Référence des outils MCP

### Ce que votre rôle autorise

Trois limites distinctes se cumulent, et un appel d'outil doit franchir les trois :

1. **Les portées de la connexion.** Quand vous autorisez un client, vous choisissez, module par module, la lecture seule ou la lecture et l'écriture. Une connexion à qui l'on n'a accordé que `hiring_read` ne peut pas écrire, quelle que soit votre identité. L'écriture est désactivée par défaut sur l'écran de consentement.
2. **Votre propre niveau d'accès au Recrutement.** Kit relit votre niveau en vigueur, module par module, à chaque appel : un changement de vos accès prend donc effet immédiatement, et non au prochain renouvellement de jeton. Un membre sans accès au Recrutement n'obtient aucun outil de recrutement. À l'intérieur du Recrutement, vous atteignez les offres que vous atteindriez dans le navigateur : celles qui ne sont pas restreintes, plus celles dont vous faites partie de l'équipe de recrutement. Une offre restreinte renvoie « introuvable », exactement comme un identifiant fantaisiste.
3. **Administration du module et abonnement.** Une poignée d'outils sont réservés aux administrateurs Recrutement — créer des offres d'emploi et des modèles de processus, et changer les paramètres de téléchargement des CV. Définir et modifier les métachamps suit la même règle que l'application web : les administrateurs Recrutement plus les responsables du recrutement de l'offre concernée. La plupart des outils d'écriture exigent en plus un abonnement actif.

Le rôle prédéfini `recruiter` confère l'administration du Recrutement : un recruteur dispose donc de la panoplie complète des outils de recrutement sans être administrateur du compte par ailleurs. Voir [Rôles d'équipe](/docs/team-roles) pour ce qu'accorde chaque rôle prédéfini.

Dans la colonne **Nécessite** ci-dessous : *lecture* désigne tout membre du Recrutement disposant d'une portée en lecture ; *écriture* signifie que la connexion doit disposer de la lecture et de l'écriture ; *administrateur Recrutement* désigne l'administration du module Recrutement ; *admin ou responsable* désigne un administrateur Recrutement ou un responsable du recrutement de l'offre concernée ; *abonnement* désigne un forfait actif.

### Configuration et modèles

| Outil | Nécessite | Ce qu'il fait |
|------|:--------:|--------------|
| `hiring_get_setup_guide` | lecture | Commencez ici. L'état du compte, ce que votre rôle autorise, une checklist de configuration indiquant l'outil qui comble chaque manque, et l'appel suivant recommandé |
| `hiring_list_templates` | lecture | Les modèles de processus de recrutement disponibles sur le compte, avec leurs étiquettes et leur état de publication |
| `hiring_get_template` | lecture | Un modèle en entier : chaque étape, son type et sa configuration |
| `hiring_create_process_template` | écriture · administrateur Recrutement | Créer un modèle de processus réutilisable à partir d'une liste d'étapes, avec des évaluateurs facultatifs par étape |

### Offres d'emploi

| Outil | Nécessite | Ce qu'il fait |
|------|:--------:|--------------|
| `hiring_list_job_postings` | lecture | Les offres auxquelles vous avez accès, avec leur statut, le nombre de candidatures et un résumé des étapes |
| `hiring_get_job_posting` | lecture | Une offre en entier : contenu, étapes et leur configuration, évaluateurs et URL du portail |
| `hiring_create_job_posting` | écriture · administrateur Recrutement · abonnement | Créer une offre en brouillon, à partir d'un modèle ou d'étapes définies directement. Renvoie l'URL d'édition |
| `hiring_list_metafield_definitions` | lecture | Les champs de données personnalisés définis sur une offre, avec leurs types et leurs réglages d'extraction. Les champs réservés aux responsables n'apparaissent qu'aux admins et aux responsables du recrutement de l'offre |
| `hiring_create_metafield_definition` | écriture · admin ou responsable | Ajouter un métachamp à une offre, éventuellement marqué pour l'[extraction IA](/docs/ai-extraction) ou réservé aux responsables |

### Pipeline

| Outil | Nécessite | Ce qu'il fait |
|------|:--------:|--------------|
| `hiring_list_applications` | lecture | Les candidatures soumises, filtrables par offre, par statut et par période |
| `hiring_get_application_summary` | lecture | Tout ce qu'il faut pour présélectionner une candidature : candidat, réponses, historique des étapes, notes |
| `hiring_get_stage_details` | lecture | Le détail propre au type d'étape pour une étape donnée — exercice de code, entretien, vidéo, portfolio |
| `hiring_search_video_transcripts` | lecture | Recherche sémantique et textuelle dans les transcriptions des entretiens vidéo |
| `hiring_get_metafield_values` | lecture | Les valeurs de champs extraites et saisies à la main pour une candidature, avec leurs indices de confiance. Les champs réservés aux responsables n'apparaissent qu'aux admins et aux responsables du recrutement de l'offre |
| `hiring_advance_application` | écriture · abonnement | Faire passer une candidature à l'étape suivante, ou directement à une étape nommée |
| `hiring_reject_application` | écriture · abonnement | Refuser une candidature. Le candidat reçoit un e-mail, accompagné de votre message personnalisé si vous en fournissez un |
| `hiring_unreject_application` | écriture · abonnement | Annuler un refus, avec un motif d'audit obligatoire |
| `hiring_save_note` | écriture · abonnement | Enregistrer un retour ou le résumé d'un fil sur une candidature, en vous l'attribuant |
| `hiring_update_metafield_value` | écriture · admin ou responsable | Définir à la main la valeur d'un champ — enregistrée comme votre modification et protégée contre toute réextraction |
| `hiring_trigger_metafield_extraction` | écriture · admin ou responsable | Relancer l'extraction IA sur le CV joint à une candidature |

### Évaluations

| Outil | Nécessite | Ce qu'il fait |
|------|:--------:|--------------|
| `hiring_list_reviews` | lecture | Votre boîte de réception d'évaluations, répartie entre ce qui attend une décision, ce que vous devez rendre et ce qui dépend des autres |
| `hiring_get_review_details` | lecture | Tout ce dont un évaluateur a besoin pour un candidat à une étape donnée : critères, soumissions, notes déjà attribuées |
| `hiring_list_pending_decisions` | lecture | Les revues d'équipe conclues sans issue nette — vote partagé ou absence de quorum |
| `hiring_decide_review` | écriture · abonnement | Trancher une revue d'équipe bloquée par une décision attribuée et auditée, avec une justification obligatoire |

### Vivier de talents

| Outil | Nécessite | Ce qu'il fait |
|------|:--------:|--------------|
| `hiring_list_talent_pool` | lecture | Les entrées vérifiées du vivier de talents, avec un résumé de CV condensé, paginées |
| `hiring_search_talent_pool` | lecture | Rechercher dans le vivier par compétences, expérience ou e-mail — en sémantique, avec repli sur la recherche textuelle |
| `hiring_invite_talent_pool` | écriture · abonnement | Inviter une entrée du vivier à postuler à une offre précise |

### Messagerie

| Outil | Nécessite | Ce qu'il fait |
|------|:--------:|--------------|
| `hiring_list_messages` | lecture | Le fil e-mail complet entre votre équipe et un candidat |
| `hiring_send_message` | écriture · abonnement | Préparer une réponse sous forme de **brouillon en attente**. Le candidat ne reçoit aucun e-mail tant qu'un humain ne l'a pas envoyé |

### Candidats et CV

| Outil | Nécessite | Ce qu'il fait |
|------|:--------:|--------------|
| `hiring_get_candidate_summary` | lecture | Un candidat vu à travers toutes les candidatures qu'il vous a adressées |
| `hiring_get_candidate_cv` | lecture | Le texte de CV extrait pour un candidat ou une entrée du vivier de talents |
| `hiring_get_candidate_cv_url` | lecture | Une URL de téléchargement signée et éphémère vers le fichier d'origine — cinq minutes par défaut, dix au maximum |
| `hiring_get_cv_download_settings` | lecture | La configuration de confiance du compte pour le téléchargement des CV : domaines de confiance, mode strict, et ce que cela implique concrètement |
| `hiring_update_cv_download_settings` | écriture · administrateur Recrutement · abonnement | Ajouter ou retirer des domaines de confiance, ou activer et désactiver le mode strict |

Les ressources sont adressées par des identifiants préfixés (`job_…` pour les offres, `app_…` pour les candidatures, `cand_…` pour les candidats, `tpe_…` pour les entrées du vivier de talents) que les outils renvoient et acceptent : un agent enchaîne donc lister → détailler → agir sans dépendre de l'interface graphique.

### Limites

- **Les messages aux candidats sont de vrais e-mails, adressés à de vraies personnes.** `hiring_send_message` s'arrête délibérément au brouillon en attente : aucun chemin MCP ne dépose un e-mail dans la boîte d'un candidat sans qu'un humain appuie sur « envoyer ». `hiring_reject_application`, lui, *envoie bien* un e-mail au candidat, sous réserve du délai d'attente avant envoi configuré sur votre compte ; traitez-le comme un envoi, pas comme un changement de statut.
- **L'accès aux CV suit les paramètres de téléchargement des CV du compte.** `hiring_get_candidate_cv_url` génère une URL signée selon les mêmes règles de confiance que celles appliquées dans le navigateur — domaines de confiance, mode strict et les accès propres à votre équipe. Activer le mode strict réduit ce que l'outil accepte de renvoyer.
- **Les offres restreintes sont invisibles, pas interdites.** Une offre dont vous êtes écarté renvoie « introuvable » plutôt que « accès refusé » : rien ne filtre à son sujet, pas même son existence.
- **Aucun agent ne peut s'octroyer plus de droits.** Rien dans la panoplie d'outils de recrutement ne modifie le rôle, le niveau d'accès ou l'appartenance à un module de qui que ce soit.

## Connecter un client externe

La configuration se trouve dans [Intégrations > Kit pour l'IA](/integrations/mcp/settings), avec une configuration à copier-coller par client. Aucun accès administrateur n'est requis pour l'ouvrir. Pour Claude Code :

```
claude mcp add --transport http kit https://startupkit.app/api/v1/mcp
```

À la première utilisation, votre client déroule le flux OAuth de Kit dans le navigateur. Choisissez le compte, puis accordez `hiring_read` pour le triage et le suivi, et `hiring_write` uniquement aux assistants censés agir en votre nom. Les modules auxquels vous n'avez pas accès apparaissent sur l'écran de consentement, signalés comme hors de votre rôle — les accorder ne produit rien d'exploitable.

La configuration complète pour chaque client, le flux OAuth et la purge après 90 jours d'inactivité sont détaillés dans [Connecter des assistants IA](/docs/connecting-ai-assistants).

## Exemples d'invites

| Ce que vous tapez | Ce qui se passe |
|---------------|--------------|
| « Qu'est-ce qui m'attend aujourd'hui ? » | `hiring_list_reviews` + `hiring_list_pending_decisions` → vos évaluations ouvertes et chaque décision d'équipe bloquée, les plus anciennes d'abord |
| « Résume les 3 meilleurs candidats pour le poste Senior Rails » | `hiring_list_applications` → `hiring_get_application_summary` → `hiring_get_candidate_cv` → une liste courte classée, avec les éléments qui justifient chaque rang |
| « Fais passer Priya Raman à l'étape d'entretien technique » | `hiring_get_application_summary` → `hiring_advance_application` → la candidate avance et est prévenue, l'action vous étant attribuée |
| « Rédige un refus bienveillant pour toutes les candidatures en Présélection depuis plus de 3 semaines — montre-les-moi avant envoi » | `hiring_list_applications` → un brouillon par candidat dans la conversation ; rien n'est envoyé tant que vous n'avez pas approuvé chaque `hiring_reject_application` |
| « Qui, dans le vivier de talents, correspond à cette offre ? » | `hiring_get_job_posting` → `hiring_search_talent_pool` → des correspondances motivées, puis `hiring_invite_talent_pool` sur votre feu vert |
| « Pourquoi avons-nous écarté ce candidat l'an dernier ? » | `hiring_get_candidate_summary` → toutes ses candidatures passées, l'étape atteinte et les notes associées |

## En bref

- [ ] Essayez l'agent intégré sur [Recrutement](/hiring/job_postings) : « Qu'est-ce qui m'attend aujourd'hui ? »
- [ ] Connectez votre client MCP dans [Intégrations > Kit pour l'IA](/integrations/mcp/settings) — aucun accès administrateur nécessaire
- [ ] Accordez `hiring_read` largement ; réservez `hiring_write` aux assistants à qui vous confiez le droit d'agir
- [ ] Appelez `hiring_get_setup_guide` en premier — il indique à l'agent ce que votre rôle autorise avant qu'il ne planifie
- [ ] Enchaînez le parcours de triage : lister les évaluations → récupérer le détail d'une évaluation → faire avancer ou refuser
- [ ] Vérifiez les [paramètres de téléchargement des CV](/docs/candidate-data-fields) de votre compte avant de lancer un agent sur les CV

## Pour aller plus loin

- [Connecter des assistants IA](/docs/connecting-ai-assistants) — configuration MCP complète, flux OAuth et configurations par client
- [Référence des outils MCP](/docs/mcp-tools-reference) — tous les outils de tous les modules, avec leurs portées
- [Gérer votre pipeline](/docs/managing-your-pipeline) — les étapes et les décisions que ces outils pilotent
- [Rôles d'équipe](/docs/team-roles) — ce qu'accorde chaque rôle prédéfini, y compris `recruiter`