snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s

This commit is contained in:
upstream-mirror
2026-09-17 23:28:13 +05:00
commit e7da97194a
32688 changed files with 4208681 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
---
title: Fehlerbehandlung und Validierung
description: Überprüfen und beheben Sie Importfehler direkt in der Benutzeroberfläche, bevor Sie den Import bestätigen.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Vorabvalidierung
Nachdem Sie Ihre Datei hochgeladen und die Felder zugeordnet haben, validiert Twenty Ihre Daten, **bevor** sie importiert werden. So können Sie Fehler erkennen und beheben, ohne Ihre vorhandenen Daten zu beeinträchtigen.
## Wie es funktioniert
1. **Hochladen** Ihrer CSV-Datei
2. **Zuordnen** Ihrer Spalten zu Twenty-Feldern
3. **Überprüfen** der gelb hervorgehobenen potenziellen Fehler
4. **Fehlerbehebung** direkt in der Benutzeroberfläche
5. **Bestätigen** des Imports
<VimeoEmbed videoId="1145273857" title="Video-Demonstration" />
## Fehleranzeige
Zeilen mit Fehlern sind **gelb** hervorgehoben. Sie können:
* **Die Zelle direkt bearbeiten**, um den Fehler zu beheben
* **Die Zeile entfernen**, um sie vollständig zu überspringen
Diese Inline-Bearbeitung spart Zeit – Sie müssen nicht zu Ihrer Tabellenkalkulation zurückkehren, Fehler beheben und erneut hochladen.
## Häufige Fehlertypen
### Doppelte Werte
**Ursache**: Ein eindeutiges Feld (E-Mail, Domain) existiert bereits in Twenty oder kommt in Ihrer Datei doppelt vor.
**Lösung**:
* Bearbeiten Sie den doppelten Wert in der Import-Benutzeroberfläche
* Entfernen Sie eine der doppelten Zeilen
Weitere Details dazu, wie die Eindeutigkeit erzwungen wird, finden Sie unter [Eindeutigkeitsbeschränkungen](/l/de/user-guide/data-migration/capabilities/uniqueness-constraints).
### Ungültiges Format
**Ursache**: Daten entsprechen nicht dem erwarteten Format (z. B. ungültige E-Mail, falsches Datumsformat).
**Lösung**: Bearbeiten Sie die Zelle, um das korrekte Format zu verwenden.
Siehe [Feldzuordnung](/l/de/user-guide/data-migration/capabilities/field-mapping) für das erwartete Format jedes Feldtyps.
### Erforderliche Felder fehlen
**Ursache**: Ein erforderliches Feld ist leer.
**Lösung**: Geben Sie im erforderlichen Feld einen Wert ein oder entfernen Sie die Zeile.
### Beziehung nicht gefunden
**Ursache**: Der referenzierte Datensatz existiert nicht (z. B. eine Unternehmensdomain, die nicht importiert wurde).
**Lösung**:
* Importieren Sie zuerst die übergeordneten Datensätze
* Oder korrigieren Sie den Referenzwert
Siehe [Beziehungen importieren](/l/de/user-guide/data-migration/capabilities/import-relations) für die korrekte Importreihenfolge und wie Datensätze verknüpft werden.
## Tipps für weniger Fehler
1. **Laden Sie die Vorlage herunter** um das erwartete Format zu sehen, bevor Sie Ihre Datei importieren
2. **Bereinigen Sie Ihre Daten** zunächst in der Tabellenkalkulation
3. **Importieren Sie Dateien in der richtigen Reihenfolge**, um Beziehungen zu importieren (Unternehmen → Personen → Verkaufschancen)
4. **Testen Sie mit kleinen Stapeln** vor dem vollständigen Import
5. **Auf Duplikate prüfen** vor dem Hochladen
6. **Jede Datei auf 10.000 Datensätze begrenzen**

View File

@@ -0,0 +1,198 @@
---
title: Feldzuordnung
description: Wie die Feldzuordnung beim Datenimport funktioniert.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Wie die Feldzuordnung funktioniert
Wenn Sie eine Datei hochladen, analysiert Twenty Ihre Spalten und versucht, sie bestehenden Feldern zuzuordnen.
### Automatische Zuordnung
Twenty versucht, Spalten anhand der folgenden Kriterien abzugleichen:
* Spaltenüberschriften (genaue oder ähnliche Übereinstimmungen)
* Erkennung des Datentyps (Datum, Zahlen, E-Mails)
* Häufige Feldmuster
<Note>**Schneller Tipp:** Exportieren Sie ein paar Zeilen aus dem Objekt, das Sie importieren möchten. Die exportierte Datei enthält genau die Spaltennamen, die Twenty erwartet, sodass die automatische Zuordnung beim Import reibungslos funktioniert.</Note>
### Optionen für die manuelle Zuordnung
Für jede Spalte können Sie:
* **Einem Feld zuordnen**: Wählen Sie das passende Twenty-Feld aus einem Dropdown aus
* **Nicht zuordnen**: Überspringen Sie die Spalte vollständig (Daten werden nicht importiert)
<Note>**Felder müssen vor dem Import existieren.** Der Import erzeugt Datensätze, nicht Felder. Erstellen Sie benutzerdefinierte Felder vor dem Import unter **Einstellungen → Datenmodell**.</Note>
## Kompatibilität der Feldtypen
Alle im Datenmodell verfügbaren Feldtypen werden für den Import unterstützt.
Sie können auch `id`-Werte importieren, um neuen Datensätzen eine bestimmte ID zuzuweisen oder vorhandene zu aktualisieren.
<img src="/images/user-guide/fields/all-field-types.png" style={{width:'100%'}} />
## Anforderungen an das Datenformat
<Note>**Einige Felder haben eine spezielle Syntax.** Wir empfehlen, vor der Vorbereitung Ihres Imports die Beispieldatei herunterzuladen, um die erwartete Syntax für jeden Feldtyp zu sehen.</Note>
### Adressfelder
Adresse ist ein verschachteltes Feld mit mehreren Spalten. Einige können leer bleiben.
* **Adresse / Adresszeile 1**: Adresszeile 1
* **Adresse / Adresszeile 2**: Adresszeile 2
* **Adresse / Stadt**: Stadtname
* **Adresse / Bundesland**: Bundesland oder Provinz
* **Adresse / Land**: Ländername
* **Adresse / Postleitzahl**: Postleitzahl/ZIP-Code
### Array-Felder
Verwenden Sie folgendes Format:
```
["value1","value2"]
```
### Boolesche Felder
Verwenden Sie `TRUE` oder `FALSE` (Großbuchstaben) – nicht `true` oder `false`
### Währungsfelder
Währung ist ein verschachteltes Feld mit zwei Spalten, die **beide ausgefüllt werden müssen**:
* **Betrag / Betrag**: Der Zahlenwert (z. B. `1234.56`)
* **Betrag / Währung**: Der Währungscode (z. B. `USD`, `EUR`)
### Datumsfelder
Unterstützte Formate:
* `YYYY-MM-DD` (empfohlen)
* `MM/DD/YYYY`
* `DD/MM/YYYY`
* ISO-8601-Format
### Domain-Felder
* Es wird empfohlen, das Format `https://domain.com` zu verwenden, um Duplikate zu vermeiden, da dies das Format für Unternehmen ist, die durch die Postfach- und Kalender-Synchronisierungen erstellt werden.
* Es können ein `Domain Label` und eine `Domain URL` ausgefüllt werden: Best Practice ist, im Label `domain.com` und in der URL `https://domain.com` anzugeben
* Domains müssen im Objekt Unternehmen eindeutig sein
* **Domains müssen innerhalb der zu importierenden Datei eindeutig sein**
### E-Mail-Felder
* Müssen ein gültiges E-Mail-Format haben
* E-Mails müssen im Objekt Personen eindeutig sein
* **E-Mails müssen innerhalb der zu importierenden Datei eindeutig sein**
* Für zusätzliche E-Mails: Verwenden Sie **E-Mails / Primäre E-Mail** für die Haupt-E-Mail und **E-Mails / Zusätzliche E-Mails** mit diesem Format:
```
["jane@twenty.com","jane.doe@twenty.com"]
```
### ID-Felder
Die Angabe einer `id` während des Imports ist optional. Twenty erzeugt automatisch eine, wenn keine angegeben wird.
Anwendungsfälle für die Zuordnung einer `id`-Spalte:
* **Spezifische ID festlegen**: Wählen Sie die UUID für neu erstellte Datensätze
* **Vorhandene Datensätze aktualisieren**: Gegen vorhandene Datensätze abgleichen, um sie zu aktualisieren, anstatt Duplikate zu erstellen. In diesem Fall wird empfohlen, die anderen eindeutigen Felder nicht zuzuordnen: Die Zuordnung nur eines eindeutigen Feldes sorgt für einen reibungsloseren Import.
<Note>Wenn Sie eine `id` angeben, muss sie im UUID-Format sein (z. B. `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
### JSON-Felder
Verwenden Sie gültiges JSON-Format:
```
{"key":"value","key2":"value2"}
```
### Link-Felder
Ähnlich wie Domain-Felder:
* Füllen Sie sowohl die Spalten für Label und URL aus: **Links / Link-URL** und **Links / Link-Label**
* Verwenden Sie das vollständige URL-Format: `https://example.com`
* Für sekundäre Links verwenden Sie die Spalte **Links / Sekundäre Links** mit diesem Format:
```
[{"url":"https://twenty.com","label":"Twenty"}]
```
### Mehrfachauswahl-Felder
Verwenden Sie die **API-Namen** (nicht die Anzeigenamen) in folgendem Format:
```
["VALUE1","VALUE2"]
```
Siehe [hier](#finding-api-names-for-select-fields), wo Sie die API-Namen finden.
<Note>Neue Auswahloptionen werden durch den Import nicht automatisch erstellt. Sie müssen vor dem Import unter **Einstellungen → Datenmodell** hinzugefügt werden.</Note>
<Warning>
**Importiere Überschreibungen, es fügt nicht hinzu.**
Wenn ein Datensatz bereits `VALUE2` und `VALUE3` ausgewählt hat und Sie `["VALUE1"]` importieren, hat der Datensatz nach dem Import nur noch `VALUE1`. Die bisherigen Auswahlen werden ersetzt, nicht zusammengeführt.
</Warning>
### Zahlenfelder
* Nur Zahlen
* Dezimalzahlen verwenden einen Punkt: `1234.56`
* Keine Tausendertrennzeichen
### Telefonfelder
Telefon ist ein verschachteltes Feld mit mehreren Spalten, die **ausgefüllt werden müssen**
* **Telefone / Primäre Telefonnummer**: Die Telefonnummer (z. B. `4159095555`)
* **Telefone / Ländercode der primären Telefonnummer**: Ländercode (z. B. `US`)
* **Telefone / Vorwahl der primären Telefonnummer**: Vorwahl (z. B. `+1`)
### Bewertungsfelder
Verwenden Sie das API-Namensformat: `RATING_1`, `RATING_2`, `RATING_3`, `RATING_4`, `RATING_5`
### Relationsfelder
Weitere Informationen finden Sie in unserem dedizierten Artikel: [Beziehungen zwischen Objekten importieren](/l/de/user-guide/data-migration/capabilities/import-relations)
### Auswahlfelder
Verwenden Sie den **API-Namen** der Option (nicht den Anzeigenamen):
```
VALUE1
```
Siehe [hier](#finding-api-names-for-select-fields), wo Sie die API-Namen finden.
<Note>Neue Auswahloptionen werden durch den Import nicht automatisch erstellt. Sie müssen vor dem Import unter **Einstellungen → Datenmodell** hinzugefügt werden.</Note>
### Textfelder
* Keine besondere Formatierung erforderlich
* Führende/abschließende Leerzeichen werden entfernt
## API-Namen finden
Für Select-, Multi-Select- und Array-Felder mit vordefinierten Optionen müssen Sie die **API-Namen** verwenden, nicht die Anzeigenamen.
### So finden Sie API-Namen
1. Gehen Sie zu **Einstellungen → Datenmodell**
2. Wählen Sie das Objekt und das Feld aus
3. Aktivieren Sie den **Erweiterten Modus** (Schalter unten rechts auf der Einstellungsseite)
4. Zeigen Sie den API-Namen für jede Option an
<VimeoEmbed videoId="1144910809" title="Video-Demonstration" />

View File

@@ -0,0 +1,48 @@
---
title: Unterstützte Dateiformate
description: Unterstützte Dateiformate für den Datenimport in Twenty.
---
## Unterstützte Formate
Twenty unterstützt drei Dateiformate für den Import:
| Format | Erweiterung | Notizen |
| ------------------ | ----------- | ---------------------------- |
| **CSV** | .csv | Empfohlen, am kompatibelsten |
| **Excel** | .xlsx | Modernes Excel-Format |
| **Excel (Legacy)** | .xls | Älteres Excel-Format |
## Datei-Anforderungen
| Anforderung | Wert |
| -------------------- | --------------------------------------------------- |
| **Zeichenkodierung** | UTF-8 empfohlen |
| **Datensatzlimit** | 10.000 Datensätze pro Datei |
| **Struktur** | Die erste Zeile muss Spaltenüberschriften enthalten |
| **Inhalt** | Ein Objekttyp pro Datei |
## CSV: Beste Praktiken
* **Trennzeichen**: Verwenden Sie Komma (`,`) oder Semikolon (`;`)
* **Textbegrenzer**: Verwenden Sie doppelte Anführungszeichen (`"`) für Text, der Kommas enthält
* **Zeilenenden**: Sowohl Windows (CRLF) als auch Unix (LF) werden unterstützt
* **Leere Werte**: Zellen leer lassen, nicht "NULL" oder "N/A" verwenden
## Excel: Beste Praktiken
Beim Export aus Excel:
* Formeln entfernen (nur Werte exportieren)
* Leere Zeilen am Ende löschen
* Sicherstellen, dass keine zusammengeführten Zellen vorhanden sind
* Nur das erste Tabellenblatt verwenden
## Große Datensätze
Für Datenmengen mit mehr als 10.000 Datensätzen:
* In mehrere Dateien aufteilen
* Oder den [API-Import](/l/de/user-guide/data-migration/how-tos/import-data-via-api) für unbegrenzte Datensätze verwenden
<Note>Für sehr große Migrationen (über 100.000 Datensätze) ist die API deutlich schneller und zuverlässiger als CSV-Importe.</Note>

View File

@@ -0,0 +1,148 @@
---
title: Beziehungen zwischen Objekten importieren
description: Beziehungen zwischen Datensätzen per CSV importieren.
---
## Übersicht
Twenty unterstützt das Importieren von Beziehungen zwischen Objekten beim CSV-Import. So können Sie im Rahmen Ihrer Datenmigration Datensätze verknüpfen (z. B. Personen mit Unternehmen verknüpfen).
<Note>**Aktuell für den Import unterstützt**: Eins-zu-viele-Beziehungen, die auf jeder Seite auf einen einzelnen Objekttyp verweisen (z. B. Personen → Unternehmen). Beziehungen, die auf mehrere Objekttypen zeigen, werden für Import/Export noch nicht unterstützt.</Note>
## Wie Beziehungen in Twenty funktionieren
### Eins zu Viele / Viele zu Eins
Twenty unterstützt Standardbeziehungen, bei denen ein Datensatz mit vielen anderen verknüpft wird:
* **Ein Unternehmen → Viele Personen**: Ein Unternehmen kann mehrere Mitarbeitende haben, aber jede Person gehört zu einem Unternehmen
* **Ein Unternehmen → Viele Opportunities**: Ein Unternehmen kann mehrere Deals haben, aber jede Opportunity gehört zu einem Unternehmen
### Beziehungen, die auf mehrere Objekttypen zeigen können
Einige Beziehungen können verschiedene Objekttypen verbinden. Dies funktioniert auf zwei Arten:
**Muster 1: Viele Datensätze, die jeweils mit einem Datensatz aus unterschiedlichen Objekttypen verknüpft sind**
Mehrere Notizen oder Aufgaben können auf einmal an mehrere Objekttypen angehängt werden:
* **Notizen** können gleichzeitig mit einer Person, einem Unternehmen und einer Opportunity verknüpft werden
* **Aufgaben** können gleichzeitig mit einer Person, einem Unternehmen und einer Opportunity verknüpft werden
Hier befinden sich die Notizen/Aufgaben auf der "Viele"-Seite. Jede ist mit genau einem Datensatz pro Objekttyp verknüpft.
<img src="/images/user-guide/fields/many-to-one-morph.png" style={{width:'100%'}} />
**Muster 2: Ein Datensatz, der Verknüpfungen von vielen Datensätzen unterschiedlicher Objekttypen erhält**
Ein Projekt kann Verknüpfungen von mehreren Datensätzen über verschiedene Objekttypen hinweg erhalten:
* **Ein Projekt** kann viele Personen mit ihm verknüpft haben, viele Unternehmen mit ihm verknüpft haben und viele Notizen, die daran angehängt sind
Hier befindet sich das Projekt auf der "Eins"-Seite. Mehrere Datensätze aus verschiedenen Objekten können alle mit demselben Projekt verknüpft sein.
<img src="/images/user-guide/fields/one-to-many-morph.png" style={{width:'100%'}} />
<Warning>
**Einschränkung beim Import/Export**: Beziehungen, die auf mehrere Objekttypen verweisen (z. B. Notizen → Personen/Unternehmen/Opportunities), werden beim CSV-Import oder -Export **noch nicht unterstützt**.
* **Import**: Es können nur Eins-zu-viele-Beziehungen importiert werden, die auf jeder Seite auf einen einzelnen Objekttyp verweisen
* **Export**: Spalten für Beziehungen, die auf mehrere Objekttypen verweisen, bleiben derzeit leer
Dies steht auf unserer Roadmap.
</Warning>
### Was heute nicht unterstützt wird
**Viele-zu-viele-Beziehungen** sind noch nicht verfügbar. Sie können derzeit beispielsweise keine Beziehung erstellen, bei der:
* Viele Personen mit vielen Projekten verknüpft sind
<Note>Viele zu viele Beziehungen sind für H2 2026 geplant.</Note>
## Datensätze während des Imports verknüpfen
<Note>**Erinnerung**: Es können nur Eins-zu-viele-Beziehungen importiert werden, die auf einen einzelnen Objekttyp verweisen (z. B. Personen → Unternehmen). Beziehungen, die auf mehrere Objekttypen verweisen (z. B. Notizen → Personen/Unternehmen/Opportunities), werden noch nicht unterstützt.</Note>
### Schritt 1: Identifizieren Sie die "Eins"- und "Viele"-Seiten
Bestimmen Sie zunächst, welches Objekt auf der "Eins"-Seite und welches auf der "Viele"-Seite der Beziehung steht.
**Beispiel**:
* **Unternehmen** ist die "Eins"-Seite (ein Unternehmen hat viele Mitarbeitende)
* **Personen** ist die "Viele"-Seite (jede Person gehört zu einem Unternehmen)
### Schritt 2: Sicherstellen, dass die Datensätze der "Eins"-Seite existieren
Bevor Sie die "Viele"-Seite importieren, müssen die Datensätze der "Eins"-Seite in Twenty bereits existieren.
* Importieren oder erstellen Sie zuerst die Datensätze der "Eins"-Seite (z. B. Unternehmen)
* Validieren Sie deren eindeutigen Bezeichner. Dies kann sein:
* Die `id` (Twenty-UUID)
* Ein als eindeutig festgelegtes Feld (z. B. `domain` für Unternehmen oder eine externe ID aus Ihrem vorherigen System)
<Warning>Der Import schlägt fehl, wenn auf einen nicht vorhandenen Datensatz verwiesen wird.</Warning>
### Schritt 3: Bereiten Sie Ihre CSV-Datei vor
Fügen Sie in Ihrer CSV-Datei der "Viele"-Seite eine Spalte hinzu, die auf den Datensatz der "Eins"-Seite verweist.
**Beispiel**: Für eine Personen-CSV-Datei, die mit Unternehmen verknüpft wird:
```
firstName,lastName,email,companyDomain
John,Smith,john@acme.com,https://acme.com
Jane,Doe,jane@widgets.co,https://widgets.co
```
**Wichtig**:
* Der Wert muss dem eindeutigen Feld im Unternehmensdatensatz **exakt entsprechen**
* Für Domains verwenden Sie die **Domain-URL** (z. B. `https://acme.com`), nicht das Domain-Label
* Ordnen Sie pro Beziehung nur **einen** eindeutigen Bezeichner zu: Das führt zu einem reibungsloseren Import
### Schritt 4: Stellen Sie sicher, dass das Beziehungsfeld existiert
Vergewissern Sie sich vor dem Hochladen Ihrer Datei, dass das Beziehungsfeld zwischen Ihren Objekten existiert.
Falls es nicht existiert:
1. Gehen Sie zu **Einstellungen → Datenmodell**
2. Wählen Sie Ihr Objekt aus (z. B. Personen)
3. Erstellen Sie ein Beziehungsfeld, das auf das Zielobjekt zeigt (z. B. Unternehmen)
### Schritt 5: Beziehung hochladen und zuordnen
1. Laden Sie Ihre CSV-Datei über die Import-Benutzeroberfläche hoch
2. Suchen Sie im Schritt der Feldzuordnung Ihre Beziehungsspalte (z. B. `companyDomain`)
3. Ordnen Sie sie dem Beziehungsfeld zu (z. B. Unternehmen)
4. Twenty verknüpft automatisch jeden Datensatz mit dem passenden übergeordneten Datensatz
### Verfügbare eindeutige Felder für Beziehungen
| Objekt | Verfügbare eindeutige Felder |
| --------------------------------------------------- | -------------------------------------------------------- |
| **Unternehmen** | `id`, `domain`, jedes benutzerdefinierte eindeutige Feld |
| **Personen** | `id`, `email`, jedes benutzerdefinierte eindeutige Feld |
| **Arbeitsbereichsmitglieder** | `id`, `email` (nicht Name) |
| **Andere Standard- und benutzerdefinierte Objekte** | `id`, jedes als eindeutig markierte Feld |
<Note>**Verknüpfung mit Workspace-Mitgliedern**: Wenn die Beziehung auf Workspace-Mitglieder verweist (Ihr Team, das sich bei Twenty anmeldet), referenzieren Sie sie über ihre **E-Mail-Adresse**, nicht über ihren Namen.</Note>
<Note>Wir empfehlen, `domain` für Unternehmen und `email` für Personen zu verwenden, da diese menschenlesbar sind und sich in Tabellenkalkulationen leicht pflegen lassen.</Note>
<Note>**Erinnerung**: Softgelöschte Datensätze (sichtbar unter Befehlsmenü → Gelöschte Datensätze anzeigen) zählen für die Einzigartigkeitskriterien. Wenn Sie einen Datensatz mit demselben eindeutigen Wert wie ein gelöschter Datensatz importieren, wird der gelöschte Datensatz wiederhergestellt. Weitere Details finden Sie unter [Eindeutigkeitsbeschränkungen](/l/de/user-guide/data-migration/capabilities/uniqueness-constraints).</Note>
## Regel für die Importreihenfolge
<Warning>
**Importieren Sie immer zuerst die "Eins"-Seite!**
1. Zuerst **Unternehmen** (keine Abhängigkeiten)
2. **Personen** an zweiter Stelle (mit Unternehmen verknüpft)
3. **Opportunities** an dritter Stelle (mit Unternehmen/Personen verknüpft)
4. **Benutzerdefinierte Objekte** entsprechend ihren Abhängigkeiten
Der übergeordnete Datensatz muss existieren, bevor Sie darauf verweisen können.
</Warning>

View File

@@ -0,0 +1,72 @@
---
title: Eindeutigkeitsbeschränkungen
description: Wie Twenty während des Imports die Dateneindeutigkeit erzwingt.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Überblick
Twenty erzwingt die Eindeutigkeit bei bestimmten Feldern, um doppelte Datensätze zu verhindern und die Datenintegrität sicherzustellen. Das Verständnis dieser Einschränkungen ist für erfolgreiche Importe entscheidend.
## Standardmäßige eindeutige Felder
| Objekt | Eindeutige Felder |
| ------------------------------ | ------------------------ |
| **Personen** | `id`, `email` |
| **Unternehmen** | `id`, `domain` |
| **Benutzerdefinierte Objekte** | nur `id` (standardmäßig) |
<Note>Das Feld `id` ist die interne Kennung von Twenty und wird für jeden Datensatz automatisch generiert. Es verwendet das UUID-Format (z. B. `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
## Benutzerdefinierte eindeutige Felder
Sie können unter **Einstellungen → Datenmodell** zusätzliche eindeutige Felder definieren:
1. Gehen Sie zu **Einstellungen → Datenmodell**
2. Wählen Sie ein Objekt aus
3. Klicken Sie auf ein Feld
4. Aktivieren Sie **Eindeutig** in den Feldeinstellungen
### Anwendungsfälle für benutzerdefinierte eindeutige Felder
* **Externe IDs**: IDs aus anderen Systemen speichern (Salesforce-ID, HubSpot-ID)
* **Geschäftskennungen**: Mitarbeiternummern, Kundencodes
* **Alternative Kontaktinformationen**: LinkedIn-Profil, Telefonnummer
<Note>Der Feldname `id` ist für die interne ID von Twenty reserviert. Verwenden Sie für externe Kennungen einen anderen Namen wie `externalId` oder `legacyId`.</Note>
## Importverhalten
### Erstellen neuer Datensätze
Wenn ein eindeutiger Feldwert nicht existiert, wird ein neuer Datensatz erstellt.
### Aktualisieren vorhandener Datensätze
Wenn ein eindeutiger Feldwert mit einem vorhandenen Datensatz übereinstimmt, wird dieser Datensatz mit den neuen Daten **aktualisiert**.
<Warning>Um **vorhandene Datensätze zu aktualisieren**, wird empfohlen, **nur ein eindeutiges Feld abzugleichen**.</Warning>
### Soft-gelöschte Datensätze
<Warning>
**Gelöschte Datensätze zählen für die Eindeutigkeit.**
Soft-gelöschte Datensätze (sichtbar unter Befehlsmenü → Gelöschte Datensätze anzeigen) werden in die Eindeutigkeitsprüfungen einbezogen. Wenn Sie einen Datensatz mit demselben eindeutigen Wert wie ein gelöschter Datensatz importieren, wird der gelöschte Datensatz mit den neuen Daten **wiederhergestellt**.
</Warning>
## Duplikaterkennung während des Imports
Während der Validierungsphase:
* Duplikate in Ihrer Datei werden gelb hervorgehoben
* Sie können doppelte Zeilen in der Benutzeroberfläche bearbeiten oder entfernen, bevor Sie den Import starten
<VimeoEmbed videoId="1145246326" title="Video-Demonstration" />
## Beste Praktiken
1. **Entfernen Sie Duplikate** aus Ihrer Datei vor dem Import
2. **Prüfen Sie vorhandene Datensätze** in Twenty vor dem Import
3. **Verwenden Sie externe IDs**, wenn Sie aus anderen Systemen migrieren
4. **Fügen Sie eindeutige Felder hinzu**, wenn Sie vorhandene Datensätze aktualisieren möchten