Champs personnalisés
Stocker des données complémentaires sur tous les objets de Neil, sans modifier la structure native.

Neil permet d'ajouter des champs personnalisés sur les objets natifs (étudiants, utilisateurs, formations, formules, etc.). Ces champs stockent des données complémentaires propres à votre établissement, sans modifier la structure native de Neil.
Les champs personnalisés sont consultables dans l'interface et les exports, mais modifiables uniquement via l'API. C'est le pont idéal entre Neil et les systèmes tiers connectés via les comptes de service.
Un champ personnalisé est un attribut supplémentaire ajouté à un objet Neil. Il est défini par l'administrateur dans la configuration.
Défini par l'administrateur
L'administrateur définit le champ dans la configuration : nom, type de valeur, objet cible.
Modifiable uniquement via l'API
Les champs personnalisés ne sont ni visibles ni éditables depuis l'interface Neil. Ils sont lus et écrits exclusivement par les systèmes externes via l'API (comptes de service). C'est un stockage purement technique.
Les champs personnalisés étendent le modèle de données Neil sans modifier le cœur du produit. Un administrateur définit dans la configuration un attribut supplémentaire (nom, type de valeur, objet cible).
L'usage est strictement technique : ces champs ne sont ni visibles ni éditables depuis l'interface utilisateur de Neil. Ils sont lus et écrits exclusivement par des systèmes externes via l'API, en utilisant les comptes de service. L'agent de scolarité ne les voit jamais.
Cas d'usage typiques : stocker un identifiant tiers (compte CRM, numéro de dossier interne, ID externe pour une fédération), conserver des métadonnées de synchronisation (date de dernière mise à jour, statut d'import), ou enrichir un objet pour un système décisionnel sans impacter l'expérience utilisateur Neil.
Chaque champ personnalisé a un type de valeur qui détermine le format de saisie :
Le type est choisi à la création du champ et ne peut pas être modifié ensuite.
Chaque champ possède un slug (identifiant technique utilisé dans l'API). Le slug est généré automatiquement à partir du nom, mais peut être modifié à la création. Une fois créé, le slug est définitif.
Les champs personnalisés peuvent être ajoutés sur les objets suivants :
23 objets supportent les champs personnalisés. Chaque objet peut avoir un nombre illimité de champs. Les champs sont indépendants entre objets : un champ créé sur les étudiants n'apparaît pas sur les utilisateurs.
Les champs personnalisés sont exposés dans l'API REST de Neil. Un système externe connecté via un compte de service peut lire et écrire ces champs.
GET /api/students/5678 X-Lucius-Api-Key: sk_live_abc123
{
"id": 5678,
"first_name": "Jean",
"last_name": "Dupont",
"custom_fields": {
"taille_tshirt": "M", ← slug du champ
"regime_alimentaire": "Végétarien",
"nb_credits_ects": 180,
"date_entretien": "2025-09-20"
}
}
Les champs personnalisés sont retournés dans un objet custom_fields distinct des champs natifs. Un système externe peut les lire pour alimenter un CRM ou les écrire pour synchroniser des données depuis un outil tiers.
Le type et le slug sont définitifs
Un champ créé en « texte » ne peut pas être converti en « liste déroulante ». Le slug est modifiable à la création, mais devient définitif ensuite. Bien réfléchir aux deux avant de valider.
Les champs sont par objet
Un champ personnalisé sur les étudiants n'apparaît pas sur les utilisateurs. Pour un même besoin sur deux objets, il faut créer le champ deux fois.
Les valeurs sont exposées via l'API
Les champs personnalisés sont accessibles aux comptes de service. Ne pas y stocker de données sensibles si des systèmes tiers ont un accès large.
Complémentaire, pas structurant
Les champs personnalisés complètent les champs natifs. Pour des données structurantes (classeurs, matières, niveaux), utiliser les fonctionnalités natives de Neil.
Nommage explicite
Donner un nom clair et sans ambiguïté à chaque champ.
API = synchronisation bidirectionnelle
Les champs personnalisés peuvent être lus et écrits par les systèmes externes. C'est le pont idéal pour synchroniser des données spécifiques à votre établissement.