Pourquoi les applications existent
Les flux de travail couvrent l’automatisation sans code. Mais certaines choses nécessitent du code : un moteur de tarification personnalisé, un pipeline d’enrichissement propriétaire, une vérification de conformité qui s’exécute à chaque mise à jour d’enregistrement, un panneau d’interface utilisateur personnalisé qui extrait des données d’un outil interne. Les applications vous permettent de créer ces éléments en tant qu’extensions de première classe — non pas des scripts fragiles qui communiquent avec une API depuis l’extérieur, mais du code qui s’exécute sur la plateforme avec un accès complet au système de types, au modèle d’autorisations et à l’interface utilisateur.Ce qu’une application peut définir
Une application est un package TypeScript qui déclare des entités en utilisant letwenty-sdk :
| Entité | Ce que cela fait |
|---|---|
| Objets et champs | Nouvelles tables de données et champs sur des objets existants — même traitement que les objets intégrés |
| Fonctions logiques | Fonctions TypeScript côté serveur déclenchées par des routes HTTP, des tâches cron ou des événements de base de données |
| Composants frontaux | Composants React isolés qui s’affichent dans l’interface de Twenty (panneau latéral, widgets, menu de commandes) |
| Compétences et agents | Fonctionnalités d’IA — instructions réutilisables et assistants autonomes |
| Vues et navigation | Vues de liste préconfigurées et éléments de menu de la barre latérale |
export default defineObject(...) dans n’importe quel fichier .ts et le SDK le détectera.
Leur mode d’exécution
- Les fonctions logiques s’exécutent dans des processus Node.js isolés, en bac à sable par rapport à l’hôte. Elles accèdent aux données via un client d’API typé, restreint aux autorisations de rôle de l’application.
- Les composants frontaux s’exécutent dans des Web Workers en utilisant Remote DOM — isolés en bac à sable de la page principale mais rendant des éléments DOM natifs (pas d’iframes).
- Les autorisations sont appliquées au niveau de l’API. Une application ne voit que ce que son rôle autorise.
L’expérience développeur
Vous écrivez votre application comme un projet TypeScript sur votre machine. La CLI surveille vos fichiers sources et les synchronise en direct avec un serveur Twenty en cours d’exécution — modifiez un fichier et voyez le changement dans l’interface en une seconde. Le client d’API typé est régénéré automatiquement lorsque le schéma change. Quand vous êtes prêt,yarn twenty app:publish --private envoie l’application vers un serveur de production, ou yarn twenty app:publish publie votre application sur npm et sur la place de marché Twenty.
Créez votre première application
Tutoriel en trois phases — création de l’ossature, exécution d’un serveur local, synchronisation de vos modifications.