Le app di Twenty sono pacchetti TypeScript che estendono il tuo spazio di lavoro con oggetti personalizzati, logica, componenti dell’interfaccia utente (UI) e funzionalità di IA. Vengono eseguite sulla piattaforma Twenty con sandboxing completo e controlli delle autorizzazioni.Documentation Index
Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
Use this file to discover all available pages before exploring further.
Come funzionano le app
Un’app è una raccolta di entità dichiarate utilizzando le funzionidefineEntity() del pacchetto twenty-sdk. L’SDK rileva queste dichiarazioni tramite analisi dell’AST in fase di build e produce un manifest — una descrizione completa di ciò che la tua app aggiunge a uno spazio di lavoro.
L’organizzazione dei file dipende da te. Il rilevamento delle entità è basato sull’AST — l’SDK trova le chiamate a
export default defineEntity(...) indipendentemente da dove si trova il file. La struttura delle cartelle sopra è una convenzione, non un requisito.Tipi di entità
| Entità | Scopo | Documentazione |
|---|---|---|
| Applicazione | Identità dell’app, autorizzazioni, variabili | Modello dati |
| Ruolo | Set di autorizzazioni per oggetti e campi | Modello dati |
| Oggetto | Tabelle di dati personalizzate con campi | Modello dati |
| Campo | Estendi gli oggetti esistenti, definisci le relazioni | Modello dati |
| Funzione logica | TypeScript lato server con trigger | Funzioni logiche |
| Componente front-end | UI React in sandbox nella pagina di Twenty | Componenti front-end |
| Abilità | Istruzioni riutilizzabili per agenti IA | Abilità e agenti |
| Agente | Assistenti IA con prompt personalizzati | Abilità e agenti |
| Vista | Viste di elenco dei record preconfigurate | Layout |
| Voce del menu di navigazione | Voci della barra laterale personalizzate | Layout |
| Layout di pagina | Schede e widget personalizzati nelle pagine dei record | Layout |
Sandboxing
- Le funzioni logiche vengono eseguite in processi Node.js isolati sul server. Accedono ai dati solo tramite il client API tipizzato, con ambito limitato alle autorizzazioni del ruolo dell’app.
- I componenti front-end vengono eseguiti in Web Workers utilizzando il Remote DOM — isolati dalla pagina principale ma renderizzando elementi DOM nativi (non iframe). Comunicano con Twenty tramite un’API host basata sul passaggio di messaggi.
- Le autorizzazioni vengono applicate a livello di API. Il token di runtime (
TWENTY_APP_ACCESS_TOKEN) è derivato dal ruolo definito indefineApplication().
Ciclo di vita dell’app
yarn twenty dev— monitora i file sorgente e sincronizza in tempo reale le modifiche su un server Twenty connesso. Il client API tipizzato viene rigenerato automaticamente quando lo schema cambia.yarn twenty build— compila TypeScript, crea i bundle delle funzioni logiche e dei componenti front-end con esbuild e produce un manifest.- Hook di pre/post-installazione — funzioni logiche opzionali che vengono eseguite durante l’installazione. Consulta Funzioni logiche per i dettagli.
Prossimi passaggi
Modello dati
Definisci oggetti, campi, ruoli e relazioni.
Funzioni logiche
Funzioni lato server con trigger HTTP, cron ed eventi.
Componenti front-end
Componenti React in sandbox nell’UI di Twenty.
Disposizione
Viste, voci di navigazione e layout delle pagine dei record.
Skill e agenti
Abilità e agenti IA con prompt personalizzati.
CLI e test
Comandi CLI, test, asset, remoti e CI.
Pubblicazione
Distribuisci su un server o pubblica sul marketplace.