Modélisez les types d'enregistrements sur lesquels votre activité repose réellement.
Définissez vos propres types d'objets — polices, candidatures, événements, subventions, quoi que votre activité suive — avec des champs typés, puis obtenez gratuitement une interface et une API complètes de création/lecture/mise à jour/suppression.
Les entités CRM intégrées (contacts, prospects, opportunités, comptes, tâches) ne conviennent pas à toutes les activités. Les objets personnalisés permettent à un tenant de définir ses propres types d'enregistrements de première classe, chacun avec un ensemble de champs typés, et d'obtenir immédiatement la liste, le détail, la création, la modification et la suppression des enregistrements de ce type — dans l'interface et via l'API — sans aucun code ni migration de schéma. C'est ce qui permet à un assureur de modéliser des polices, à une école de modéliser des candidatures, ou à une église de modéliser des événements, nativement dans le même CRM.
Définir un type d'objet
Un manager (ou un rôle supérieur) définit un type avec une clé, un libellé singulier et pluriel, une icône optionnelle, et une liste de champs. Chaque champ a une clé, un libellé, un type, et une indication de son caractère obligatoire ou non.
- Les types de champ sont validés côté serveur par rapport à un ensemble fixe de types pris en charge (texte, nombre, date, sélection, et plus encore)
- Les champs de sélection portent leur propre liste d'options autorisées
- Les clés de type sont normalisées (mises en minuscules, espaces remplacés par des underscores) et doivent être uniques par tenant
- Mettre à jour les champs d'un type est une action de niveau manager — la liste des champs peut évoluer sans perdre les enregistrements existants
Enregistrements, formulaires et tableaux générés
Une fois qu'un type existe, sa page d'enregistrements affiche un formulaire de création et un tableau de données générés directement à partir des définitions de champs du type — ajoutez un champ au type et il apparaît automatiquement comme colonne et comme champ de formulaire, sans aucune modification côté front-end.
- Les enregistrements portent un nom ainsi qu'un contenu de données flexible indexé par clé de champ
- Les enregistrements peuvent optionnellement être liés à un contact_id et/ou un account_id, rattachant les données personnalisées au graphe CRM central
- Chaque enregistrement appartient à l'utilisateur qui l'a créé
CRUD complet, de bout en bout
Les objets personnalisés ne sont pas un module en lecture seule : les types et les enregistrements prennent tous deux en charge la création, la lecture, la mise à jour et la suppression, chacune produisant une entrée dans le journal d'audit (object_type.created/updated/deleted, object.<key>.created/updated/deleted), rendant les changements traçables par tenant.
Données validées, enregistrements paginés
Le contenu des enregistrements est validé par rapport aux définitions de champs du type à chaque écriture — les champs obligatoires sont vérifiés à la création, et les mises à jour sont fusionnées avec le contenu existant plutôt que de le remplacer entièrement. Les listes d'enregistrements sont paginées (50 par défaut, jusqu'à 200 par page) avec des en-têtes de réponse indiquant le nombre total et s'il reste des pages.
- Une compagnie d'assurance qui suit des Polices avec des champs prime, assureur et date de renouvellement
- Une école qui suit des Candidatures avec des champs programme, décision et date d'entretien
- Une association qui suit des Subventions ou des Événements distincts de ses enregistrements donateurs/contacts
- Toute équipe qui a dépassé les capacités d'un tableur pour un type d'enregistrement que le CRM de base ne modélise pas
Objets personnalisés — questions fréquentes
Non — définir un type (son libellé, son icône et ses champs) est une action de niveau manager dans le produit, pas un changement de code ni une migration de base de données.
Texte, nombre, date et sélection (avec une liste d'options définie) sont pris en charge aujourd'hui ; le type de champ est validé par rapport à l'ensemble autorisé par la plateforme chaque fois qu'un type est créé ou mis à jour.
Oui — chaque enregistrement peut optionnellement référencer un contact_id et/ou un account_id, de sorte que les données personnalisées restent connectées aux personnes et aux entreprises que vous suivez déjà.
Les enregistrements existants conservent leur contenu de données stocké ; le formulaire et le tableau générés par l'interface reflètent la liste de champs actuelle, et les mises à jour fusionnent les nouvelles valeurs dans les données existantes de chaque enregistrement.
Cela fait partie des plans Pro et Enterprise. C'est accessible via la même API /v1/objects que celle utilisée par l'interface, donc c'est automatisable et exploitable dans des rapports au même titre que les entités intégrées.