Zum Hauptinhalt springen
Twenty-Apps sind TypeScript-Pakete, die Ihren Arbeitsbereich mit benutzerdefinierten Objekten, Logik, UI-Komponenten und KI-Funktionen erweitern. Sie laufen auf der Twenty-Plattform mit vollständigem Sandboxing und Berechtigungsverwaltung.

Wie Apps funktionieren

Eine App ist eine Sammlung von Entitäten, die mithilfe von defineEntity()-Funktionen aus dem Paket twenty-sdk deklariert werden. Das SDK erkennt diese Deklarationen zur Build-Zeit per AST-Analyse und erzeugt ein Manifest — eine vollständige Beschreibung dessen, was Ihre App zu einem Arbeitsbereich hinzufügt.
your-app/
├── src/
│   ├── application-config.ts    ← defineApplication (required, one per app)
│   ├── roles/                   ← defineRole
│   ├── objects/                 ← defineObject
│   ├── fields/                  ← defineField
│   ├── logic-functions/         ← defineLogicFunction
│   ├── front-components/        ← defineFrontComponent
│   ├── skills/                  ← defineSkill
│   ├── agents/                  ← defineAgent
│   ├── views/                   ← defineView
│   ├── navigation-menu-items/   ← defineNavigationMenuItem
│   └── page-layouts/            ← definePageLayout
├── public/                      ← Static assets (images, icons)
└── package.json
Die Dateiorganisation liegt bei Ihnen. Die Entitätserkennung ist AST-basiert — das SDK findet Aufrufe von export default defineEntity(...), unabhängig davon, wo sich die Datei befindet. Die obige Ordnerstruktur ist eine Konvention, keine Anforderung.

Entitätstypen

EntitätZweckDokumentation
AnwendungApp-Identität, Berechtigungen, VariablenDatenmodell
RolleBerechtigungssätze für Objekte und FelderDatenmodell
ObjectBenutzerdefinierte Datentabellen mit FeldernDatenmodell
FeldBestehende Objekte erweitern, Relationen definierenDatenmodell
LogikfunktionServerseitiges TypeScript mit TriggernLogikfunktionen
Frontend-KomponenteSandboxed React-UI auf der Twenty-SeiteFrontend-Komponenten
SkillWiederverwendbare Anweisungen für KI-AgentenSkills & Agenten
AgentKI-Assistenten mit benutzerdefinierten PromptsSkills & Agenten
AnsichtVorkonfigurierte Listenansichten für DatensätzeLayout
NavigationsmenüeintragBenutzerdefinierte Seitenleisten-EinträgeLayout
SeitenlayoutBenutzerdefinierte Registerkarten und Widgets auf DatensatzseitenLayout

Sandboxing

  • Logikfunktionen laufen in isolierten Node.js-Prozessen auf dem Server. Sie greifen nur über den typisierten API-Client auf Daten zu, begrenzt durch die Rollenberechtigungen der App.
  • Frontend-Komponenten laufen in Web Workers mit Remote DOM — von der Hauptseite isoliert, rendern aber native DOM-Elemente (keine iframes). Sie kommunizieren über eine Message-Passing-Host-API mit Twenty.
  • Berechtigungen werden auf API-Ebene durchgesetzt. Das Laufzeit-Token (TWENTY_APP_ACCESS_TOKEN) wird aus der in defineApplication() definierten Rolle abgeleitet.

App-Lebenszyklus

┌─────────────────────────────────────────────────────────┐
│ Development                                             │
│   npx create-twenty-app → yarn twenty dev (live sync)   │
├─────────────────────────────────────────────────────────┤
│ Build & Deploy                                          │
│   yarn twenty build → yarn twenty deploy                │
├─────────────────────────────────────────────────────────┤
│ Install flow                                            │
│   upload → [pre-install] → metadata migration →         │
│   generate SDK → [post-install]                         │
├─────────────────────────────────────────────────────────┤
│ Publish                                                 │
│   npm publish → appears in Twenty marketplace           │
└─────────────────────────────────────────────────────────┘
  • yarn twenty dev — überwacht Ihre Quelldateien und synchronisiert Änderungen in Echtzeit mit einem verbundenen Twenty-Server. Der typisierte API-Client wird automatisch neu erzeugt, wenn sich das Schema ändert.
  • yarn twenty build — kompiliert TypeScript, bündelt Logikfunktionen und Frontend-Komponenten mit esbuild und erzeugt ein Manifest.
  • Pre/Post-Install-Hooks — optionale Logikfunktionen, die während der Installation ausgeführt werden. Details finden Sie unter Logikfunktionen.

Nächste Schritte

Datenmodell

Objekte, Felder, Rollen und Relationen definieren.

Logikfunktionen

Serverseitige Funktionen mit HTTP-, cron- und Ereignis-Triggern.

Frontend-Komponenten

Sandboxed React-Komponenten innerhalb der UI von Twenty.

Layout

Ansichten, Navigationseinträge und Layouts von Datensatzseiten.

Fähigkeiten & Agenten

KI-Skills und Agenten mit benutzerdefinierten Prompts.

CLI & Tests

CLI-Befehle, Tests, Assets, Remotes und CI.

Veröffentlichen

Auf einem Server bereitstellen oder auf dem Marktplatz veröffentlichen.