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: Gestione degli errori e convalida
description: Esamina e correggi gli errori di importazione direttamente nell'interfaccia prima di confermare.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Convalida pre-importazione
Dopo aver caricato il file e mappato i campi, Twenty convalida i tuoi dati **prima** dell'importazione. Questo ti permette di individuare e correggere gli errori senza influire sui dati esistenti.
## Come Funziona
1. **Carica** il tuo file CSV
2. **Mappa** le colonne ai campi di Twenty
3. **Esamina** i potenziali errori evidenziati in giallo
4. **Correggi gli errori** direttamente nell'interfaccia
5. **Conferma** l'importazione
<VimeoEmbed videoId="1145273857" title="Dimostrazione video" />
## Visualizzazione degli errori
Le righe con problemi sono evidenziate in **giallo**. Puoi:
* **Modifica direttamente la cella** per correggere l'errore
* **Rimuovi la riga** per escluderla del tutto
Questa modifica in linea fa risparmiare tempo — non è necessario tornare al foglio di calcolo, correggere gli errori e caricare nuovamente il file.
## Tipi di errore comuni
### Valori duplicati
**Causa**: Un campo univoco (email, dominio) esiste già in Twenty o compare due volte nel tuo file.
**Soluzione**:
* Modifica il valore duplicato nell'interfaccia di importazione
* Rimuovi una delle righe duplicate
Vedi [Vincoli di unicità](/l/it/user-guide/data-migration/capabilities/uniqueness-constraints) per maggiori dettagli su come viene applicata l'unicità.
### Formato non valido
**Causa**: I dati non corrispondono al formato previsto (ad es., email non valida, formato data errato).
**Soluzione**: Modifica la cella per usare il formato corretto.
Vedi [Mappatura dei campi](/l/it/user-guide/data-migration/capabilities/field-mapping) per il formato previsto di ogni tipo di campo.
### Campi obbligatori mancanti
**Causa**: Un campo obbligatorio è vuoto.
**Soluzione**: Inserisci un valore nel campo obbligatorio oppure rimuovi la riga.
### Relazione non trovata
**Causa**: Il record di riferimento non esiste (ad es., un dominio aziendale che non è stato importato).
**Soluzione**:
* Importa prima i record genitore
* Oppure correggi il valore di riferimento
Vedi [Importazione delle relazioni](/l/it/user-guide/data-migration/capabilities/import-relations) per l'ordine di importazione corretto e come collegare i record.
## Suggerimenti per ridurre gli errori
1. **Scarica il modello** per vedere il formato previsto prima di importare il tuo file
2. **Pulisci i dati** nel foglio di calcolo prima
3. **Importa i file nell'ordine corretto** per importare le relazioni (Aziende → Persone → Opportunità)
4. **Esegui dei test con piccoli lotti** prima dell'importazione completa
5. **Controlla i duplicati** prima del caricamento
6. **Limita ogni file a 10.000 record**

View File

@@ -0,0 +1,198 @@
---
title: Mappatura dei campi
description: Come funziona la mappatura dei campi durante l'importazione dei dati.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Come funziona la mappatura dei campi
Quando carichi un file, Twenty analizza le colonne e tenta di abbinarle ai campi esistenti.
### Mappatura automatica
Twenty tenta di abbinare le colonne in base a:
* Nomi delle intestazioni di colonna (corrispondenze esatte o simili)
* Rilevamento del tipo di dati (date, numeri, email)
* Modelli comuni dei campi
<Note>**Suggerimento rapido:** Esporta alcune righe dall'oggetto che desideri importare. Il file esportato avrà esattamente i nomi di colonna che Twenty si aspetta, rendendo la mappatura automatica agevole durante l'importazione.</Note>
### Opzioni di mappatura manuale
Per ogni colonna, puoi:
* **Mappa a un campo**: seleziona dal menu a discesa il campo di Twenty corrispondente
* **Non mappare**: salta completamente la colonna (i dati non verranno importati)
<Note>**I campi devono esistere prima dell'importazione.** L'importazione crea record, non campi. Crea i campi personalizzati in **Impostazioni → Modello dati** prima di importare.</Note>
## Compatibilità dei tipi di campo
Tutti i tipi di campo disponibili nel Modello dati sono supportati per l'importazione.
Puoi anche importare valori di `id` per assegnare un ID specifico ai nuovi record oppure aggiornare quelli esistenti.
<img src="/images/user-guide/fields/all-field-types.png" style={{width:'100%'}} />
## Requisiti del formato dei dati
<Note>**Alcuni campi hanno una sintassi speciale.** Consigliamo di scaricare il file di esempio prima di preparare l'importazione per vedere la sintassi prevista per ciascun tipo di campo.</Note>
### Campi indirizzo
Indirizzo è un campo annidato con più colonne. Alcuni possono essere lasciati vuoti.
* **Indirizzo / Indirizzo 1**: Prima riga dell'indirizzo
* **Indirizzo / Indirizzo 2**: Seconda riga dell'indirizzo
* **Indirizzo / Città**: Nome della città
* **Indirizzo / Stato**: Stato o provincia
* **Indirizzo / Paese**: Nome del paese
* **Indirizzo / Codice postale**: Codice postale/CAP
### Campi array
Usa il seguente formato:
```
["value1","value2"]
```
### Campi booleani
Usa `TRUE` o `FALSE` (maiuscolo), non `true` o `false`
### Campi valuta
Valuta è un campo annidato con due colonne che **devono essere entrambe compilate**:
* **Importo / Importo**: Il valore numerico (es. `1234.56`)
* **Importo / Valuta**: Il codice valuta (es. `USD`, `EUR`)
### Campi data
Formati supportati:
* `YYYY-MM-DD` (consigliato)
* `MM/DD/YYYY`
* `DD/MM/YYYY`
* Formato ISO 8601
### Campi dominio
* Si consiglia di usare il formato `https://domain.com` per evitare la creazione di duplicati, poiché è il formato utilizzato per le Aziende create dalle sincronizzazioni della casella di posta e del calendario
* Si possono compilare `Domain Label` e `Domain URL`: la pratica consigliata è inserire `domain.com` nell'etichetta e `https://domain.com` nell'URL
* I domini devono essere univoci all'interno dell'oggetto Aziende
* **I domini devono essere univoci all'interno del file da importare**
### Campi email
* Devono avere un formato email valido
* Le email devono essere univoche all'interno dell'oggetto Persone
* **Le email devono essere univoche all'interno del file da importare**
* Per email aggiuntive: usa **Email / Email primaria** per l'email principale e **Email / Email aggiuntive** con questo formato:
```
["jane@twenty.com","jane.doe@twenty.com"]
```
### Campi ID
Specificare un `id` durante l'importazione è facoltativo. Twenty ne genera automaticamente uno se non viene fornito.
Casi d'uso per la mappatura di una colonna `id`:
* **Imposta un ID specifico**: scegli l'UUID per i record appena creati
* **Aggiorna i record esistenti**: abbinali ai record esistenti per aggiornarli, invece di creare duplicati. In tal caso, si consiglia di non mappare gli altri campi univoci: mappare un solo campo univoco garantisce un'importazione più fluida.
<Note>Se fornisci un `id`, deve essere nel formato UUID (ad es. `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
### Campi JSON
Usa un formato JSON valido:
```
{"key":"value","key2":"value2"}
```
### Campi link
Simili ai campi dominio:
* Compila sia la colonna etichetta sia la colonna URL: **Link / URL del link** e **Link / Etichetta del link**
* Usa il formato URL completo: `https://example.com`
* Per i link secondari, usa la colonna **Link / Link secondari** con questo formato:
```
[{"url":"https://twenty.com","label":"Twenty"}]
```
### Campi a selezione multipla
Usa i nomi API (non le etichette visualizzate) nel seguente formato:
```
["VALUE1","VALUE2"]
```
Vedi [qui](#finding-api-names-for-select-fields) dove trovare i nomi API.
<Note>Le nuove opzioni di selezione non verranno create automaticamente dall'importazione. Devono essere aggiunte in **Impostazioni → Modello dati** prima di importare.</Note>
<Warning>
**Importa sovrascritto; non aggiunge.**
Se un record ha già selezionato `VALUE2` e `VALUE3` e importi `["VALUE1"]`, il record avrà solo `VALUE1` dopo l'importazione. Le selezioni precedenti vengono sostituite, non unite.
</Warning>
### Campi numerici
* Solo numeri
* Per i decimali si usa il punto: `1234.56`
* Nessun separatore delle migliaia
### Campi telefono
Telefono è un campo annidato con più colonne che **devono essere compilate**
* **Telefoni / Numero di telefono principale**: Il numero di telefono (es. `4159095555`)
* **Telefoni / Codice paese del telefono principale**: Codice paese (es. `US`)
* **Telefoni / Prefisso di chiamata del telefono principale**: Prefisso di chiamata (es. `+1`)
### Campi valutazione
Usa il formato del nome API: `RATING_1`, `RATING_2`, `RATING_3`, `RATING_4`, `RATING_5`
### Campi di Relazione
Consulta il nostro articolo dedicato: [Importare relazioni tra oggetti](/l/it/user-guide/data-migration/capabilities/import-relations)
### Campi Selezione
Usa il nome API dell'opzione (non l'etichetta visualizzata):
```
VALUE1
```
Vedi [qui](#finding-api-names-for-select-fields) dove trovare i nomi API.
<Note>Le nuove opzioni di Select non verranno create automaticamente dall'importazione. Devono essere aggiunte in **Impostazioni → Modello dati** prima dell'importazione.</Note>
### Campi di testo
* Nessuna formattazione speciale richiesta
* Gli spazi iniziali e finali vengono rimossi
## Trovare i nomi API
Per i campi Select, Multi-Select e Array con opzioni predefinite, è necessario usare i **nomi API**, non le etichette visualizzate.
### Come trovare i nomi API
1. Vai a **Impostazioni → Modello dati**
2. Seleziona l'oggetto e il campo
3. Abilita la **Modalità avanzata** (interruttore in basso a destra nella pagina delle impostazioni)
4. Visualizza il nome API per ogni opzione
<VimeoEmbed videoId="1144910809" title="Dimostrazione video" />

View File

@@ -0,0 +1,48 @@
---
title: Formati di file supportati
description: Formati di file supportati per l'importazione dei dati in Twenty.
---
## Formati supportati
Twenty supporta tre formati di file per l'importazione:
| Formato | Estensione | Note |
| ------------------ | ---------- | ------------------------------- |
| **CSV** | .csv | Consigliato, il più compatibile |
| **Excel** | .xlsx | Formato Excel moderno |
| **Excel (Legacy)** | .xls | Formato Excel precedente |
## Requisiti dei file
| Requisito | Valore |
| -------------------- | ------------------------------------------------------- |
| **Codifica** | UTF-8 consigliato |
| **Limite di record** | 10.000 record per file |
| **Struttura** | La prima riga deve contenere le intestazioni di colonna |
| **Contenuto** | Un solo tipo di oggetto per file |
## Migliori pratiche per CSV
* **Delimitatore**: usa la virgola (`,`) o il punto e virgola (`;`)
* **Qualificatore di testo**: usa le virgolette doppie (`"`) per il testo che contiene virgole
* **Terminatori di riga**: Windows (CRLF) o Unix (LF), entrambi supportati
* **Valori vuoti**: lascia le celle vuote, non usare "NULL" o "N/A"
## Migliori pratiche per Excel
Durante l'esportazione da Excel:
* Rimuovi le formule (esporta solo i valori)
* Elimina le righe vuote alla fine
* Assicurati che non ci siano celle unite
* Usa solo il primo foglio
## Set di dati di grandi dimensioni
Per set di dati superiori a 10.000 record:
* Suddividi in più file
* Oppure usa l'[importazione tramite API](/l/it/user-guide/data-migration/how-tos/import-data-via-api) per un numero illimitato di record
<Note>Per migrazioni molto grandi (oltre 100.000 record), le API sono significativamente più veloci e più affidabili delle importazioni CSV.</Note>

View File

@@ -0,0 +1,148 @@
---
title: Importare le relazioni tra oggetti
description: Importare le relazioni tra record tramite CSV.
---
## Panoramica
Twenty supporta l'importazione delle relazioni tra oggetti durante l'importazione CSV. Ciò consente di collegare i record (ad es., associare Persone ad Aziende) come parte della migrazione dei dati.
<Note>**Attualmente supportate per l'importazione**: Relazioni uno a molti che puntano a un singolo tipo di oggetto su ciascun lato (ad es., Persone → Aziende). Le relazioni che puntano a più tipi di oggetto non sono ancora supportate per importazione/esportazione.</Note>
## Come funzionano le relazioni in Twenty
### Uno a molti / Molti a uno
Twenty supporta relazioni standard in cui un record è collegato a molti altri:
* **Un'Azienda → Molte Persone**: Un'azienda può avere più dipendenti, ma ogni persona appartiene a un'unica azienda
* **Un'Azienda → Molte Opportunità**: Un'azienda può avere più trattative, ma ogni opportunità appartiene a un'unica azienda
### Relazioni che possono puntare a più tipi di oggetto
Alcune relazioni possono collegarsi a diversi tipi di oggetti. Questo funziona in due modi:
**Modello 1: Molti record che si collegano ognuno a un singolo record per ciascun tipo di oggetto**
Diverse note o attività possono essere attaccate a più tipi di oggetti contemporaneamente:
* **Le Note** possono essere collegate a una Persona, a un'Azienda e a un'Opportunità contemporaneamente
* **I Task** possono essere collegati a una Persona, a un'Azienda e a un'Opportunità contemporaneamente
Qui, le Note/i Task sono sul lato "molti". Ciascuno si collega a un record per tipo di oggetto.
<img src="/images/user-guide/fields/many-to-one-morph.png" style={{width:'100%'}} />
**Modello 2: Un record che riceve collegamenti da molti record di diversi tipi di oggetto**
Un Progetto può ricevere collegamenti da più record di diversi tipi di oggetto:
* **Un Progetto** può avere molte Persone collegate, molte Aziende collegate e molte Note allegate
Qui, il Progetto è sul lato "uno". Più record di oggetti diversi possono collegarsi tutti allo stesso Progetto.
<img src="/images/user-guide/fields/one-to-many-morph.png" style={{width:'100%'}} />
<Warning>
**Limitazione di import/export**: Le relazioni che puntano a più tipi di oggetto (come Note → Persone/Aziende/Opportunità) non sono ancora supportate nell'importazione o esportazione CSV.
* **Importazione**: Possono essere importate solo relazioni uno a molti che puntano a un singolo tipo di oggetto su ciascun lato
* **Esportazione**: Le colonne per le relazioni che puntano a più tipi di oggetto sono attualmente lasciate vuote
È nella nostra roadmap.
</Warning>
### Cosa non è supportato oggi
**Relazioni molti a molti** non sono ancora disponibili. Ad esempio, attualmente non è possibile creare una relazione in cui:
* Molte Persone sono collegate a molti Progetti
<Note>Molti a molte relazioni sono previsti per H2 2026.</Note>
## Collegare i record durante l'importazione
<Note>**Promemoria**: Possono essere importate solo relazioni uno a molti che puntano a un singolo tipo di oggetto (ad es., Persone → Aziende). Le relazioni che puntano a più tipi di oggetto (ad es., Note → Persone/Aziende/Opportunità) non sono ancora supportate.</Note>
### Passaggio 1: Identifica i lati "Uno" e "Molti"
Per prima cosa, determina quale oggetto è sul lato "uno" e quale è sul lato "molti" della relazione.
**Esempio**:
* **Azienda** è il lato "uno" (un'azienda ha molti dipendenti)
* **Persone** è il lato "molti" (ogni persona appartiene a un'unica azienda)
### Passaggio 2: Assicurati che i record del lato "uno" esistano
Prima di importare il lato "molti", i record del lato "uno" devono già esistere in Twenty.
* Importa o crea prima i record del lato "uno" (ad es., Aziende)
* Verifica il loro identificatore univoco. Può essere:
* L'`id` (UUID di Twenty)
* Un campo impostato come univoco (ad es., `domain` per le Aziende o un ID esterno dal tuo sistema precedente)
<Warning>L'importazione non riuscirà se viene fatto riferimento a un record inesistente.</Warning>
### Passaggio 3: Prepara il tuo file CSV
Aggiungi una colonna nel file CSV del lato "molti" che faccia riferimento al record del lato "uno".
**Esempio**: Per un file CSV di Persone collegato ad Aziende:
```
firstName,lastName,email,companyDomain
John,Smith,john@acme.com,https://acme.com
Jane,Doe,jane@widgets.co,https://widgets.co
```
**Importante**:
* Il valore deve corrispondere **esattamente** al campo univoco del record Azienda
* Per i domini, usa l'**URL del dominio** (ad es., `https://acme.com`), non l'etichetta del dominio
* Mappa un solo identificatore univoco per relazione: questo rende l'importazione più fluida
### Passaggio 4: Assicurati che il campo di relazione esista
Prima di caricare il file, assicurati che esista il campo di relazione tra i tuoi oggetti.
Se non esiste:
1. Vai a **Impostazioni → Modello dati**
2. Seleziona il tuo oggetto (ad es., Persone)
3. Crea un campo di relazione che punti all'oggetto di destinazione (ad es., Azienda)
### Passaggio 5: Carica e mappa la relazione
1. Carica il file CSV tramite l'interfaccia di importazione
2. Nel passaggio di mappatura dei campi, trova la colonna di relazione (ad es., `companyDomain`)
3. Mappala al campo di relazione (ad es., Azienda)
4. Twenty collegherà automaticamente ogni record al genitore corrispondente
### Campi univoci disponibili per le relazioni
| Oggetto | Campi univoci disponibili |
| ------------------------------------------- | ------------------------------------------------------ |
| **Aziende** | `id`, `domain`, qualsiasi campo univoco personalizzato |
| **Persone** | `id`, `email`, qualsiasi campo univoco personalizzato |
| **Membri del Workspace** | `id`, `email` (non il nome) |
| **Altri oggetti standard e personalizzati** | `id`, qualsiasi campo contrassegnato come univoco |
<Note>**Collegamento ai membri dello Spazio di lavoro**: quando la relazione punta ai Membri dello Spazio di lavoro (il tuo team che accede a Twenty), fai riferimento al loro **indirizzo email**, non al nome.</Note>
<Note>Consigliamo di usare `domain` per le Aziende ed `email` per le Persone, poiché sono leggibili e facili da mantenere nei fogli di calcolo.</Note>
<Note>**Promemoria**: I record eliminati temporaneamente (visibili in Menu Comandi → Vedi record eliminati) contano ai fini dei criteri di unicità. Se importi un record con lo stesso valore univoco di un record eliminato, il record eliminato verrà ripristinato. Vedi [Vincoli di unicità](/l/it/user-guide/data-migration/capabilities/uniqueness-constraints) per maggiori dettagli.</Note>
## Regola dell'ordine di importazione
<Warning>
**Importa sempre prima il lato "uno"!**
1. **Aziende** per prime (nessuna dipendenza)
2. **Persone** al secondo posto (collegate alle Aziende)
3. **Opportunità** al terzo posto (collegate ad Aziende/Persone)
4. **Oggetti personalizzati** seguendo le relative dipendenze
Il record padre deve esistere prima di potervi fare riferimento.
</Warning>

View File

@@ -0,0 +1,72 @@
---
title: Vincoli di unicità
description: Come Twenty applica l'unicità dei dati durante l'importazione.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Panoramica
Twenty applica l'unicità su determinati campi per prevenire record duplicati e garantire l'integrità dei dati. Comprendere questi vincoli è essenziale per importazioni riuscite.
## Campi univoci predefiniti
| Oggetto | Campi univoci |
| -------------------------- | ---------------------------------------- |
| **Persone** | `id`, `email` |
| **Aziende** | `id`, `domain` |
| **Oggetti personalizzati** | Solo `id` (per impostazione predefinita) |
<Note>Il campo `id` è l'identificatore interno di Twenty, generato automaticamente per ciascun record. Utilizza il formato UUID (ad es., `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
## Campi univoci personalizzati
Puoi definire campi univoci aggiuntivi in **Impostazioni → Modello dati**:
1. Vai a **Impostazioni → Modello dati**
2. Seleziona l'oggetto
3. Fai clic su un campo
4. Abilita **Univoco** nelle impostazioni del campo
### Casi d'uso per campi univoci personalizzati
* **ID esterni**: Memorizza ID provenienti da altri sistemi (Salesforce ID, HubSpot ID)
* **Identificativi aziendali**: numeri dei dipendenti, codici cliente
* **Informazioni di contatto alternative**: profilo LinkedIn, numero di telefono
<Note>Il nome del campo `id` è riservato all'ID interno di Twenty. Usa un nome diverso come `externalId` o `legacyId` per gli identificatori esterni.</Note>
## Comportamento dell'importazione
### Creazione di nuovi record
Se il valore di un campo univoco non esiste, viene creato un nuovo record.
### Aggiornamento dei record esistenti
Se il valore di un campo univoco corrisponde a un record esistente, quel record viene **aggiornato** con i nuovi dati.
<Warning>Per **aggiornare i record esistenti**, si consiglia di **associare un solo campo univoco**.</Warning>
### Record eliminati in modo non definitivo
<Warning>
**I record eliminati contano ai fini dell'unicità.**
I record eliminati in modo non definitivo (visibili in Menu Comandi → Vedi record eliminati) sono inclusi nei controlli di unicità. Se importi un record con lo stesso valore univoco di un record eliminato, il record eliminato verrà **ripristinato** con i nuovi dati.
</Warning>
## Rilevamento dei duplicati durante l'importazione
Durante la fase di convalida:
* I duplicati presenti nel tuo file sono evidenziati in giallo
* Puoi modificare o rimuovere le righe duplicate dall'interfaccia utente prima di avviare l'importazione
<VimeoEmbed videoId="1145246326" title="Dimostrazione video" />
## Migliori Pratiche
1. **Rimuovi i duplicati** dal tuo file prima di importare
2. **Verifica la presenza di record esistenti** in Twenty prima di importare
3. **Usa ID esterni** quando esegui una migrazione da altri sistemi
4. **Includi campi univoci** se vuoi aggiornare i record esistenti