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

View File

@@ -0,0 +1,32 @@
---
title: Esporta FAQ
description: Domande frequenti sull'esportazione dei dati.
---
<AccordionGroup>
<Accordion title="Possiamo esportare tutti i dati dello spazio di lavoro prima della cancellazione, inclusi oggetti personalizzati, campi personalizzati, relazioni, note, attività, opportunità, allegati, flussi di lavoro, autorizzazioni e cronologia controlli?">
I dati dello spazio di lavoro possono essere esportati prima della cancellazione con alcune eccezioni: dashboard, flussi di lavoro e permessi devono essere trasferiti manualmente; log di audit non possono essere trasferiti.
</Accordion>
<Accordion title="Quali elementi non possono attualmente essere esportati o migrati?">
La maggior parte degli elementi può essere esportata o migrata con alcune eccezioni:
* flussi di lavoro, dashboard e tutte le impostazioni (chiavi API, webhooks, registri di controllo, impostazioni utente, ecc.) deve essere migrato manualmente
* gli oggetti e i campi creati da app possono essere migrati installando detta app in un diverso workspace. Non dovrebbero essere migrati manualmente
* alcuni record, come le versioni del flusso di lavoro e le esecuzioni del flusso di lavoro, non sono trasferibili e dovrebbero essere persi
* alcuni oggetti come messaggi e oggetti relativi al calendario non dovrebbero essere esportati come vengono creati quando un account è connesso e sincronizzato periodicamente. Verranno sincronizzati di nuovo una volta connesso il tuo account (purché tu abbia accesso a detto account, se è un account di un membro del team che ha lasciato la tua azienda, questi messaggi devono essere esportati, altrimenti andranno persi)
</Accordion>
<Accordion title="Esiste un cloud ufficiale per la procedura di migrazione autosufficiente o un servizio di migrazione assistita?">
A tutt'oggi non esiste una procedura ufficiale di migrazione tra nuvole e autostituita. L'idea generale è la seguente:
* in primo luogo, installare applicazioni per introdurre oggetti e campi di proprietà app
* replica oggetti personalizzati e campi aggiunti dagli utenti
* utilizzare uno script con chiavi API o strumenti AI per migrare tutti i dati da uno spazio di lavoro ad un altro
* tutti gli oggetti non trasferibili devono essere migrati manualmente
Si prega di essere a conoscenza di alcune cose:
* è possibile inviare fino a 50 richieste al minuto sul piano Pro o 100 richieste al minuto sul piano Organizzazione prima di colpire un limite richiesta/min
* ogni richiesta API può avere fino a 200 record
* alcuni dati in campi come Creato da, Attività Timeline e Aggiornato da saranno persi durante l'importazione e sovrascritti dal sistema
</Accordion>
<Accordion title="I file esportati sono forniti in formati aperti e documentati?">
I file esportati nell'interfaccia utente sono in formato Excel e tutte le richieste API possono essere salvate in formato JSON.
</Accordion>
</AccordionGroup>

View File

@@ -0,0 +1,209 @@
---
title: Esporta i tuoi dati
description: Guida completa passo per passo all'esportazione dei dati da Twenty.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Panoramica
Esporta i dati del tuo spazio di lavoro in CSV per backup, reportistica o migrazione.
**Casi di utilizzo:**
* **Backup regolari** — conserva copie dei tuoi dati
* **Reportistica esterna** — analizza i dati in Excel, Google Sheets o strumenti BI
* **Migrazione** — sposta i dati in un altro sistema
* **Aggiornamenti massivi** — esporta, modifica e reimporta per aggiornare i record
## Cosa devi sapere
### Limiti di esportazione
* **Massimo 20.000 record** per esportazione
* Vengono esportate solo le **colonne visibili**
* Vengono esportati solo i **record filtrati** (in base alla vista corrente)
<Note>Per esportazioni più grandi (oltre 20.000 record), usa i filtri per esportare a lotti oppure usa le [API](/l/it/developers/extend/api).</Note>
### Permessi
Hai bisogno dell'autorizzazione **"Esporta CSV"** per esportare i dati. Contatta l'amministratore del tuo spazio di lavoro se non hai questa opzione.
## Passaggio 1: Vai all'oggetto
Vai all'oggetto che vuoi esportare:
* **Persone** — per i contatti
* **Aziende** — per le organizzazioni
* **Opportunità** — per le trattative
* **Oggetti personalizzati** — qualsiasi oggetto che hai creato
## Passaggio 2: Configura la tua vista
**Importante:** L'esportazione include solo ciò che è visibile nella vista corrente.
### Aggiungi/Rimuovi colonne
1. Fai clic su **Opzioni → Campi** (oppure sul **+** alla fine delle colonne)
2. Seleziona i campi che vuoi esportare
3. Deseleziona i campi di cui non hai bisogno
### Filtra i record (opzionale)
Se ti serve solo un sottoinsieme di dati:
1. Fai clic su **Filtro**
2. Aggiungi condizioni di filtro (es., "Data di creazione > 1 gennaio 2024")
3. Verranno esportati solo i record corrispondenti
### Ordina i record (opzionale)
1. Fai clic sull'intestazione di una colonna per ordinare
2. L'esportazione seguirà il tuo ordinamento
<Note>**Crea una vista dedicata all'esportazione.** Salva una vista configurata specificamente per le esportazioni così da non dover riconfigurare ogni volta.</Note>
## Passaggio 3: Esporta i dati
1. Fai clic sull'icona **⋮** in alto a destra della tabella
2. Seleziona **Esporta vista**
3. Scegli dove salvare il file CSV
4. Attendi il completamento del download
## Cosa viene esportato
| Incluso | Non incluso |
| ------------------------------------------- | ------------------------------ |
| Tutte le colonne visibili | Colonne nascoste |
| Record che corrispondono ai filtri correnti | Record esclusi dai filtri |
| Valori dei campi personalizzati | Campi non presenti nella vista |
| ID dei record | File allegati |
| ID delle relazioni | Immagini |
### Campi di Relazione
Gli ID delle relazioni vengono esportati solo sul **lato "many"** di una relazione:
* **L'esportazione Persone** include una colonna `companyId` (relazione Persone → Azienda)
* **L'esportazione Aziende** NON include `peopleIds` (Aziende è il lato "one")
Ciò significa che puoi usare l'esportazione Persone per reimportare e mantenere il collegamento con l'Azienda, ma dovrai reimportare Persone dopo Aziende per ricreare le relazioni.
## Esportazione per scopi specifici
### Per i backup
1. Crea una vista con **tutti i campi** visibili
2. Rimuovi tutti i filtri per includere tutti i record
3. Esporta ogni tipo di oggetto separatamente
4. Conserva le esportazioni in una posizione sicura
5. Imposta un promemoria ricorrente (settimanale/mensile)
### Per la reportistica esterna
1. Includi solo i campi necessari all'analisi
2. Applica filtri per concentrarti sui dati rilevanti
3. Valuta di ordinare in base al campo che analizzerai
### Per aggiornamenti massivi
1. Esporta i record che vuoi aggiornare
2. Includi l'identificatore univoco (`email`, `domain` o `id`)
3. Modifica il file esportato
4. Reimporta per aggiornare i record
Vedi: [Come aggiornare i record esistenti](/l/it/user-guide/data-migration/how-tos/update-existing-records-via-import)
### Per la migrazione
Se stai esportando per migrare a un altro sistema:
1. **Esporta ogni oggetto separatamente** — Persone, Aziende, Opportunità, ecc.
2. **Includi i campi ID** — aiutano a mantenere le relazioni
3. **Documenta le mappature dei campi** — annota come i campi di Twenty corrispondono al tuo sistema di destinazione
## Gestione di set di dati di grandi dimensioni (oltre 20.000 record)
Il limite di esportazione è di 20.000 record. Per set di dati più grandi:
### Opzione 1: Esporta a lotti
1. Aggiungi un filtro (ad es., intervalli di "Data di creazione")
2. Esporta il primo lotto
3. Modifica il filtro
4. Esporta il lotto successivo
5. Unisci i file nel tuo foglio di calcolo
**Esempi di filtri per i lotti:**
* Per intervallo di date (gennaio, febbraio, marzo...)
* Per proprietario (membro del team A, membro del team B...)
* Per stato (attivo, inattivo...)
### Opzione 2: Usa le API
Le API non hanno un limite di record:
1. Ottieni la tua chiave API da **Impostazioni → Sviluppatori**
2. Usa le API GraphQL per interrogare i record
3. Elabora i risultati nella tua applicazione
Vedi: [Documentazione API](/l/it/developers/extend/api)
## Suggerimenti e buone pratiche
### Crea viste di esportazione
Salva viste configurate specificamente per le esportazioni:
1. Configura colonne e filtri
2. Fai clic su **Opzioni vista** → **Salva come nuova vista**
3. Assegnale il nome "Export - [Scopo]"
### Proteggi le tue esportazioni
I file esportati possono contenere dati sensibili:
* Conservali in posizioni sicure
* Elimina le esportazioni vecchie quando non sono più necessarie
* Fai attenzione quando condividi i file di esportazione
### Verifica prima di esportare
<Check>Le colonne corrette sono visibili</Check>
<Check>I filtri sono impostati correttamente (o rimossi per l'esportazione completa)</Check>
<Check>Hai l'autorizzazione di esportazione</Check>
## FAQ
<AccordionGroup>
<Accordion title="Perché mancano alcune colonne nella mia esportazione?">
Vengono esportate solo le colonne visibili. Aggiungi le colonne necessarie tramite **Opzioni → Campi** prima di esportare.
</Accordion>
<Accordion title="Perché la mia esportazione non include tutti i record?">
Controlla i tuoi filtri. L'esportazione include solo i record che corrispondono ai filtri della vista corrente. Rimuovi i filtri per esportare tutti i record.
</Accordion>
<Accordion title="Posso esportare più di 20.000 record?">
Non in un'unica esportazione. Usa i filtri per esportare a lotti oppure usa le API per set di dati più grandi.
</Accordion>
<Accordion title="Qual è il formato del file di esportazione?">
CSV (valori separati da virgola). Si apre in Excel, Google Sheets o in qualsiasi applicazione per fogli di calcolo.
</Accordion>
<Accordion title="Gli ID delle relazioni sono inclusi?">
Sì, ma solo sul lato "many" delle relazioni. Ad esempio, un'esportazione Persone include `companyId`, ma un'esportazione Aziende non include gli ID delle persone.
</Accordion>
<Accordion title="Posso automatizzare le esportazioni?">
Non direttamente tramite l'interfaccia utente. Usa le API per creare flussi di lavoro di esportazione automatizzati.
</Accordion>
</AccordionGroup>
## Prossimi Passi
* [Come aggiornare i record esistenti](/l/it/user-guide/data-migration/how-tos/update-existing-records-via-import) — modifica e reimporta la tua esportazione
* [Come importare i dati tramite API](/l/it/user-guide/data-migration/how-tos/import-data-via-api) — per set di dati di grandi dimensioni
* [Documentazione API](/l/it/developers/extend/api) — crea flussi di lavoro di esportazione personalizzati

View File

@@ -0,0 +1,430 @@
---
title: Correggere gli errori di importazione
description: Guida completa alla risoluzione degli errori di importazione CSV.
---
## Panoramica
L'importazione non funziona? Questa guida ti aiuta a identificare e correggere, passo dopo passo, gli errori di importazione più comuni.
## Come funziona la convalida dell'importazione
Dopo aver caricato il file e mappato le colonne, Twenty convalida i tuoi dati:
1. **Esecuzione della convalida** — Twenty controlla ogni riga per individuare errori
2. **Gli errori sono evidenziati** — le righe problematiche appaiono in **giallo**
3. **Puoi correggere direttamente** — modifica le celle direttamente nell'interfaccia di importazione
4. **Oppure rimuovi le righe** — salta completamente i record problematici
<Note>**Correggi gli errori nell'interfaccia.** Non è necessario tornare al tuo foglio di calcolo. Modifica le celle direttamente durante l'importazione per risparmiare tempo.</Note>
## Risoluzione dei problemi passo passo
### Passaggio 1: Identifica il tipo di errore
Fai clic su una riga evidenziata per vedere il messaggio di errore specifico. Tipi di errore comuni:
| Messaggio di errore | Cosa significa |
| ---------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| Valori duplicati evidenziati in giallo | Il valore esiste già in Twenty o compare due volte nel tuo file |
| `{field} is not a valid {type}` (passa il mouse sulla cella gialla) | I dati non corrispondono al formato previsto |
| Campo obbligatorio evidenziato | Un campo obbligatorio è vuoto |
| `Can't connect to {object}. No unique record found...` (importazione non riuscita) | Il record di riferimento non esiste |
| `Too many records. Up to 10000 allowed` (caricamento bloccato) | Il file contiene più di 10.000 record |
### Passaggio 2: Correggi l'errore
Segui le istruzioni specifiche qui sotto per ciascun tipo di errore.
---
## Errore: valore duplicato
### Cosa vedrai
Le righe con valori duplicati vengono **evidenziate in giallo** nell'interfaccia di importazione prima che l'importazione inizi.
### Cosa significa
Un campo univoco (email, dominio) può:
* Esistere già in Twenty
* Comparire due volte nel tuo file
### Come risolvere
**Opzione 1: Modifica il valore duplicato**
1. Fai clic sulla cella con l'errore
2. Modifica con un valore univoco
3. Continua con l'importazione
**Opzione 2: Rimuovi la riga duplicata**
1. Fai clic sulla X accanto alla riga
2. La riga verrà saltata durante l'importazione
**Opzione 3: Consenti a Twenty di aggiornare il record esistente**
1. Assicurati che il tuo file includa un identificatore univoco (`email`, `domain` o `id`)
2. Mappa il campo identificatore univoco
3. Twenty aggiornerà il record esistente invece di creare un duplicato
<Note>
**Puoi aggiornare anche i campi univoci.**
* Se mantieni l'`id` ma cambi l'`email` → l'email verrà aggiornata
* Se mantieni l'`email` ma cambi l'`id` → l'id verrà aggiornato
Finché almeno un identificatore univoco corrisponde, Twenty aggiorna il record.
</Note>
### Come prevenire questo errore
Prima di importare:
1. Ordina il foglio di calcolo per il campo univoco
2. Rimuovi le righe duplicate
3. Verifica se i record esistono già in Twenty
<Warning>
**I record eliminati in modo non definitivo contano ai fini dell'unicità.**
Controlla il menu Comandi → Visualizza i record eliminati. I record presenti lì impongono comunque l'unicità. Eliminali definitivamente oppure ripristinali e aggiornali.
</Warning>
Per maggiori dettagli: [Vincoli di unicità](/l/it/user-guide/data-migration/capabilities/uniqueness-constraints)
---
## Errore: formato non valido
### Cosa vedrai
Il valore della cella è evidenziato in giallo. Passa il mouse sopra per vedere il messaggio di errore:
```
{field name} is not a valid {field type}
```
### Cosa significa
I dati non corrispondono al formato previsto per quel tipo di campo.
### Come risolvere — in base al tipo di campo
#### Email
**Problema:** formato email non valido
**Soluzione:** usa il formato `name@domain.com`
```
❌ john.smith@
❌ john smith@acme.com
✓ john.smith@acme.com
```
#### Dominio
**Problema:** un formato incoerente può causare duplicati
**Soluzione:** usa il formato `https://domain.com` (consigliato)
```
⚠️ acme.com (valid, but not recommended)
⚠️ www.acme.com (valid, but not recommended)
✅ https://acme.com (recommended)
```
<Note>Tutti i formati sono validi, ma `https://domain.com` è consigliato perché corrisponde al formato utilizzato dalla sincronizzazione email/calendario. Usare altri formati può creare aziende duplicate.</Note>
#### Data
**Problema:** formato data non riconosciuto
**Soluzione:** Usa il formato `YYYY-MM-DD` in modo coerente in tutto il file
```
✓ 2024-03-15 (YYYY-MM-DD)
❌ 03/15/2024 (MM/DD/YYYY)
❌ 15/03/2024 (DD/MM/YYYY)
```
#### Telefono
**Problema:** colonne obbligatorie mancanti
**Soluzione:** includi tutte le colonne del telefono
| Colonna | Esempio |
| ---------------------------------------------------------- | ------------ |
| **Telefoni / Numero di telefono principale** | `4159095555` |
| **Telefoni / Codice paese del telefono principale** | `US` |
| **Telefoni / Prefisso telefonico del telefono principale** | `+1` |
#### Booleano
**Problema:** valore booleano errato
**Soluzione:** usa `TRUE` o `FALSE` in maiuscolo
```
❌ true
❌ yes
❌ 1
✓ TRUE
✓ FALSE
```
#### Selezione / Selezione multipla
**Problema:** il valore non corrisponde alle opzioni esistenti
**Soluzione:** usa 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)
4. Usa il nome API (ad es., `OPTION_1`, non "Option 1")
```
❌ High Priority
✓ HIGH_PRIORITY
```
#### Valuta
**Problema:** importo o codice valuta mancanti
**Soluzione:** compila entrambe le colonne
| Colonna | Esempio |
| --------------------- | --------- |
| **Importo / Importo** | `1234.56` |
| **Importo / Valuta** | `USD` |
#### Numero
**Problema:** caratteri non numerici
**Soluzione:** solo numeri, punto per i decimali
```
❌ $1,234.56
❌ 1,234.56
✓ 1234.56
```
Per il riferimento completo ai formati: [Riferimento alla mappatura dei campi](/l/it/user-guide/data-migration/capabilities/field-mapping)
---
## Errore: campo obbligatorio mancante
### Cosa vedrai
La riga è evidenziata in giallo con la cella del campo obbligatorio contrassegnata.
### Cosa significa
Un campo obbligatorio è vuoto per questa riga.
### Come risolvere
**Opzione 1: Inserisci un valore**
1. Fai clic sulla cella vuota
2. Inserisci un valore
3. Continua con l'importazione
**Opzione 2: Rimuovi la riga**
1. Se non disponi dei dati, fai clic su X per saltare la riga
### Come prevenire questo errore
Prima di importare, identifica i campi obbligatori:
1. Vai a **Impostazioni → Modello dati**
2. Seleziona il tuo oggetto
3. Verifica quali campi sono contrassegnati come obbligatori
---
## Errore: relazione non trovata
### Cosa vedrai
Questo errore compare **dopo l'avvio dell'importazione** — l'importazione non riesce con un messaggio come:
```
Can't connect to company. No unique record found with condition: id = 7776ee49-f608-4a77-8cc8-6fe96ae1e43f
```
Ciò significa che non esiste alcuna Azienda in Twenty con quello specifico identificatore.
<Note>A differenza di altri errori, questo non viene intercettato durante la fase di revisione dei dati. L'importazione inizierà e poi non riuscirà quando incontrerà la relazione mancante.</Note>
### Cosa significa
Stai tentando di collegarti a un record che non esiste in Twenty.
### Come risolvere
**Opzione 1: importa prima i record genitore**
1. Annulla l'importazione corrente
2. Importa i record genitore (ad es., Aziende)
3. Quindi importa i record figlio (ad es., Persone)
**Opzione 2: correggi il valore di riferimento**
1. Controlla il valore di riferimento nel tuo file
2. Assicurati che corrisponda esattamente a un record esistente
3. Verifica il formato: i domini devono essere `https://domain.com`
**Opzione 3: rimuovi la relazione**
1. Svuota la cella per importare senza la relazione
2. Aggiungi la relazione manualmente in seguito
### Come prevenire questo errore
1. **Importa nell'ordine corretto:**
* Prima le Aziende
* Poi le Persone (con riferimenti all'Azienda)
* Le Opportunità al terzo posto
2. **Verifica i valori di riferimento:**
* Esporta i record genitore per ottenere identificatori esatti
* Usa il formato dominio `https://domain.com`
* Verifica errori di battitura e differenze tra maiuscole/minuscole
<Warning>
**L'importazione non riuscirà se viene fatto riferimento a un record inesistente.**
Importa sempre gli oggetti genitore prima degli oggetti figlio.
</Warning>
Per maggiori dettagli: [Importazione delle relazioni](/l/it/user-guide/data-migration/capabilities/import-relations)
---
## Errore: file troppo grande
### Cosa vedrai
Questo errore compare **quando carichi il file** — il caricamento viene completamente bloccato:
```
Too many records. Up to 10000 allowed
```
Non potrai procedere alla fase di revisione dei dati finché non riduci la dimensione del file.
### Cosa significa
Il tuo file contiene più di 10.000 record.
### Come risolvere
**Opzione 1: Dividi in più file**
1. Dividi i tuoi dati in file da 10.000 record o meno
2. Importa ogni file separatamente
3. Mantieni l'ordine di importazione (Aziende prima delle Persone)
**Opzione 2: Usa l'importazione tramite API**
Per set di dati molto grandi, usa le API che non hanno un limite di record.
Vedi: [Come importare i dati tramite API](/l/it/user-guide/data-migration/how-tos/import-data-via-api)
---
## Errore: campo non riconosciuto
### Cosa significa
Una colonna del tuo file non può essere mappata perché il campo non esiste in Twenty.
### Come risolvere
1. Vai a **Impostazioni → Modello dati**
2. Seleziona l'oggetto che stai importando
3. Fai clic su **+ Aggiungi campo**
4. Crea il campo personalizzato con il tipo appropriato
5. Carica di nuovo il tuo file
<Note>L'importazione CSV crea record, non campi. Tutti i campi devono esistere prima dell'importazione.</Note>
---
## Errore: relazione utente vuota
### Cosa significa
Stai tentando di assegnare un record a un utente (Proprietario, Assegnatario) ma la relazione non viene mappata.
### Cause comuni
1. **L'utente non ha accettato l'invito** — l'utente non esiste ancora in Twenty
2. **Uso dell'ID utente dal vecchio sistema** — Twenty non può abbinare gli ID di un altro sistema
3. **Formato email errato** — l'email non corrisponde all'account Twenty dell'utente
### Come risolvere
1. Assicurati che tutti gli utenti abbiano **accettato il loro invito** al tuo spazio di lavoro Twenty
2. Usa l'**indirizzo email** dell'utente (non il nome o l'ID del vecchio sistema)
3. Usa la stessa email che hanno utilizzato per aderire a Twenty
<Warning>
**Gli utenti devono accettare gli inviti prima di importare.**
Se un utente non ha accettato l'invito, i record che fanno riferimento a quell'utente avranno relazioni utente vuote.
</Warning>
---
## Lista di controllo pre-importazione
Evita errori verificando questi elementi prima di importare:
### Requisiti del file
<Check>Il file è in formato CSV, XLSX o XLS</Check>
<Check>Il file contiene meno di 10.000 record</Check>
<Check>Il file utilizza la codifica UTF-8</Check>
### Qualità dei dati
<Check>Nessuna email duplicata (per Persone)</Check>
<Check>Nessun dominio duplicato (per Aziende)</Check>
<Check>Tutte le date utilizzano un formato coerente</Check>
<Check>Tutti i domini utilizzano il formato `https://domain.com`</Check>
### Formati dei campi
<Check>I campi booleani utilizzano `TRUE` o `FALSE` (maiuscolo)</Check>
<Check>I campi Selezione utilizzano i nomi API, non le etichette visualizzate</Check>
<Check>I campi Telefono hanno tutte le colonne richieste</Check>
<Check>I campi Valuta hanno sia Importo che Codice valuta</Check>
### Relazioni
<Check>I record genitore sono importati prima dei record figlio</Check>
<Check>Le colonne di relazione fanno riferimento a record esistenti</Check>
<Check>Il formato del dominio corrisponde esattamente al formato di Twenty</Check>
### Modello dati
<Check>Tutti i campi personalizzati esistono in Impostazioni → Modello dati</Check>
<Check>Le opzioni Selezione esistono prima dell'importazione</Check>
---
## Hai ancora problemi?
Se hai provato le soluzioni sopra:
1. **Scarica il file di esempio** — vedi il formato esatto che Twenty si aspetta
2. **Esporta i record esistenti** — confronta il tuo file con i dati funzionanti
3. **Esegui un test con un piccolo lotto** — prova prima con 5-10 righe
4. **Consulta gli articoli di riferimento:**
* [Mappatura dei campi](/l/it/user-guide/data-migration/capabilities/field-mapping)
* [Vincoli di unicità](/l/it/user-guide/data-migration/capabilities/uniqueness-constraints)
* [Importazione delle relazioni](/l/it/user-guide/data-migration/capabilities/import-relations)
* [Gestione degli errori](/l/it/user-guide/data-migration/capabilities/error-handling)

View File

@@ -0,0 +1,201 @@
---
title: Importa aziende tramite CSV
description: Guida completa passo per passo all'importazione di aziende in Twenty.
---
## Panoramica
Questa guida ti accompagna nell'importazione delle tue aziende in Twenty. **Le aziende dovrebbero essere importate per prime** perché Persone e Opportunità si collegano alle Aziende.
## Prima di Iniziare
### Lista di controllo dei prerequisiti
<Check>
Il file è in formato CSV, XLSX o XLS
</Check>
<Check>
Il file contiene meno di 10.000 record
</Check>
<Check>
Nessun dominio duplicato nel file
</Check>
<Check>
Tutti i campi personalizzati esistono in **Impostazioni → Modello dati**
</Check>
<Note>
Hai bisogno di importare più di 10.000 aziende? Suddividi in più file oppure usa l'[importazione tramite API](/l/it/user-guide/data-migration/how-tos/import-data-via-api).
</Note>
## Passo 1: Prepara i dati delle tue Aziende
### Campi obbligatori e consigliati
| Campo | Obbligatorio? | Formato | Note |
| ------------------------ | ------------- | -------------------- | ------------------------------ |
| **Name** | Consigliato | Testo | Nome visualizzato dell'azienda |
| **Dominio** | Consigliato | `https://domain.com` | Identificatore univoco |
| **Indirizzo** | Facoltativo | Più colonne | Vedi sotto |
| **Dipendenti** | Facoltativo | Numero | Numero di dipendenti |
| **Campi personalizzati** | Facoltativo | Varia | Deve esistere nel Modello dati |
### Formato del dominio
<Warning>
**Usa il formato `https://domain.com` per i domini.**
Questo corrisponde al formato usato quando le Aziende vengono create automaticamente dalla sincronizzazione di email/calendario, evitando duplicati in seguito.
</Warning>
**Colonne del dominio:**
* **Domain / Domain Label**: `acme.com`
* **Domain / Domain URL**: `https://acme.com`
### Formato dell'indirizzo
L'indirizzo è un campo annidato con più colonne:
```
Address / Address 1,Address / City,Address / State,Address / Country,Address / Post Code
123 Main Street,San Francisco,CA,USA,94105
```
### Esempio di struttura CSV
```csv
name,Domain / Domain URL,Domain / Domain Label,Address / City,Address / Country,employees
Acme Corp,https://acme.com,acme.com,San Francisco,USA,250
Widget Co,https://widgets.co,widgets.co,New York,USA,50
```
<Note>
**Suggerimento avanzato:** Fai clic su **Scarica file di esempio** durante l'importazione per vedere i nomi di colonna esatti che Twenty si aspetta.
</Note>
## Passo 2: Accedi alla funzione di importazione
**Opzione 1: dalla vista Aziende**
1. Vai su **Aziende** nella barra laterale sinistra
2. Fai clic sull'icona **⋮** in alto a destra
3. Seleziona **Importa record**
**Opzione 2: tramite Menu Comandi**
1. Premi `Cmd + K` (Mac) o `Ctrl + K` (Windows)
2. Digita "import"
3. Seleziona **Importa record**
4. Scegli **Aziende**
## Passo 3: Carica il tuo file
1. Fai clic su **Seleziona file**
2. Scegli il tuo file CSV, XLSX o XLS
3. Attendi che Twenty analizzi il tuo file
## Passo 4: Mappa le tue colonne
Twenty tenta automaticamente di associare le tue colonne ai campi. Verifica e regola:
1. **Controlla le mappature automatiche** — verifica che siano corrette
2. **Correggi le mappature errate** — fai clic sul menu a discesa per selezionare il campo corretto
3. **Salta colonne** — seleziona **Non mappare** per le colonne che non vuoi importare
### Regole importanti di mappatura
* **Dominio**: mappa a **Domain / Domain URL** (non Domain Label)
* **Indirizzo**: mappa ogni parte alla sua colonna specifica (Città, Stato, ecc.)
* **Campi Selezione**: i valori devono corrispondere alle opzioni esistenti (oppure li mapperai nel passaggio successivo)
<img src="/images/user-guide/import-export-data/match-columns.png" style={{width:'100%'}} />
## Passo 5: Mappa i valori dei campi Selezione
Se hai campi Selezione o Multiselezione:
1. Twenty mostra i tuoi valori insieme alle opzioni esistenti
2. Abbina ogni valore nel tuo file a un'opzione di Twenty
3. Oppure crea nuove opzioni se necessario
<Note>
Le opzioni dei campi Selezione usano i **nomi API**, non le etichette visualizzate. Controlla **Impostazioni → Modello dati** → Abilita la **Modalità avanzata** per vedere i nomi API.
</Note>
## Passo 6: Rivedi e correggi gli errori
Prima di completare l'importazione, Twenty convalida i tuoi dati:
1. Fai clic su **Passaggi successivi**
2. Le righe con errori sono evidenziate in **giallo**
3. **Correggi gli errori direttamente** — fai clic su una cella e modifica il valore
4. **Rimuovi le righe problematiche** — fai clic sulla X per saltare quella riga
### Errori comuni di importazione delle aziende
| Errore | Causa | Soluzione |
| ---------------------------------- | ------------------------------- | ---------------------------------------------------- |
| **Dominio duplicato** | Il dominio esiste già in Twenty | Rimuovi dal file oppure aggiorna il record esistente |
| **Formato del dominio non valido** | Formato errato | Usa `https://domain.com` |
| **Campo obbligatorio mancante** | Il campo obbligatorio è vuoto | Compila il valore oppure rimuovi la riga |
## Passo 7: Completa l'importazione
1. Rivedi il riepilogo dell'importazione
2. Fai clic su **Conferma** per importare
3. Attendi il completamento dell'importazione
4. Verifica controllando alcuni record
## Dopo l'importazione delle Aziende
Ora puoi importare record collegati alle Aziende:
1. **[Importa Persone](/l/it/user-guide/data-migration/how-tos/import-contacts-via-csv)** — collegale alle Aziende usando il dominio
2. **Importa le Opportunità** — collegale alle Aziende
3. **Verifica l'importazione** — controlla a campione alcuni record per assicurarti che i dati siano corretti
## Aggiornare le Aziende esistenti
Per aggiornare le aziende invece di crearne di nuove:
1. Includi nel file la colonna `domain` o `id`
2. Twenty abbina i record tramite questo identificatore univoco
3. Le aziende esistenti vengono aggiornate; quelle nuove vengono create
Per i dettagli, vedi [Come aggiornare i record esistenti](/l/it/user-guide/data-migration/how-tos/update-existing-records-via-import).
## FAQ
<AccordionGroup>
<Accordion title="Perché due Aziende non possono avere lo stesso dominio?">
Il dominio è un identificatore univoco in Twenty. Questo evita aziende duplicate e garantisce che la sincronizzazione delle email colleghi correttamente i messaggi all'azienda giusta.
</Accordion>
<Accordion title="Cosa succede se ho aziende senza dominio?">
Puoi lasciare vuoto il dominio. Tuttavia, consigliamo di aggiungere i domini quando possibile per una migliore qualità dei dati e per il collegamento automatico delle email.
</Accordion>
<Accordion title="Posso importare aziende senza Persone collegate?">
Sì! Puoi importare prima le aziende, poi importare le Persone in un secondo momento e collegarle utilizzando il dominio dell'azienda.
</Accordion>
<Accordion title="Cosa succede se importo un dominio già esistente?">
Se includi un identificatore univoco (dominio o id) che corrisponde a un'azienda esistente, Twenty aggiorna quell'azienda invece di crearne un duplicato.
</Accordion>
<Accordion title="Come risolvo gli errori &#x22;dominio duplicato&#x22;?">
Rimuovi il duplicato dal tuo file oppure includi l'`id` dell'azienda per aggiornare il record esistente.
</Accordion>
</AccordionGroup>
## Risoluzione dei problemi
Hai problemi? Controlla:
* [Come correggere gli errori di importazione](/l/it/user-guide/data-migration/how-tos/fix-import-errors)
* [Riferimento alla mappatura dei campi](/l/it/user-guide/data-migration/capabilities/field-mapping)
* [Vincoli di unicità](/l/it/user-guide/data-migration/capabilities/uniqueness-constraints)

View File

@@ -0,0 +1,242 @@
---
title: Importa contatti tramite CSV
description: Guida completa passo per passo all'importazione di persone/contatti in Twenty.
---
## Panoramica
Questa guida ti accompagna nell'importazione dei tuoi contatti (Persone) in Twenty.
## Prima di Iniziare
### Lista di controllo dei prerequisiti
<Check>
Il file è in formato CSV, XLSX o XLS
</Check>
<Check>
Il file contiene meno di 10.000 record
</Check>
<Check>
Nessun indirizzo email duplicato nel file
</Check>
<Check>
**Aziende importate per prime** (se colleghi Persone ad Aziende)
</Check>
<Check>
Tutti i campi personalizzati esistono in **Impostazioni → Modello dati**
</Check>
<Warning>
**Importa le Aziende prima delle Persone**
Se vuoi collegare le Persone alle Aziende, importa prima le Aziende. L'Azienda deve esistere prima di potervi fare riferimento.
</Warning>
## Passo 1: Prepara i tuoi dati di contatto
### Campi obbligatori e consigliati
| Campo | Obbligatorio? | Formato | Note |
| ------------------------ | ------------- | ----------------- | ------------------------------ |
| **Email** | Consigliato | `name@domain.com` | Deve essere univoco |
| **Nome** | Consigliato | Testo | |
| **Cognome** | Consigliato | Testo | |
| **Azienda** | Facoltativo | Dominio o ID | Collega a un'Azienda esistente |
| **Telefono** | Facoltativo | Più colonne | Vedi sotto |
| **Titolo di lavoro** | Facoltativo | Testo | |
| **Campi personalizzati** | Facoltativo | Varia | Deve esistere nel Modello dati |
### Formato email
* Deve avere un formato email valido: `name@domain.com`
* **Deve essere univoca** — nessun duplicato nel tuo file o in Twenty
* Per email aggiuntive, usa la colonna **Email / Email aggiuntive**:
```
["jane@twenty.com","jane.doe@twenty.com"]
```
### Formato telefono
Telefono è un **campo annidato** che richiede più colonne:
| Colonna | Esempio |
| ---------------------------------------------------------- | ------------ |
| **Telefoni / Numero di telefono principale** | `4159095555` |
| **Telefoni / Codice paese del telefono principale** | `US` |
| **Telefoni / Prefisso telefonico del telefono principale** | `+1` |
### Collegamento alle Aziende
Aggiungi una colonna con l'identificatore univoco dell'Azienda:
| Nome colonna | Formato | Esempio |
| --------------- | ----------- | -------------------------------------- |
| `companyDomain` | Formato URL | `https://acme.com` |
| `companyId` | UUID | `c776ee49-f608-4a77-8cc8-6fe96ae1e43f` |
<Note>
**Usa il formato URL del dominio** (`https://acme.com`), non l'etichetta. Questo corrisponde al modo in cui le Aziende sono memorizzate in Twenty.
</Note>
### Esempio di struttura CSV
```csv
firstName,lastName,email,jobTitle,companyDomain,Phones / Primary Phone Number,Phones / Primary Phone Country Code
John,Smith,john@acme.com,CEO,https://acme.com,4159095555,US
Jane,Doe,jane@widgets.co,CTO,https://widgets.co,2125551234,US
```
<Note>
**Suggerimento avanzato:** Fai clic su **Scarica file di esempio** durante l'importazione oppure esporta alcune Persone esistenti per vedere i nomi di colonna esatti che Twenty si aspetta.
</Note>
## Passo 2: Accedi alla funzione di importazione
**Opzione 1: dalla vista Persone**
1. Vai a **Persone** nella barra laterale sinistra
2. Fai clic sull'icona **⋮** in alto a destra
3. Seleziona **Importa record**
**Opzione 2: tramite Menu Comandi**
1. Premi `Cmd + K` (Mac) o `Ctrl + K` (Windows)
2. Digita "import"
3. Seleziona **Importa record**
4. Scegli **Persone**
## Passo 3: Carica il tuo file
1. Fai clic su **Seleziona file**
2. Scegli il tuo file CSV, XLSX o XLS
3. Attendi che Twenty analizzi il tuo file
## Passo 4: Mappa le tue colonne
Twenty tenta automaticamente di associare le tue colonne ai campi. Verifica e regola:
1. **Controlla le mappature automatiche** — verifica che siano corrette
2. **Correggi le mappature errate** — fai clic sul menu a discesa per selezionare il campo corretto
3. **Salta colonne** — seleziona **Non mappare** per le colonne che non vuoi importare
### Regole importanti di mappatura
| Tipo di colonna | Mappa su | Note |
| ----------------------- | ------------------------------ | --------------------------------------------- |
| Riferimento all'Azienda | Campo di relazione **Azienda** | Usa il dominio O l'ID, non entrambi |
| Email | **Email** | Indirizzo email principale |
| Email aggiuntive | **Email / Email aggiuntive** | Formato array |
| Telefono | Colonne separate | Numero, Codice paese, Prefisso internazionale |
<img src="/images/user-guide/import-export-data/match-columns.png" style={{width:'100%'}} />
### Mappare la relazione con l'Azienda
Quando mappi la colonna dell'azienda:
1. Trova la tua colonna di riferimento dell'azienda (ad es., `companyDomain`)
2. Mappala al campo di relazione **Azienda**
3. Twenty collegherà ogni Persona all'Azienda corrispondente
<Warning>
**Mappa un solo identificatore univoco per le relazioni.**
Non mappare sia `companyId` che `companyDomain`. Scegline uno — preferibilmente il dominio, perché è facilmente leggibile.
</Warning>
## Passaggio 5: Mappa i valori dei campi Selezione
Se hai campi Selezione o Multiselezione (come Origine del lead):
1. Twenty mostra i tuoi valori insieme alle opzioni esistenti
2. Abbina ogni valore nel tuo file a un'opzione di Twenty
3. Oppure crea nuove opzioni se necessario
<Note>
Le opzioni dei campi Selezione usano i **nomi API**, non le etichette visualizzate. Controlla **Impostazioni → Modello dati** → Abilita la **Modalità avanzata** per vedere i nomi API.
</Note>
## Passaggio 6: Rivedi e correggi gli errori
Prima di completare l'importazione, Twenty convalida i tuoi dati:
1. Fai clic su **Passaggi successivi**
2. Le righe con errori sono evidenziate in **giallo**
3. **Correggi gli errori direttamente** — fai clic su una cella e modifica il valore
4. **Rimuovi le righe problematiche** — fai clic sulla X per saltare quella riga
### Errori comuni di importazione dei contatti
| Errore | Causa | Soluzione |
| ------------------------------- | --------------------------------------- | ------------------------------------------------------- |
| **Email duplicata** | L'email esiste già in Twenty o nel file | Rimuovi il duplicato o aggiorna il record esistente |
| **Formato email non valido** | Formato email errato | Correggi in `name@domain.com` |
| **Relazione non trovata** | L'Azienda non esiste | Importa prima le Aziende oppure correggi il riferimento |
| **Campo obbligatorio mancante** | Il campo obbligatorio è vuoto | Compila il valore oppure rimuovi la riga |
## Passaggio 7: Completa l'importazione
1. Rivedi il riepilogo dell'importazione
2. Fai clic su **Conferma** per importare
3. Attendi il completamento dell'importazione
4. Verifica controllando alcuni record e i relativi collegamenti all'Azienda
## Dopo l'importazione dei contatti
I tuoi contatti sono ora in Twenty! Prossimi passaggi:
1. **Verifica i collegamenti all'Azienda** — apri alcuni record Persone per confermare che siano collegati all'Azienda corretta
2. **Importa le Opportunità** — se necessario, collegale a Persone e Aziende
3. **Configura la sincronizzazione email** — collega la tua casella di posta per vedere lo storico delle email sui record dei contatti
## Aggiornare i contatti esistenti
Per aggiornare i contatti invece di crearne di nuovi:
1. Includi la colonna `email` o `id` nel tuo file
2. Twenty abbina i record tramite questo identificatore univoco
3. I contatti esistenti vengono aggiornati; quelli nuovi vengono creati
Per i dettagli, vedi [Come aggiornare i record esistenti](/l/it/user-guide/data-migration/how-tos/update-existing-records-via-import).
## FAQ
<AccordionGroup>
<Accordion title="Perché due Persone non possono avere la stessa email?">
L'email è un identificatore univoco in Twenty. Questo evita contatti duplicati e garantisce che la sincronizzazione delle email colleghi correttamente i messaggi alla persona giusta.
</Accordion>
<Accordion title="Cosa succede se ho persone senza email?">
Puoi lasciare vuota l'email. Tuttavia, consigliamo di aggiungere le email quando possibile per una migliore qualità dei dati e per la funzionalità di sincronizzazione delle email.
</Accordion>
<Accordion title="Come collego Persone ad Aziende durante l'importazione?">
Aggiungi una colonna con il dominio dell'Azienda (ad es., `https://acme.com`) o l'ID. Durante la mappatura, collega questa colonna al campo di relazione Azienda.
</Accordion>
<Accordion title="E se l'Azienda non esiste ancora?">
Importa prima le Aziende, poi importa le Persone. L'Azienda deve esistere prima di potervi fare riferimento.
</Accordion>
<Accordion title="Posso importare l'ID dal mio precedente CRM?">
Sì! Crea un campo personalizzato contrassegnato come "univoco" nel tuo modello dati per archiviare l'ID esterno. Nota: il nome del campo `id` è riservato all'ID interno di Twenty.
</Accordion>
<Accordion title="Come risolvo gli errori &#x22;relazione non trovata&#x22;?">
L'Azienda a cui fai riferimento non esiste. Importa prima l'Azienda oppure verifica che il dominio/ID corrisponda esattamente a un'Azienda esistente.
</Accordion>
</AccordionGroup>
## Risoluzione dei problemi
Problemi? Controlla:
* [Come correggere gli errori di importazione](/l/it/user-guide/data-migration/how-tos/fix-import-errors)
* [Come importare le relazioni](/l/it/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)
* [Riferimento alla mappatura dei campi](/l/it/user-guide/data-migration/capabilities/field-mapping)

View File

@@ -0,0 +1,176 @@
---
title: Importa dati via API
description: Quando e come usare le API di Twenty per importazioni di dati su larga scala.
---
## Panoramica
Twenty offre sia **GraphQL** che **API REST** per l'importazione programmatica dei dati. Usa l'API quando l'importazione CSV non è pratica per il tuo volume di dati o quando hai bisogno di importazioni automatizzate e ricorrenti.
## Quando usare l'importazione via API
| Scenario | Metodo consigliato |
| ----------------------------------- | ---------------------------------------- |
| Meno di 10.000 record | Importazione CSV |
| 10.000 - 50.000 record | Importazione CSV (suddivisa in più file) |
| **Oltre 50.000 record** | **Importazione via API** |
| Migrazione una tantum | Entrambi (in base al volume) |
| **Importazioni ricorrenti** | **Importazione via API** |
| **Sincronizzazione in tempo reale** | **Importazione via API** |
| **Integrazione con altri sistemi** | **Importazione via API** |
<Note>Per set di dati dell'ordine delle centinaia di migliaia, l'API è significativamente più veloce e più affidabile rispetto a importazioni CSV multiple.</Note>
## Limiti di frequenza delle API
Twenty applica limiti di frequenza per garantire la stabilità del sistema:
| Limite | Valore |
| ----------------------------- | -------------------- |
| **Richieste al minuto** | 100 |
| **Record per chiamata batch** | 60 |
| **Throughput massimo** | ~6.000 record/minuto |
<Warning>
**Pianifica la tua importazione tenendo conto di questi limiti.**
Per 100.000 record al throughput massimo, prevedi circa 17 minuti di tempo di importazione. Aggiungi un margine di tempo per la gestione degli errori e i nuovi tentativi.
</Warning>
## Per iniziare
### Passaggio 1: Ottieni la tua chiave API
1. Vai a **Impostazioni → Sviluppatori**
2. Fai clic su **+ Crea chiave API**
3. Assegna alla tua chiave un nome descrittivo
4. Copia immediatamente la chiave API (non verrà più mostrata)
5. Conservala in modo sicuro
<Warning>
**Mantieni segreta la tua chiave API.**
Chiunque abbia la tua chiave API può accedere ai dati del tuo spazio di lavoro e modificarli. Non inserirla mai nei repository di codice né condividerla pubblicamente.
</Warning>
### Passaggio 2: Scegli la tua API
Twenty supporta due tipi di API:
| API | Ideale per | Documentazione |
| ----------- | ------------------------------------------------------------------ | -------------------------------------------- |
| **GraphQL** | Query flessibili, recupero di dati correlati, operazioni complesse | [Documentazione API](/l/it/developers/extend/api) |
| **REST** | Operazioni CRUD semplici, pattern REST familiari | [Documentazione API](/l/it/developers/extend/api) |
Entrambe le API supportano:
* Creazione, lettura, aggiornamento ed eliminazione dei record
* **Operazioni batch** — crea o aggiorna fino a 60 record per chiamata
**Per le importazioni, usa le operazioni batch** per massimizzare il throughput entro i limiti di frequenza.
### Passaggio 3: Pianifica l'ordine di importazione
Proprio come per le importazioni CSV, **l'ordine è importante** per le relazioni:
1. **Aziende** per prime (nessuna dipendenza)
2. **Persone** al secondo posto (possono collegarsi alle Aziende)
3. **Opportunità** al terzo posto (possono collegarsi ad Aziende e Persone)
4. **Attività/Note** (possono collegarsi a uno qualsiasi dei precedenti)
5. **Oggetti personalizzati** (seguendo le loro dipendenze)
## Migliori Pratiche
### Raggruppa le richieste in batch
* Non inviare i record uno alla volta
* Raggruppa fino a **60 record per chiamata API**
* Questo massimizza il throughput entro i limiti di frequenza
### Gestisci i limiti di frequenza
* Implementa dei ritardi tra le richieste (minimo 600 ms per importazioni prolungate)
* Usa un backoff esponenziale quando raggiungi i limiti
* Monitora le risposte 429 (Too Many Requests)
### Convalida i dati prima
* Pulisci e convalida i tuoi dati prima di importare
* Verifica che i campi obbligatori siano compilati
* Verifica che i formati soddisfino i requisiti di Twenty (vedi [Mappatura dei campi](/l/it/user-guide/data-migration/capabilities/field-mapping))
### Registra tutto
* Registra ogni record importato (inclusi gli ID)
* Registra gli errori con tutto il contesto
* Questo aiuta a eseguire il debug dei problemi e a verificare il completamento
### Testa prima
* Esegui un test con un piccolo batch (10-20 record)
* Verifica che i dati compaiano correttamente in Twenty
* Poi esegui l'importazione completa
### Usa l'upsert per evitare duplicati
L'API GraphQL supporta **l'upsert in batch** — aggiorna se il record esiste, crea se non esiste. Questo evita duplicati quando riesegui le importazioni.
## Trovare i nomi di oggetti e campi
Per vedere oggetti e campi disponibili:
1. Vai a **Impostazioni → API e Webhooks**
2. Esplora la **Metadata API**
3. Visualizza tutti gli oggetti standard e personalizzati con i relativi campi
La documentazione mostra tutti gli oggetti standard e personalizzati, i loro campi e i tipi di dati previsti.
## Servizi Professionali
Per migrazioni API complesse, i nostri partner possono aiutarti:
| Servizio | Cosa è incluso |
| ---------------------------------- | ----------------------------------------------- |
| **Progettazione del modello dati** | progettare la tua struttura dati ottimale |
| **Script di migrazione** | scrivere ed eseguire gli script di importazione |
| **Trasformazione dei dati** | gestire mappature complesse e pulizia |
| **Validazione & QA** | verificare che la migrazione sia completa |
**Ideale per:**
* Migrazioni di oltre 100.000 record
* Trasformazioni dei dati complesse
* Tempistiche ristrette
* Team senza risorse di sviluppo
Contattaci a [contact@twenty.com](mailto:contact@twenty.com) oppure scopri i nostri [Servizi di implementazione](/l/it/user-guide/getting-started/capabilities/implementation-services).
## FAQ
<AccordionGroup>
<Accordion title="Qual è la differenza tra GraphQL e REST?">
GraphQL ti consente di richiedere esattamente i dati di cui hai bisogno con una singola query ed è migliore per operazioni complesse. REST utilizza i metodi HTTP standard (GET, POST, PUT, DELETE) e può risultare più familiare se hai già lavorato con API tradizionali.
</Accordion>
<Accordion title="Posso aggiornare i record esistenti tramite API?">
Sì! Usa mutation di aggiornamento (GraphQL) o richieste PUT/PATCH (REST) con l'`id` del record.
</Accordion>
<Accordion title="Come gestisco i duplicati?">
Esegui prima una query per i record esistenti usando identificatori univoci (email, dominio). Aggiorna se esiste, crea se non esiste.
</Accordion>
<Accordion title="Posso eliminare i record tramite API?">
Sì, usa mutation di delete (GraphQL) o richieste DELETE (REST).
</Accordion>
<Accordion title="Esiste un SDK per Python o Node.js?">
Al momento no, ma entrambe le API funzionano con qualsiasi client HTTP in qualsiasi linguaggio.
</Accordion>
</AccordionGroup>
## Documentazione API
Per i dettagli completi di implementazione, esempi di codice e riferimento allo schema:
* [Documentazione API](/l/it/developers/extend/api)

View File

@@ -0,0 +1,225 @@
---
title: Importare le relazioni tra oggetti tramite CSV
description: Guida completa passo dopo passo per collegare i record durante l'importazione CSV.
---
## Panoramica
Questa guida ti accompagna nell'importazione delle relazioni tra oggetti — ad esempio, collegare Persone ad Aziende o Opportunità a Persone.
<Note>**Cosa può essere importato:** Solo relazioni uno-a-molti che puntano a un singolo tipo di oggetto. Le relazioni che puntano a più tipi di oggetto (come Note collegate a Persone E Aziende) non sono ancora supportate per l'importazione.</Note>
## Comprendere le relazioni
### Che cos'è una relazione "uno-a-molti"?
In una relazione uno-a-molti:
* **Una** Azienda ha **molte** Persone (dipendenti)
* **Una** Azienda ha **molte** Opportunità
* **Una** Persona ha **molte** Attività
Il lato "uno" è il **genitore**. Il lato "molti" è il **figlio**.
### Relazioni comuni in Twenty
| Relazione | Lato "uno" (genitore) | Lato "molti" (figlio) |
| --------------------- | --------------------- | --------------------- |
| Aziende → Persone | Azienda | Persone |
| Aziende → Opportunità | Azienda | Opportunità |
| Persone → Attività | Persona | Attività |
| Persone → Note | Persona | Note |
## Passaggio 1: Identifica i lati "Uno" e "Molti"
Prima di importare, determina quale oggetto è il genitore e quale è il figlio.
**Chiediti:** "Un [Oggetto A] ha molti [Oggetto B]?"
* Un'Azienda → Molte Persone ✓ (l'Azienda è il genitore)
* Una Persona → Molte Aziende ✗ (Questo è sbagliato: una persona appartiene a un'azienda)
## Passaggio 2: Importa prima i record genitore
Il genitore (lato "uno") deve esistere in Twenty prima di potervi fare riferimento.
**Ordine di importazione:**
1. **Aziende** per prime (nessuna dipendenza)
2. **Persone** dopo (collegate alle Aziende)
3. **Opportunità** al terzo posto (collegate ad Aziende e/o Persone)
4. **Attività/Note** (collegate a uno qualsiasi dei precedenti)
<Warning>
**Se il record genitore non esiste, l'importazione fallirà.**
Verifica sempre che le Aziende siano importate prima di importare le Persone con riferimenti all'Azienda.
</Warning>
## Passaggio 3: Annota l'identificatore univoco del genitore
Devi fare riferimento al record genitore usando un **identificatore univoco**. Opzioni disponibili:
| Oggetto genitore | Identificatori univoci disponibili |
| --------------------------------- | ---------------------------------------------------------------------------- |
| **Aziende** | `id` (UUID), `domain` (consigliato) o qualsiasi campo univoco personalizzato |
| **Persone** | `id` (UUID), `email` o qualsiasi campo univoco personalizzato |
| **Membri dello spazio di lavoro** | `id` (UUID), `email` (non il nome) |
| **Oggetti personalizzati** | `id` (UUID) o qualsiasi campo contrassegnato come univoco |
<Note>**Consigliato:** Usa `domain` per le Aziende ed `email` per le Persone. Sono leggibili e facili da verificare nel tuo foglio di calcolo.</Note>
### Trovare l'identificatore
Se ti serve l'`id`:
1. Esporta i record genitore da Twenty
2. L'esportazione include la colonna `id`
3. Usa questi ID nel file dei record figlio
## Passaggio 4: Verifica che il campo di relazione esista
Prima di importare, assicurati che esista il campo di relazione tra i tuoi oggetti.
**Per verificare o creare:**
1. Vai a **Impostazioni → Modello dati**
2. Seleziona il tuo oggetto figlio (ad es., Persone)
3. Cerca un campo di relazione che punti al genitore (ad es., Azienda)
4. Se non esiste, crealo:
* Fai clic su **+ Aggiungi campo**
* Seleziona il tipo **Relazione**
* Scegli l'oggetto genitore
## Passaggio 5: Prepara il tuo file CSV
Aggiungi al CSV dei record figlio una colonna che faccia riferimento al genitore usando il suo identificatore univoco.
### Esempio: Persone collegate ad Aziende
**Il tuo CSV delle Persone:**
```csv
firstName,lastName,email,jobTitle,companyDomain
John,Smith,john@acme.com,CEO,https://acme.com
Jane,Doe,jane@widgets.co,CTO,https://widgets.co
Bob,Johnson,bob@techstart.io,Developer,https://techstart.io
```
La colonna `companyDomain` fa riferimento al dominio dell'Azienda.
### Requisiti di formato
| Identificatore | Formato | Esempio |
| -------------- | -------------- | -------------------------------------- |
| Dominio | Formato URL | `https://acme.com` |
| Email | Email standard | `john@acme.com` |
| ID | UUID | `c776ee49-f608-4a77-8cc8-6fe96ae1e43f` |
<Warning>
**Il formato del dominio è importante!**
Usa `https://domain.com` (non solo `domain.com`). Questo corrisponde a come Twenty archivia i domini delle Aziende e previene errori di corrispondenza.
</Warning>
### Regole importanti
1. **Corrispondenza esatta richiesta** — il valore deve corrispondere esattamente al record genitore
2. **Mappa un solo identificatore univoco** — non includere sia `companyId` che `companyDomain`
3. **Sensibile alle maiuscole/minuscole** — `Acme.com` ≠ `acme.com`
## Passaggio 6: Carica e mappa la relazione
1. Vai all'oggetto figlio (ad es., Persone)
2. Fai clic su **⋮** → **Importa record**
3. Carica il tuo file CSV
4. Nella fase di mappatura dei campi:
* Trova la tua colonna di relazione (ad es., `companyDomain`)
* Mappala al campo di relazione **Azienda**
5. Completa le restanti mappature
6. Controlla gli errori e conferma
Twenty collegherà automaticamente ogni record figlio al genitore corrispondente.
## Passaggio 7: Verifica l'importazione
Dopo l'importazione:
1. Apri alcuni record figlio (ad es., Persone)
2. Verifica che il campo di relazione mostri il genitore corretto (ad es., Azienda)
3. Apri un record genitore e controlla la sezione dei record correlati
## Errori comuni da evitare
| Errore | Problema | Soluzione |
| ----------------------------------------- | ------------------------------------------------- | ---------------------------------------------------------------------------------- |
| **Ordine di importazione errato** | Importare le Persone prima delle Aziende | Importa sempre prima i genitori, poi i figli |
| **Formato del dominio errato** | Uso di `acme.com` invece di `https://acme.com` | Usa il formato URL completo con `https://` |
| **Più campi univoci** | Mappare sia `companyId` che `companyDomain` | Mappa un solo identificatore univoco |
| **Campo di relazione mancante** | Il campo di relazione non esiste nel modello dati | Crealo in **Impostazioni → Modello dati** prima dell'importazione |
| **Record inesistenti** | Il record genitore non esiste in Twenty | Importa prima i record genitore oppure verifica la presenza di errori di battitura |
| **Discrepanza tra maiuscole e minuscole** | `Acme.com` nel file ma `acme.com` in Twenty | Assicurati che le maiuscole/minuscole corrispondano esattamente |
## Collegamento ai membri del Workspace
Quando colleghi i membri del Workspace (il tuo team):
* Usa il loro **indirizzo email**, non il nome
* Esempio: `owner@yourcompany.com`, non "John Smith"
```csv
taskName,assignedTo
Follow up with client,john@yourcompany.com
Review proposal,jane@yourcompany.com
```
## FAQ
<AccordionGroup>
<Accordion title="Cosa succede se il mio record genitore non ha un dominio o un'email?">
Hai due opzioni:
1. Usa l'`id` di Twenty (esporta i record genitore per ottenere i loro ID)
2. Crea un campo univoco personalizzato nel tuo modello dati per archiviare un ID esterno dal sistema precedente
</Accordion>
<Accordion title="Posso aggiornare le relazioni sui record esistenti?">
Sì! Includi l'identificatore univoco del record figlio (ad es., `email` per Persone) e il nuovo valore della relazione. L'importazione aggiornerà la relazione.
</Accordion>
<Accordion title="Posso importare relazioni molti-a-molti?">
Le relazioni molti-a-molti non sono ancora supportate per l'importazione. È previsto per H1 2026.
</Accordion>
<Accordion title="Posso collegare a più tipi di oggetto (come Note a Persone E Aziende)?">
Le relazioni che puntano a più tipi di oggetto non sono ancora supportate per importazione/esportazione. È nella nostra roadmap.
</Accordion>
<Accordion title="Cosa succede se un record genitore non esiste?">
L'importazione mostrerà un errore per quella riga. Puoi:
* Importa prima il record genitore, poi ripeti l'importazione
* Correggi il valore di riferimento
* Rimuovi la riga dall'importazione
</Accordion>
<Accordion title="Perché la mia relazione non si collega correttamente?">
Cause comuni:
* Formato errato (usa `https://domain.com` per i domini)
* Discrepanza tra maiuscole e minuscole (controlla l'ortografia esatta)
* Il genitore non esiste (importa prima i genitori)
* Mappatura di più identificatori (usane uno solo)
</Accordion>
</AccordionGroup>
<Warning>
**Ricorda: i record eliminati in modo non definitivo contano ai fini dell'unicità.**
Se ricevi errori "not found" ma il record sembra esistere, controlla Menu comandi → Visualizza record eliminati. Il genitore potrebbe essere stato eliminato in modo non definitivo.
</Warning>
## Risoluzione dei problemi
Hai problemi? Controlla:
* [Come correggere gli errori di importazione](/l/it/user-guide/data-migration/how-tos/fix-import-errors)
* [Capacità di importazione delle relazioni](/l/it/user-guide/data-migration/capabilities/import-relations)
* [Vincoli di unicità](/l/it/user-guide/data-migration/capabilities/uniqueness-constraints)

View File

@@ -0,0 +1,289 @@
---
title: Migrazione da altri CRM
description: Guida passo-passo per migrare i tuoi dati da qualsiasi CRM a Twenty.
---
## Panoramica
Questa guida ti accompagna nella migrazione dei tuoi dati da qualsiasi CRM a Twenty. Il processo prevede la revisione dei tuoi dati, la preparazione del tuo spazio di lavoro Twenty, l'esportazione dal sistema attuale e l'importazione in Twenty.
<Note>Le viste, i flussi di lavoro e le autorizzazioni devono essere ricreati manualmente dopo la migrazione. Pianifica il tempo per questo lavoro di configurazione.</Note>
## Passaggio 1: Verifica dei tuoi dati correnti
La migrazione è un'opportunità per un nuovo inizio. Non trasferire il superfluo.
**Cosa mantenere:**
* Contatti e aziende attivi
* Opportunità e trattative aperte
* Note e attività importanti
* Campi personalizzati che utilizzi effettivamente
**Cosa lasciare indietro:**
* Contatti obsoleti (nessuna attività da 2 o più anni)
* Record duplicati
* Dati di test
* Campi personalizzati inutilizzati
## Passaggio 2: Mappa il tuo modello di dati
Crea un documento di mappatura tra il tuo CRM attuale e Twenty:
| Il tuo CRM | Twenty |
| ------------------------ | -------------------------- |
| Account / Organizzazione | **Azienda** |
| Contatto / Persona | **Persone** |
| Trattativa / Opportunità | **Opportunità** |
| Attività | **Attività** o **Nota** |
| Oggetto personalizzato | **Oggetto personalizzato** |
**Per ogni campo, documenta:**
* Il nome del campo di origine
* Il campo di destinazione di Twenty
* Eventuali trasformazioni di formato necessarie (date, numeri di telefono, ecc.)
<Note>Tieni a portata di mano questo documento di mappatura durante l'importazione—lo userai come riferimento quando mapperai le colonne.</Note>
## Passaggio 3: Configura il tuo spazio di lavoro Twenty
Prima di importare i dati, prepara il tuo spazio di lavoro Twenty:
### Crea oggetti e campi personalizzati
1. Vai a **Impostazioni → Modello dati**
2. Crea tutti gli oggetti personalizzati di cui hai bisogno
3. Aggiungi campi personalizzati agli oggetti standard e personalizzati
4. Configura le impostazioni dei campi (univoche, obbligatorie, opzioni dei campi di selezione, ecc.)
<Warning>
**I campi devono esistere prima dell'importazione.**
L'importazione CSV crea record, non campi. Crea tutti i campi personalizzati in Impostazioni → Modello dati prima dell'importazione.
</Warning>
### Invita il tuo team
<Warning>
**Invita gli utenti PRIMA di importare i dati.**
Se i tuoi dati includono riferimenti a utenti (Proprietario dell'account, Assegnatario, ecc.), tali utenti devono esistere in Twenty prima dell'importazione. In caso contrario, tali relazioni non possono essere mappate.
</Warning>
1. Vai a **Impostazioni → Membri**
2. Invita tutti i membri del team
3. **Attendi che tutti accettino** il loro invito
4. Verifica che tutti gli utenti compaiano nell'elenco Membri
## Passaggio 4: Esporta dal tuo CRM attuale
Esporta i tuoi dati dal tuo CRM attuale:
1. Cerca una funzione di **Esportazione** (di solito in Impostazioni, Gestione dei dati o Amministrazione)
2. Esporta in **formato CSV** quando possibile
3. Esporta separatamente ogni tipo di oggetto (Aziende, Contatti, Trattative, ecc.)
4. Includi tutti i campi che desideri migrare
**Esporta questi oggetti (in questo ordine come riferimento):**
1. Aziende / Account / Organizzazioni
2. Contatti / Persone
3. Trattative / Opportunità
4. Note e Attività
5. Oggetti personalizzati
## Passaggio 5: Pulisci e formatta i tuoi dati
Apri ogni file CSV esportato in un'applicazione di fogli di calcolo e preparalo per Twenty.
### Rimuovi i duplicati
1. Ordina per il campo univoco (email per Persone, dominio per Aziende)
2. Rimuovi o unisci le righe duplicate
3. Verifica che non esistano già duplicati in Twenty
### Formatta correttamente i campi
| Tipo di campo | Formato richiesto |
| ---------------------- | ---------------------------------------------------------- |
| **Dominio** | `https://domain.com` |
| **Email** | `name@domain.com` (deve essere univoco) |
| **Data** | `YYYY-MM-DD` |
| **Telefono** | Tre colonne: Numero, Codice paese, Prefisso internazionale |
| **Booleano** | `TRUE` o `FALSE` (maiuscolo) |
| **Campi di selezione** | Usa i nomi API, non le etichette visualizzate |
<Warning>
**Il formato del dominio è fondamentale.**
Usa `https://domain.com` (non `domain.com` o `www.domain.com`). Questo corrisponde al formato di Twenty ed evita duplicati quando colleghi la sincronizzazione di email e calendario.
</Warning>
Consulta [Come preparare i tuoi file CSV](/l/it/user-guide/data-migration/how-tos/prepare-your-csv-files) per i requisiti di formattazione completi per tutti i tipi di campo.
### Aggiungi colonne di relazione
Per collegare i record (ad es., Persone ad Aziende), aggiungi una colonna con l'identificatore univoco del record padre.
**Esempio: CSV Persone con collegamento all'Azienda**
```csv
firstName,lastName,email,companyDomain
John,Smith,john@acme.com,https://acme.com
Jane,Doe,jane@widgets.co,https://widgets.co
```
Consulta [Come importare le relazioni](/l/it/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) per istruzioni dettagliate sul collegamento dei record.
### Aggiorna i riferimenti agli utenti
Se i tuoi dati includono assegnazioni utente (Proprietario, Assegnatario):
1. Aggiungi una colonna con l'**email dell'utente** (non solo il suo ID dal vecchio sistema)
2. Usa gli stessi indirizzi email che gli utenti hanno utilizzato per unirsi al tuo spazio di lavoro Twenty
Consulta [Come preparare i tuoi file CSV](/l/it/user-guide/data-migration/how-tos/prepare-your-csv-files) per la guida completa alla formattazione.
## Passaggio 6: Importa in Twenty
<Warning>
**L'ordine di importazione è importante!**
Importa sempre in questo ordine:
1. **Aziende** per prime (nessuna dipendenza)
2. **Persone** al secondo posto (collegate alle Aziende)
3. **Opportunità** al terzo posto (collegate ad Aziende/Persone)
4. **Note e Attività** (collegate ai record)
5. **Oggetti personalizzati** seguendo le relative dipendenze
Il record padre deve esistere prima di potervi fare riferimento.
</Warning>
### Importa ogni oggetto
Per ogni file CSV, in ordine:
1. Vai all'oggetto in Twenty
2. Fai clic su **⋮ → Importa record**
3. Carica il file CSV
4. Mappa le colonne ai campi:
* Mappa le colonne delle email degli utenti ai campi relazione appropriati
* Mappa le colonne di relazione (come `companyDomain`) ai campi di relazione
5. Controlla e correggi eventuali errori nell'interfaccia
6. Conferma l'importazione
7. Verifica alcuni record prima di passare al file successivo
**Guide dettagliate:**
* [Come importare le aziende](/l/it/user-guide/data-migration/how-tos/import-companies-via-csv)
* [Come importare i contatti](/l/it/user-guide/data-migration/how-tos/import-contacts-via-csv)
* [Come importare le relazioni](/l/it/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)
## Passaggio 7: Migrazioni di grandi dimensioni (oltre 50.000 record)
Per migrazioni di grandi dimensioni:
| Volume | Approccio consigliato |
| ---------------------- | ------------------------ |
| Meno di 10.000 record | Importazione CSV singola |
| 10.000 - 50.000 record | Dividi in più file CSV |
| Oltre 50.000 record | Usa le API |
**Per le importazioni tramite API:**
* Più veloce e più affidabile per set di dati di grandi dimensioni
* Supporta operazioni in batch (fino a 60 record per chiamata)
* Consulta [Come importare i dati tramite API](/l/it/user-guide/data-migration/how-tos/import-data-via-api)
## Passaggio 8: Configurazione post-migrazione
Dopo aver importato i dati, completa la configurazione del tuo spazio di lavoro:
### Ricrea le viste
* Configura viste salvate con filtri, ordinamenti e configurazioni delle colonne
* Crea eventuali viste kanban o calendario di cui hai bisogno
### Ricrea i Flussi di Lavoro
* Ricrea le automazioni in **Impostazioni → Flussi di lavoro**
* Inizia dai flussi di lavoro più critici
* Testa ciascuno prima di farci affidamento
### Configura ruoli e permessi
* Configura i ruoli in **Impostazioni → Membri → Ruoli**
* Assegna gli utenti ai ruoli appropriati
### Collega email e calendario
* Ogni utente collega il proprio account in **Impostazioni → Account**
* Twenty inizierà a sincronizzare le email con i record dei contatti
* Consulta [Email e Calendario](/l/it/user-guide/calendar-emails/overview)
### Forma il tuo team
* Esamina insieme al team la nuova interfaccia
* Documenta eventuali processi specifici del team
## Problemi comuni e soluzioni
| Problema | Causa | Soluzione |
| --------------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------- |
| **Errori di duplicazione** | Email/dominio già esistente | Rimuovi i duplicati dal file oppure includi un identificatore univoco per aggiornare i record esistenti |
| **Relazione non trovata** | Il record padre non esiste | Importa prima gli oggetti padre (Aziende prima delle Persone) |
| **Campi mancanti** | Il campo personalizzato non esiste | Crea il campo in Impostazioni → Modello dati prima dell'importazione |
| **Errori nei campi di selezione** | Uso delle etichette visualizzate | Usa i nomi API (attiva la modalità Avanzata in Impostazioni per trovarli) |
| **Relazione utente vuota** | L'utente non ha accettato l'invito | Assicurati che tutti gli utenti accettino gli inviti prima di importare |
Consulta [Come correggere gli errori di importazione](/l/it/user-guide/data-migration/how-tos/fix-import-errors) per passaggi dettagliati di risoluzione dei problemi.
## Lista di Verifica Post-Migrazione
### Integrità dei dati
<Check>Tutti i record importati (confronta i conteggi con il sistema di origine)</Check>
<Check>Relazioni funzionanti correttamente (Persone collegate ad Aziende)</Check>
<Check>Assegnazioni utente mappate correttamente (Proprietario, Assegnatario)</Check>
<Check>Campi personalizzati compilati</Check>
<Check>Nessun duplicato imprevisto</Check>
### Configurazione
<Check>Viste ricreate</Check>
<Check>Flussi di lavoro ricreati e testati</Check>
<Check>Ruoli e permessi configurati</Check>
<Check>Sincronizzazione email/calendario connessa</Check>
### Preparazione del team
<Check>Team formato sul nuovo sistema</Check>
<Check>Piano di accesso al vecchio CRM deciso (mantenerlo come riferimento? Quando disattivarlo?)</Check>
## FAQ
<AccordionGroup>
<Accordion title="Posso migrare i flussi di lavoro automaticamente?">
Al momento no. I flussi di lavoro devono essere ricreati manualmente in Twenty.
</Accordion>
<Accordion title="Che cosa succede agli allegati?">
Gli allegati non sono inclusi nelle esportazioni CSV. Dovrai ricaricarli manualmente, migrarli tramite API oppure contattare il nostro team per assistenza.
</Accordion>
<Accordion title="Posso mantenere entrambi i sistemi attivi durante la migrazione?">
Sì, consigliamo di mantenere attivo il tuo vecchio CRM finché non avrai verificato che la migrazione sia completa. Fai solo attenzione a non creare nuovi dati in entrambi gli ambienti.
</Accordion>
<Accordion title="Quanto tempo richiede di solito la migrazione?">
Dipende dal volume e dalla complessità dei dati. Le migrazioni di piccole dimensioni (meno di 10.000 record) possono essere completate in poche ore. Le migrazioni di grandi dimensioni possono richiedere diversi giorni, compresi la pulizia dei dati e i test.
</Accordion>
</AccordionGroup>
## Hai Bisogno di Aiuto?
<Tip>
Vuoi aiuto con la tua migrazione? [Trova un partner Twenty certificato](https://twenty.com/partners/list?categories=SOLUTIONING\&ref=docs-migrate-crm) per spostare i dati, le pipeline e gli utenti end-to-end.
</Tip>

View File

@@ -0,0 +1,173 @@
---
title: Migrazione da Soluzioni Self-Hosted a Cloud
description: Guida passo-passo per migrare la tua istanza Twenty self-hosted verso Twenty Cloud.
---
## Panoramica
Questa guida ti accompagna nella migrazione dei tuoi dati da un'istanza Twenty self-hosted a Twenty Cloud. Il processo prevede la configurazione dello spazio di lavoro cloud, l'esportazione dei dati e la loro reimportazione.
<Note>Le viste, i flussi di lavoro e i ruoli devono essere ricreati manualmente dopo la migrazione. Pianifica il tempo per questo lavoro di configurazione.</Note>
## Passaggio 1: Crea il tuo spazio di lavoro cloud
1. Vai su [app.twenty.com](https://app.twenty.com) e crea un nuovo spazio di lavoro
2. Completa la procedura guidata iniziale
3. Annota l'URL del tuo nuovo spazio di lavoro
## Passaggio 2: Ricrea il tuo modello dati
Prima di importare i dati, ricrea i tuoi oggetti e campi personalizzati:
1. Vai a **Impostazioni → Modello dati** nella tua istanza cloud
2. Crea oggetti personalizzati che corrispondano alla tua configurazione self-hosted
3. Aggiungi campi personalizzati agli oggetti standard e personalizzati
4. Configura le impostazioni dei campi (univoche, obbligatorie, ecc.)
<Note>Fai degli screenshot del tuo modello dati self-hosted come riferimento oppure tieni entrambe le istanze aperte affiancate.</Note>
## Passaggio 3: Invita tutti gli utenti
<Warning>
**Critico: invita gli utenti PRIMA di importare i dati.**
Gli utenti devono accettare i loro inviti prima di importare qualsiasi record che faccia riferimento a loro (come i campi Account Owner). Se gli utenti non esistono ancora, tali relazioni non possono essere mappate.
</Warning>
1. Vai a **Impostazioni → Membri** nella tua istanza cloud
2. Invita tutti i membri del team che avevano account sull'istanza self-hosted
3. **Attendi che tutti accettino** il loro invito
4. Verifica che tutti gli utenti compaiano nell'elenco Membri
## Passaggio 4: Esporta i dati dall'istanza self-hosted
Esporta ogni oggetto dalla tua istanza self-hosted:
1. Vai a ciascun oggetto (Aziende, Persone, Opportunità, ecc.)
2. Configura la vista per mostrare **tutte le colonne** che vuoi migrare
3. Fai clic su **⋮ → Esporta vista**
4. Salva ogni file CSV con un nome chiaro (ad es., `companies-export.csv`)
**Esporta in questo ordine** (come riferimento durante l'importazione):
1. Aziende
2. Persone
3. Opportunità
4. Oggetti personalizzati (seguendo le loro dipendenze)
5. Attività, Note
## Passaggio 5: Aggiorna i riferimenti ai membri dello spazio di lavoro
I CSV esportati contengono gli ID utente della tua istanza self-hosted. Questi ID non corrisponderanno alla tua istanza cloud, quindi devi sostituirli con le email.
**Per ogni file CSV con riferimenti utente (Owner, Assignee, ecc.):**
1. Apri il CSV in un'applicazione per fogli di calcolo
2. Aggiungi una nuova colonna accanto a ciascuna colonna di ID utente (ad es., `accountOwnerEmail` accanto a `accountOwnerId`)
3. Compila l'**indirizzo email** di ciascun utente
4. Puoi eliminare la vecchia colonna ID oppure lasciarla (verrà ignorata durante l'importazione)
**Esempio:**
Prima:
```csv
name,domain,accountOwnerId
Acme Corp,https://acme.com,old-uuid-123
```
Dopo:
```csv
name,domain,accountOwnerEmail
Acme Corp,https://acme.com,john@yourcompany.com
```
<Note>Usa gli stessi indirizzi email che gli utenti hanno usato per accettare l'invito allo spazio di lavoro cloud.</Note>
## Passaggio 6: Pianifica l'ordine di importazione
Importa i file nel giusto ordine per mantenere le relazioni:
1. **Aziende** per prime (nessuna dipendenza)
2. **Persone** dopo (collegate alle Aziende)
3. **Opportunità** al terzo posto (collegate ad Aziende e Persone)
4. **Oggetti personalizzati** (seguendo le loro dipendenze)
5. **Attività e Note** per ultime (collegate ad altri record)
Consulta [Come importare le relazioni](/l/it/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) per i dettagli su come mantenere le relazioni.
## Passaggio 7: Importa nel cloud
Per ogni file CSV, in ordine:
1. Vai all'oggetto nella tua istanza cloud
2. Fai clic su **⋮ → Importa record**
3. Carica il file CSV
4. Mappa le colonne ai campi:
* Mappa le colonne delle email degli utenti ai campi relazione appropriati
* Mappa le altre colonne come al solito
5. Controlla e correggi eventuali errori
6. Conferma l'importazione
7. Verifica alcuni record prima di passare al file successivo
## Passaggio 8: Ricrea la configurazione
Dopo aver importato i dati, ricrea manualmente:
### Viste
* Ricrea le viste salvate con filtri, ordinamenti e configurazioni delle colonne
* Configura eventuali viste kanban o calendario
### Flussi di Lavoro
* Ricrea le automazioni in **Impostazioni → Flussi di lavoro**
* Testa ogni flusso di lavoro prima di farci affidamento
### Ruoli e permessi
* Configura i ruoli in **Impostazioni → Membri → Ruoli**
* Assegna gli utenti ai ruoli appropriati
### Integrazioni
* Riconnetti la sincronizzazione di email e calendario per ogni utente
* Riconfigura eventuali integrazioni API con nuove chiavi API
## Lista di Verifica Post-Migrazione
<Check>Tutti i dati importati correttamente</Check>
<Check>Relazioni tra oggetti funzionanti correttamente</Check>
<Check>Assegnazioni utente (Owner, Assignee) mappate correttamente</Check>
<Check>Viste ricreate</Check>
<Check>Flussi di lavoro ricreati e testati</Check>
<Check>Ruoli e permessi configurati</Check>
<Check>Sincronizzazione email/calendario riconnessa</Check>
<Check>Integrazioni API aggiornate con nuove chiavi</Check>
## FAQ
<AccordionGroup>
<Accordion title="Posso migrare i flussi di lavoro automaticamente?">
Al momento no. I flussi di lavoro devono essere ricreati manualmente nella tua istanza cloud.
</Accordion>
<Accordion title="Che cosa succede agli allegati e alle immagini?">
Gli allegati non sono inclusi nelle esportazioni CSV. Dovrai ricaricare manualmente gli allegati, migrarli tramite API oppure contattare il nostro team per assistenza con migrazioni di grandi dimensioni.
</Accordion>
<Accordion title="Posso mantenere entrambe le istanze operative durante la migrazione?">
Sì, consigliamo di mantenere attiva la tua istanza self-hosted finché non avrai verificato che la migrazione al cloud sia completa. Fai solo attenzione a non creare nuovi dati in entrambi gli ambienti.
</Accordion>
<Accordion title="Cosa succede se un utente non ha ancora accettato l'invito?">
I record che fanno riferimento a quell'utente non verranno importati oppure la relazione risulterà vuota. Assicurati che tutti gli utenti accettino gli inviti prima di importare i dati.
</Accordion>
</AccordionGroup>
## Hai Bisogno di Aiuto?
<Tip>
Stai eseguendo la migrazione di uno spazio di lavoro grande o complesso? [Trova un partner Twenty certificato](https://twenty.com/partners/list?categories=HOSTING\&ref=docs-migrate-cloud) per gestire l’intera migrazione end-to-end. *(Oppure coinvolgi il nostro team: [contact@twenty.com](mailto:contact@twenty.com).)*
</Tip>

View File

@@ -0,0 +1,267 @@
---
title: Prepara i tuoi file CSV
description: Guida completa passo passo per formattare i tuoi dati per l'importazione in Twenty.
---
## Panoramica
Questa guida ti accompagna nella preparazione del tuo file CSV per un'importazione riuscita. Segui questi passaggi per evitare errori.
## Passaggio 1: Controlla i requisiti del file
Prima di iniziare, assicurati che il tuo file soddisfi questi requisiti:
| Requisito | Dettagli |
| ------------------------ | --------------------------- |
| **Formato** | CSV, XLSX o XLS |
| **Limite di dimensione** | 10.000 record per file |
| **Codifica** | Si consiglia UTF-8 |
| **Struttura** | Un tipo di oggetto per file |
<Note>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).</Note>
## Passaggio 2: Scarica il file di esempio
**Questo è il passaggio più importante.** Il file di esempio ti mostra i nomi delle colonne e il formato esatti che Twenty si aspetta.
1. Vai alla vista dell'oggetto (Persone, Aziende, ecc.)
2. Fai clic su **⋮** → **Importa record**
3. Fai clic su **Scarica file di esempio**
4. Usa questo file come modello
<Note>**Suggerimento avanzato:** Esporta invece alcuni record esistenti. Questo ti fornisce esempi reali di come i dati devono essere formattati e i nomi delle colonne verranno mappati automaticamente durante l'importazione.</Note>
## Passaggio 3: Rimuovi i valori duplicati
Twenty impone l'unicità su alcuni campi. I duplicati causeranno errori di importazione.
| Oggetto | Campi unici |
| -------------------------- | ------------------------------------------------------------- |
| **Persone** | `id`, `email` |
| **Aziende** | `id`, `domain` |
| **Oggetti personalizzati** | `id`, più qualsiasi campo che hai contrassegnato come univoco |
**Prima dell'importazione:**
1. Ordina il tuo foglio di calcolo in base al campo univoco (email o dominio)
2. Rimuovi o unisci le righe duplicate
3. Verifica la presenza di duplicati già esistenti in Twenty
<Warning>**I record eliminati in modo non definitivo contano ai fini dell'unicità.** I record in Menu Comandi → Vedi record eliminati causeranno errori di duplicato. Eliminali definitivamente oppure ripristinali e aggiornali.</Warning>
## Passaggio 4: Formattta correttamente ogni tipo di campo
Tipi di campo diversi richiedono formati specifici. Ecco il riferimento completo:
### Campi di testo
* Non è richiesta una formattazione speciale
* Gli spazi iniziali/finali vengono rimossi automaticamente
### Campi email
* Deve avere un formato email valido: `name@domain.com`
* Deve essere univoco (nessun duplicato nel file o in Twenty)
* Per email aggiuntive, usa questo formato nella colonna **Email / Email aggiuntive**:
```
["jane@twenty.com","jane.doe@twenty.com"]
```
### Campi del dominio
* **Formato consigliato**: `https://domain.com`
* Questo corrisponde al formato usato dalla sincronizzazione della casella di posta/calendario (evita duplicati)
* Compila entrambe le colonne:
* **Dominio / Etichetta dominio**: `domain.com`
* **Dominio / URL dominio**: `https://domain.com`
* Deve essere univoco all'interno del tuo file e in Twenty
### Campi telefono
Il telefono è un **campo annidato** che richiede più colonne:
| Colonna | Esempio |
| -------------------------------------------------------------- | ------------ |
| **Telefoni / Numero di telefono principale** | `4159095555` |
| **Telefoni / Codice paese del telefono principale** | `US` |
| **Telefoni / Prefisso internazionale del telefono principale** | `+1` |
### Campi indirizzo
Indirizzo è un **campo annidato** con più colonne (alcune possono essere lasciate vuote):
* **Indirizzo / Indirizzo 1**: Riga indirizzo 1
* **Indirizzo / Indirizzo 2**: Riga indirizzo 2 (facoltativa)
* **Indirizzo / Città**: Nome città
* **Indirizzo / Stato**: Stato o provincia
* **Indirizzo / Paese**: Nome paese
* **Indirizzo / Codice postale**: Codice postale/CAP
### Campi data
Usa un formato coerente in tutto il file:
* `YYYY-MM-DD` (consigliato): `2024-03-15`
* ISO 8601: `2024-03-15T10:30:00Z`
### Campi numerici
* Solo numeri (nessun testo)
* Usa il punto per i decimali: `1234.56`
* Nessun separatore delle migliaia (non `1,234.56`)
### Campi valuta
Valuta è un **campo annidato** che richiede due colonne che **devono essere entrambe compilate**:
| Colonna | Esempio |
| --------------------- | --------- |
| **Importo / Importo** | `1234.56` |
| **Importo / Valuta** | `USD` |
### Campi booleani
Usa il maiuscolo: `TRUE` o `FALSE`
<Warning>Le minuscole `true` o `false` non funzioneranno.</Warning>
### Campi Selezione
Usa il **nome API** dell'opzione, non l'etichetta di visualizzazione.
**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)
4. Copia il nome API (ad es., `OPTION_1`, non "Option 1")
<Note>Le nuove opzioni di selezione non vengono create automaticamente. Aggiungile in **Impostazioni → Modello dati** prima di importare.</Note>
### Campi a selezione multipla
Usa i nomi API in formato array:
```
["VALUE1","VALUE2"]
```
### Campi array
Usa il formato array JSON:
```
["value1","value2"]
```
### Campi di valutazione
Usa il formato: `RATING_1`, `RATING_2`, `RATING_3`, `RATING_4` o `RATING_5`
### Campi Link/URL
Compila entrambe le colonne:
* **Link / Etichetta del link**: `Twenty`
* **Link / URL del link**: `https://twenty.com`
Per i link secondari, usa la colonna **Link / Link secondari**:
```
[{"url":"https://twenty.com","label":"Twenty"}]
```
### Campi JSON
Usa un formato JSON valido:
```
{"key":"value","key2":"value2"}
```
### Campi ID
* **Opzionale**: Twenty genera automaticamente gli ID se non forniti
* **Formato**: UUID (ad es., `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`)
* **Caso d'uso**: Includi l'ID per aggiornare i record esistenti invece di crearne di nuovi
## Passaggio 5: Aggiungi colonne di relazione (se colleghi record)
Per collegare i record ad altri oggetti (ad es., Persone ad Aziende), aggiungi una colonna con l'identificatore univoco del record correlato.
**Esempio**: collegare Persone ad Aziende
Aggiungi una colonna al CSV Persone:
```
firstName,lastName,email,companyDomain
John,Smith,john@acme.com,https://acme.com
Jane,Doe,jane@widgets.co,https://widgets.co
```
**Regole importanti per le relazioni:**
* Il record padre deve già esistere in Twenty
* Usa il formato **URL del dominio** (`https://domain.com`), non l'etichetta
* Mappa un solo identificatore univoco (non includere sia `companyId` che `companyDomain`)
* Per i membri dello spazio di lavoro, usa la loro **email** (non il nome)
<Warning>
**L'ordine di importazione è importante!**
Importa il lato "uno" prima del lato "molti":
1. **Aziende** prima
2. **Persone** poi (con riferimento all'azienda)
3. **Opportunità** al terzo posto
Il record padre deve esistere prima di potervi fare riferimento.
</Warning>
Consulta [Come importare le relazioni](/l/it/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) per istruzioni dettagliate.
## Passaggio 6: Verifica che i campi esistano in Twenty
L'importazione crea record, non campi. Tutti i campi che vuoi importare devono già esistere nel tuo modello dati.
**Prima di importare:**
1. Vai a **Impostazioni → Modello dati**
2. Seleziona il tuo oggetto
3. Crea gli eventuali campi personalizzati necessari
4. Annota i nomi esatti dei campi (devono corrispondere alle intestazioni delle colonne)
## Passaggio 7: Lista di controllo finale
Prima di caricare il file, verifica:
<Check>Il file è in formato CSV, XLSX o XLS</Check>
<Check>Il file contiene meno di 10.000 record</Check>
<Check>La codifica è UTF-8</Check>
<Check>Nessuna email duplicata (per Persone) o domini (per Aziende)</Check>
<Check>Le date usano un formato coerente ovunque</Check>
<Check>I domini usano il formato `https://domain.com`</Check>
<Check>I campi booleani usano `TRUE` o `FALSE` (maiuscolo)</Check>
<Check>I campi di selezione usano i nomi API, non le etichette di visualizzazione</Check>
<Check>Tutti i campi personalizzati esistono in Impostazioni → Modello dati</Check>
<Check>I record padre sono importati prima dei record figlio</Check>
<Check>Le colonne di relazione fanno riferimento a record esistenti</Check>
## Errori comuni da evitare
| Errore | Soluzione |
| --------------------------------------------------------------- | ---------------------------------------------------- |
| Uso di `true` invece di `TRUE` | I valori booleani devono essere in maiuscolo |
| Uso delle etichette di visualizzazione per i campi di selezione | Trova e usa i nomi API in Impostazioni |
| Importare Persone prima delle Aziende | Importa sempre prima gli oggetti padre |
| Codice valuta mancante per i campi di valuta | Compila sia la colonna Importo sia la colonna Valuta |
| Formato di dominio errato | Usa `https://domain.com` in modo coerente |
| Mappatura di più campi univoci per le relazioni | Mappa solo UNO (dominio O id, non entrambi) |
## Prossimi Passi
Il tuo file è pronto! Ora:
* [Importa Aziende](/l/it/user-guide/data-migration/how-tos/import-companies-via-csv) (importale per prime)
* [Importa Contatti](/l/it/user-guide/data-migration/how-tos/import-contacts-via-csv)
* [Correggi eventuali errori di importazione](/l/it/user-guide/data-migration/how-tos/fix-import-errors)

View File

@@ -0,0 +1,198 @@
---
title: Aggiorna i record esistenti tramite importazione
description: Guida completa passo dopo passo per aggiornare in blocco i record usando l'importazione CSV.
---
## Panoramica
Devi aggiornare molti record in una sola volta? Invece di modificarli uno per uno, usa l'importazione CSV per aggiornare in blocco i record esistenti.
**Casi di utilizzo:**
* Aggiorna i titoli professionali per più persone
* Modifica in blocco le informazioni sulle aziende
* Aggiungi dati ai nuovi campi personalizzati
* Correggi gli errori dei dati su molti record
## Come Funziona
Quando importi un file che contiene un **identificatore univoco** corrispondente a un record esistente, Twenty aggiorna quel record invece di crearne un duplicato.
| Se l'identificatore univoco... | Twenty farà... |
| --------------------------------- | ---------------------------------------------------------- |
| Corrisponde a un record esistente | **Aggiorna** il record esistente |
| Non corrisponde ad alcun record | **Crea** un nuovo record |
| Manca nel tuo file | **Crea** un nuovo record (con ID generato automaticamente) |
<Warning>
**I campi Multi-Select vengono sovrascritti, non uniti.**
Se un record ha `Option A` e `Option B` selezionate e importi `["Option C"]`, il record avrà solo `Option C` dopo l'importazione. L'importazione sostituisce tutte le selezioni precedenti: non le aggiunge.
Per mantenere i valori esistenti, includili tutti nella tua importazione: `["Option A","Option B","Option C"]`
</Warning>
## Passaggio 1: Esporta i tuoi dati correnti
Per prima cosa, esporta i record che vuoi aggiornare:
1. Vai all'oggetto (Persone, Aziende, ecc.)
2. **Aggiungi le colonne necessarie** — fai clic su **Options → Fields** per mostrare i campi che vuoi aggiornare
3. **Filtra se necessario** — limita ai soli record che vuoi aggiornare
4. Fai clic su **⋮** → **Esporta vista**
5. Salva il file CSV
<Note>**Perché esportare prima?** Il file esportato ha il formato corretto, include gli identificatori univoci e viene mappato automaticamente durante l'importazione.</Note>
### Cosa viene esportato
* Tutte le colonne visibili nella vista corrente
* Gli identificatori univoci del record (`id`, `email`, `domain`)
* Valori attuali dei campi che puoi modificare
## Passaggio 2: Modifica il file CSV
Apri il file esportato nella tua applicazione di fogli di calcolo (Excel, Google Sheets, ecc.):
1. **Mantieni la colonna dell'identificatore univoco** — non eliminare `id`, `email` o `domain`
2. **Aggiorna i valori** nelle colonne che vuoi modificare
3. **Rimuovi le colonne che non devi aggiornare** (opzionale, ma più pulito)
4. **Non modificare i valori dell'identificatore univoco** — altrimenti Twenty creerà nuovi record
### Esempio: aggiornare i titoli professionali
**File esportato:**
```csv
id,email,firstName,lastName,jobTitle
550e8400-e29b-41d4-a716-446655440001,john@acme.com,John,Smith,Sales Rep
550e8400-e29b-41d4-a716-446655440002,jane@acme.com,Jane,Doe,Sales Rep
550e8400-e29b-41d4-a716-446655440003,bob@acme.com,Bob,Johnson,Sales Rep
```
**Dopo le tue modifiche:**
```csv
id,email,firstName,lastName,jobTitle
550e8400-e29b-41d4-a716-446655440001,john@acme.com,John,Smith,Account Executive
550e8400-e29b-41d4-a716-446655440002,jane@acme.com,Jane,Doe,Senior Account Executive
550e8400-e29b-41d4-a716-446655440003,bob@acme.com,Bob,Johnson,Account Executive
```
<Warning>
**Non modificare i valori dell'identificatore univoco.**
Se modifichi `john@acme.com` in `john.smith@acme.com`, Twenty creerà un nuovo record invece di aggiornare quello esistente.
</Warning>
## Passaggio 3: Importa il file aggiornato
1. Vai all'oggetto
2. Fai clic su **⋮** → **Importa record**
3. Carica il file CSV modificato
4. **Assicurati che l'identificatore univoco sia mappato** — verifica che `email`, `domain` o `id` siano mappati correttamente
5. Rivedi le mappature dei campi
6. Verifica la presenza di errori
7. Fai clic su **Conferma**
Twenty abbina i record in base all'identificatore univoco e li aggiorna con i nuovi valori.
## Scegliere l'identificatore univoco giusto
| Oggetto | Consigliato | Alternativa | Note |
| -------------------------- | ----------------------- | ----------- | --------------------------------------- |
| **Persone** | `email` | `id` | L'email è leggibile |
| **Aziende** | `dominio` | `id` | Il dominio è leggibile |
| **Oggetti personalizzati** | Qualsiasi campo univoco | `id` | Usa il tuo campo univoco personalizzato |
<Note>**Usa un solo identificatore univoco.** Non mappare sia `email` che `id`. Questo può causare confusione ed errori.</Note>
### Utilizzo di campi univoci personalizzati
Se hai un campo personalizzato contrassegnato come univoco (come un ID esterno da un altro sistema):
1. Includi quel campo nell'esportazione e nell'importazione
2. Mappalo durante l'importazione
3. Twenty abbinerà in base a quel campo
## Passaggio 4: Verifica gli aggiornamenti
Dopo l'importazione:
1. Apri alcuni record aggiornati
2. Verifica che le modifiche siano state applicate
3. Controlla che non siano stati creati record duplicati
## Che cosa succede ai campi non presenti nel tuo file?
**I campi non inclusi nel file di importazione rimangono invariati.**
| Il tuo file include... | Risultato |
| ---------------------------- | ------------------------------------------------------------------- |
| `email`, `jobTitle` | Viene aggiornato solo `jobTitle`; gli altri campi restano invariati |
| `email`, `jobTitle`, `phone` | Vengono aggiornati `jobTitle` e `phone` |
Ciò significa che devi includere solo i campi che vuoi modificare (più l'identificatore univoco).
## Combinare aggiornamenti e nuovi record
Puoi aggiornare i record esistenti E creare nuovi record nella stessa importazione:
```csv
email,firstName,lastName,jobTitle
john@acme.com,John,Smith,Senior Manager ← Updates existing (email matches)
newperson@acme.com,New,Person,Analyst ← Creates new (email doesn't match)
```
## Errori comuni da evitare
| Errore | Problema | Risultato | Soluzione |
| ----------------------------------------- | --------------------------------------------------------- | ----------------------------------------- | ---------------------------------------------- |
| **Modifica dell'identificatore univoco** | Modificato `john@acme.com` in `john.smith@acme.com` | Crea un nuovo record invece di aggiornare | Mantieni invariati gli identificatori univoci |
| **Più campi univoci** | Mappare sia `email` che `id` | Possibili conflitti di corrispondenza | Mappa un solo identificatore univoco |
| **Nessun identificatore univoco** | Il file contiene solo `firstName`, `lastName`, `jobTitle` | Tutte le righe creano nuovi record | Includi sempre `email`, `domain` o `id` |
| **Discrepanza tra maiuscole e minuscole** | Il file ha `John@acme.com` ma Twenty ha `john@acme.com` | Crea un nuovo record | Esporta da Twenty per ottenere i valori esatti |
## FAQ
<AccordionGroup>
<Accordion title="Cosa succede se alcuni record non esistono ancora?">
I record con identificatori univoci che non corrispondono a record esistenti verranno creati come nuovi record. Questo ti consente di aggiornare e creare nella stessa importazione.
</Accordion>
<Accordion title="Posso svuotare il valore di un campo?">
Sì, lascia la cella vuota nel tuo CSV. L'importazione cancellerà il valore di quel campo nel record esistente.
</Accordion>
<Accordion title="Cosa succede ai campi che non includo nell'importazione?">
I campi non presenti nel file di importazione rimangono invariati nei record esistenti. Vengono aggiornati solo i campi che includi.
</Accordion>
<Accordion title="Posso aggiornare i campi di relazione (come Azienda)?">
Sì! Includi l'identificatore univoco della relazione (ad es., `companyDomain`) e mappalo sul campo di relazione. La relazione verrà aggiornata.
</Accordion>
<Accordion title="Come faccio a sapere quali record saranno aggiornati e quali creati?">
Durante la fase di revisione dell'importazione, Twenty ti mostra quanti record verranno aggiornati e quanti creati in base alle corrispondenze dell'identificatore univoco.
</Accordion>
<Accordion title="Posso annullare un aggiornamento in blocco?">
Non è disponibile un annullamento automatico. Ti consigliamo di esportare i tuoi dati come backup prima di effettuare aggiornamenti in blocco.
</Accordion>
</AccordionGroup>
## Migliori Pratiche
1. **Esporta per prima cosa** — inizia sempre da un'esportazione per assicurarti del formato corretto
2. **Fai un backup prima di aggiornare** — esporta i tuoi dati prima di effettuare modifiche in blocco
3. **Esegui una prova con pochi record** — prova ad aggiornare prima 5-10 record, prima di eseguire un lotto di grandi dimensioni
4. **Usa identificatori leggibili** — `email` e `domain` sono più facili da verificare rispetto a `id`
5. **Includi solo le colonne necessarie** — meno colonne significa meno possibilità di errori
## Risoluzione dei problemi
Hai problemi? Controlla:
* [Come correggere gli errori di importazione](/l/it/user-guide/data-migration/how-tos/fix-import-errors)
* [Vincoli di unicità](/l/it/user-guide/data-migration/capabilities/uniqueness-constraints)
* [Riferimento alla mappatura dei campi](/l/it/user-guide/data-migration/capabilities/field-mapping)

View File

@@ -0,0 +1,83 @@
---
title: Migrazione dei dati
description: Importa ed esporta i dati del tuo CRM tramite file CSV o API.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Metodi di importazione
Twenty supporta due metodi principali per importare dati:
| Metodo | Ideale per | Limite di volume |
| -------------------- | ------------------------------------------- | ---------------------- |
| **Importazione CSV** | Migrazioni standard, aggiornamenti regolari | 10.000 record per file |
| **Importazione API** | Migrazioni su larga scala, automazione | Illimitato |
<Note>Per set di dati molto grandi (centinaia di migliaia di record), usa le API. I nostri [partner di implementazione](/l/it/user-guide/getting-started/capabilities/implementation-services) possono aiutarti a eseguire questi script se necessario.</Note>
## Nozioni di base sull'importazione CSV
Puoi importare dati per qualsiasi oggetto utilizzando file CSV, XLSX o XLS. Ogni file dovrebbe contenere **solo un tipo di oggetto** (ad esempio, solo record di Persone).
<Note>**I campi devono esistere prima dell'importazione.** Il caricamento di un file CSV crea record ma non crea campi. Se ti servono campi personalizzati, creali prima in **Impostazioni → Modello dati**.</Note>
### Passaggi
1. Vai all'oggetto in cui vuoi importare i dati
2. Fai clic sull'icona **⋮** in alto a destra (questo è il Menu comandi) e fai clic su **Importa record**
3. Scarica il file modello per assicurarti che i dati siano nel formato previsto
4. Carica il tuo file CSV formattato
5. Abbina le tue colonne ai campi di Twenty
6. Esamina gli errori (evidenziati in giallo) e correggili, modificando direttamente nell'interfaccia utente (UI)
7. Conferma l'importazione
### Importare le relazioni tra oggetti
Puoi importare le relazioni tra oggetti utilizzando la funzione di importazione CSV. Devi fare riferimento all'oggetto correlato utilizzando un campo univoco di tale oggetto: l'`id`, l'`email` per Persone e Membri dello spazio di lavoro, il `domain` per le aziende, qualsiasi altro campo impostato come univoco nel modello dati per qualsiasi altro oggetto.
<Note>**I record eliminati influiscono sull'unicità.** I record eliminati in modo non definitivo (visibili nel 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.</Note>
<Warning>
**L'ordine di importazione è importante!**
Quando importi oggetti correlati, carica i file in questo ordine:
1. **Aziende** per prime (il lato "uno" delle relazioni)
2. **Persone** al secondo posto (collegate alle Aziende tramite companyId)
3. **Opportunità** al terzo posto (collegate ad Aziende/Persone)
4. **Oggetti personalizzati** con relazioni per ultimi
Perché? Il lato "uno" di una relazione uno-a-molti deve esistere prima di potervi fare riferimento. Ad esempio, il record Azienda deve esistere prima di importare una Persona con l'ID di quella azienda.
</Warning>
Consulta [questo articolo](/l/it/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) per una guida passo passo su come procedere.
## Esporta Dati
Esporta i dati del tuo spazio di lavoro per backup, reportistica o migrazione.
### Passaggi
1. Vai all'oggetto che vuoi esportare
2. Configura la vista con le colonne di cui hai bisogno
3. Fai clic su **⋮** → **Esporta vista**
4. Salva il file CSV
<Note>**Vengono esportate solo le colonne visibili.** Il file CSV conterrà solo le colonne visualizzate nella vista corrente. Aggiungi o nascondi colonne prima dell'esportazione per controllare quali dati includere.</Note>
<Note>**Limiti di esportazione**: fino a 20.000 record per esportazione.</Note>
## Permessi
L'importazione e l'esportazione dei dati richiedono autorizzazioni specifiche:
* **Importazione**: Richiede l'autorizzazione "Import CSV"
* **Esportazione**: Richiede l'autorizzazione "Export CSV"
Contatta l'amministratore dello spazio di lavoro se non disponi di queste autorizzazioni.
## Prossimi Passi
* [Prepara i file CSV](/l/it/user-guide/data-migration/how-tos/prepare-your-csv-files)
* [Importa le relazioni tra oggetti](/l/it/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)
* [Importa tramite API per set di dati di grandi dimensioni](/l/it/user-guide/data-migration/how-tos/import-data-via-api)