Twenty : CRM open source conçu pour l'IA, en code
Twenty est un CRM open source qui compte plus de 59 000 étoiles sur GitHub. Il se présente comme une alternative ouverte à Salesforce et a été conçu pour l'IA dès le départ. Objets, vues, workflows et agents sont des briques extensibles : les équipes techniques construisent, publient et versionnent leur CRM comme n'importe quel autre code. Avec la CLI Twenty et twenty-sdk, les développeurs définissent objets, champs et vues en TypeScript, puis les déploient dans un espace de travail en une commande. Twenty propose un service cloud et un auto-hébergement via Docker Compose, ainsi qu'un pack de compétences officiel pour les agents de code comme Claude Code, Codex et Cursor. La pile technique comprend TypeScript, Nx, NestJS, PostgreSQL, Redis et React. Il convient aux équipes qui veulent personnaliser en profondeur leurs processus clients et qui tiennent à la maîtrise des données et à une livraison industrialisée.
Contexte
Le logiciel de gestion de la relation client figure parmi les plus anciennes catégories de l'informatique d'entreprise, et des éditeurs commerciaux comme Salesforce l'occupent depuis longtemps. La difficulté est bien connue : champs et processus se configurent à coups de clics dans une console d'administration. Ces réglages n'entrent jamais dans un dépôt de code, échappent à toute relecture et se révèlent difficiles à annuler. Quand l'activité change, les équipes tâtonnent dans une interface opaque.
Twenty s'attaque précisément à ce problème. Le projet compte plus de 59 000 étoiles sur GitHub et se présente comme une alternative ouverte à Salesforce. Il affirme avoir été conçu pour l'IA dès le départ. Sa promesse est simple : les équipes techniques veulent des briques à assembler, pas un produit fini au comportement figé. Selon le projet, Twenty est un CRM que l'on construit, publie et versionne comme le reste de sa pile technique.
Cette phrase marque la différence avec les produits plus anciens. Twenty se situe dans la couche applicative métier de l'écosystème open source. Il vise les équipes d'ingénierie qui veulent garder la main sur leurs données et leur code, sans repartir de zéro. Le CRM devient une plateforme programmable, où ventes, opérations et développeurs partagent le même langage.
Analyse approfondie
Que signifie concevoir un CRM comme du code avec Twenty ? Les briques de base sont les objets, les vues, les workflows et les agents. Les objets correspondent aux entités métier, comme les clients ou les opportunités. Les vues déterminent la présentation des données. Les workflows pilotent l'automatisation. Les agents placent l'IA au cœur des processus. La démarche la plus distinctive consiste à écrire ces briques en code. L'exemple du README utilise la fonction defineObject de twenty-sdk pour déclarer un objet deal. Le développeur indique les noms au singulier et au pluriel, un libellé d'affichage et des champs comme le nom, le montant et la date de clôture prévue. Les types sont texte, devise et date-heure. Ces définitions sont de simples fichiers TypeScript. Elles peuvent résider dans Git, passer en revue de code et évoluer avec les versions.
Le déploiement suit la même logique. Une seule commande app:publish pousse l'application vers un espace de travail en mode privé. Comparée à une configuration élément par élément dans une interface graphique, cette méthode rend les changements traçables, reproductibles et automatisables. Twenty prend aussi en charge les agents de code de façon native. Le projet fournit des compétences officielles, les Twenty app skills. Elles fonctionnent avec Claude Code, Codex, Cursor, Pi et d'autres environnements pris en charge par la CLI skills, de sorte qu'un assistant IA peut aider à bâtir une application selon les conventions du projet. La pile repose sur TypeScript et Nx. Le back-end emploie NestJS avec BullMQ, PostgreSQL et Redis. Le front-end utilise React avec Jotai, Linaria et Lingui. Trois parcours de prise en main existent. Le plus rapide passe par un espace cloud sur twenty.com, qui démarre en moins d'une minute selon le projet, sans gestion d'infrastructure. Pour le développement sur mesure, la commande npx create-twenty-app my-app génère un squelette. L'équipe définit ensuite objets, champs et vues en code, puis les publie. Les équipes soumises à des exigences de localisation des données ou de conformité peuvent s'auto-héberger avec Docker Compose. Parmi les usages typiques : un pipeline d'opportunités avec champs personnalisés pour les ventes, des vues dédiées au succès client, ou des workflows et agents qui traitent les relances répétitives. Le projet dispose aussi d'un Discord, d'une feuille de route, d'un canal de demandes de fonctionnalités et d'une traduction via Crowdin.
Impact sur l'industrie
Twenty compte pour plus qu'un énième CRM open source. Il illustre une trajectoire des logiciels métier : de la configuration par interface vers la définition par le code, puis vers des agents IA qui participent à la construction et à l'exploitation. Quand objets et vues sont du code, un agent de code peut les lire et les modifier. Cela explique pourquoi le projet livre un pack de compétences pour Claude Code, Cursor et des outils similaires.
Pour les équipes d'ingénierie, un CRM défini en code rejoint la même chaîne de livraison que les autres systèmes. Il bénéficie du contrôle de version, de la relecture et du déploiement automatisé. Pour les petites structures, l'open source et l'auto-hébergement réduisent le risque de dépendance à un fournisseur unique. Celles qui tiennent à la maîtrise de leurs données y trouvent une voie que les suites hébergées de type Salesforce n'offrent pas de la même manière.
Les compromis sont réels. La personnalisation par le code place la barrière d'entrée côté développeurs, si bien que le personnel non technique pourrait ne pas maintenir seul le système. L'auto-hébergement impose aussi l'exploitation, les sauvegardes et les mises à jour. Le README précise que la branche agent-skills n'est créée qu'après la première publication réussie. Ce détail suggère que certaines fonctions annexes mûrissent encore : mieux vaut consulter la documentation à jour avant toute mise en production.
Perspectives
Plusieurs questions décideront de la portée de Twenty. D'abord, son écosystème d'applications pourra-t-il devenir une place de marché de modèles réutilisables ? Les applications étant du TypeScript ordinaire, le partage est techniquement simple. Reste à voir si une bibliothèque vivante verra le jour. Ensuite, quelle est la fiabilité des agents dans de vrais parcours de vente ? Le projet fournit les points d'accroche pour les agents et pour les compétences destinées aux agents de code. Le README ne rapporte aucun résultat mesuré : il faut donc tester sur ses propres données avant de confier un contact client à l'automatisation.
Enfin, la plateforme répond-elle aux besoins des grandes entreprises ? Les sources décrivent la pile technique, les modes de déploiement et l'outillage pour développeurs. Elles ne donnent aucun détail sur la conformité ou la gouvernance à grande échelle, points à vérifier dans la documentation. Si ces domaines mûrissent, Twenty pourrait devenir un exemple représentatif des logiciels d'entreprise open source pensés pour l'ère des agents. Pour l'instant, le profil idéal est une équipe qui veut personnaliser en profondeur ses processus clients, tient à la maîtrise des données et accepte de traiter son CRM comme un chantier d'ingénierie.
Sources
FAQ
Qu'est-ce que Twenty et quel type de CRM est-ce ?
Twenty est un CRM open source qui compte plus de 59 000 étoiles sur GitHub. Il se présente comme une alternative ouverte à Salesforce et a été conçu pour l'IA dès le départ. Objets, vues, workflows et agents sont des briques extensibles : les équipes techniques construisent, publient et versionnent le CRM comme n'importe quel code.
Pourquoi construire un CRM comme du code est-il important ?
Dans un CRM classique, les champs et processus se règlent dans une console d'administration, hors du dépôt de code, sans revue et avec un retour arrière difficile. Twenty définit objets, champs et vues en TypeScript. Les changements vivent dans Git, restent traçables et automatisables, et les agents de code peuvent les modifier.
Que surveiller avant d'adopter Twenty, et quelle est la prochaine étape ?
Avec Twenty, la personnalisation par le code revient aux développeurs : les équipes non techniques peuvent avoir du mal à la maintenir seules, et l'auto-hébergement impose d'assurer exploitation, sauvegardes et mises à jour. L'article indique que certaines fonctions annexes évoluent encore. Essayez l'espace cloud ou npx create-twenty-app, puis vérifiez la documentation.