Gestione della Configurazione
Twenty offre due modalità di configurazione per soddisfare diverse esigenze di distribuzione:
Accesso al pannello di amministrazione: Solo gli utenti con privilegi di amministrazione (canAccessFullAdminPanel: true) possono accedere all’interfaccia di configurazione.
1. Configurazione del Pannello di Amministrazione (Predefinito)
IS_CONFIG_VARIABLES_IN_DB_ENABLED=true # predefinito
La maggior parte della configurazione avviene tramite l’interfaccia utente dopo l’installazione:
- Accedi alla tua istanza Twenty (solitamente
http://localhost:3000)
- Go to Settings / Admin Panel / Configuration Variables
- Configura integrazioni, email, storage e altro
- Le modifiche hanno effetto immediato (entro 15 secondi per distribuzioni multi-container)
Distribuzioni Multi-Container: Quando si utilizza la configurazione del database (IS_CONFIG_VARIABLES_IN_DB_ENABLED=true), sia i container server che worker leggono dallo stesso database. Le modifiche al pannello di amministrazione influiscono su entrambi automaticamente, eliminando la necessità di duplicare le variabili di ambiente tra i container (eccetto per le variabili infrastrutturali).
Cosa puoi configurare tramite il pannello di amministrazione:
- Autenticazione - Google/Microsoft OAuth, impostazioni della password
- Email - Impostazioni SMTP, modelli, verifica
- Storage - Configurazione S3, percorsi storage locale
- Integrazioni - Gmail, Google Calendar, servizi Microsoft
- Workflow & Rate Limiting - Execution limits, API throttling
- E molto altro ancora…
Ogni variabile è documentata con descrizioni nel tuo pannello di amministrazione in Impostazioni → Pannello di Amministrazione → Variabili di Configurazione.
Alcune impostazioni infrastrutturali come connessioni al database (PG_DATABASE_URL), URL del server (SERVER_URL) e segreti dell’app (APP_SECRET) possono essere configurati solo tramite file .env.Riferimento tecnico completo →
2. Configurazione Solo-Ambiente
IS_CONFIG_VARIABLES_IN_DB_ENABLED=false
Tutta la configurazione gestita tramite file .env:
- Imposta
IS_CONFIG_VARIABLES_IN_DB_ENABLED=false nel tuo file .env
- Aggiungi tutte le variabili di configurazione nel tuo file
.env
- Riavvia i container per applicare le modifiche
- Il pannello di amministrazione mostrerà i valori attuali ma non potrà modificarli
Multi-Workspace Mode
By default, Twenty runs in single-workspace mode — ideal for most self-hosted deployments where you need one CRM instance for your organization.
Single-Workspace Mode (Default)
IS_MULTIWORKSPACE_ENABLED=false # default
- One workspace per Twenty instance
- First user automatically becomes admin with full privileges (
canImpersonate and canAccessFullAdminPanel)
- New signups are disabled after the first workspace is created
- Simple URL structure:
https://your-domain.com
Enabling Multi-Workspace Mode
IS_MULTIWORKSPACE_ENABLED=true
DEFAULT_SUBDOMAIN=app # default value
Enable multi-workspace mode for SaaS-like deployments where multiple independent teams need their own workspaces on the same Twenty instance.
Key differences from single-workspace mode:
- Multiple workspaces can be created on the same instance
- Each workspace gets its own subdomain (e.g.,
sales.your-domain.com, marketing.your-domain.com)
- Users sign up and log in at
{DEFAULT_SUBDOMAIN}.your-domain.com (e.g., app.your-domain.com)
- No automatic admin privileges — first user in each workspace is a regular user
- Workspace-specific settings like subdomain and custom domain become available in workspace settings
Environment-only setting: IS_MULTIWORKSPACE_ENABLED can only be configured via .env file and requires a restart. It cannot be changed through the admin panel.
DNS Configuration for Multi-Workspace
When using multi-workspace mode, configure your DNS with a wildcard record to allow dynamic subdomain creation:
*.your-domain.com -> your-server-ip
This enables automatic subdomain routing for new workspaces without manual DNS configuration.
Restricting Workspace Creation
In multi-workspace mode, you may want to limit who can create new workspaces:
IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS=true
When enabled, only users with canAccessFullAdminPanel can create additional workspaces. Users can still create their first workspace during initial signup.
Integrazione Gmail & Google Calendar
Crea Progetto nel Google Cloud
- Vai a Google Cloud Console
- Crea un nuovo progetto o seleziona uno esistente
- Abilita queste API:
Configura OAuth
- Vai a Credenziali
- Crea ID client OAuth 2.0
- Aggiungi questi URI di reindirizzamento:
https://{your-domain}/auth/google/redirect (for SSO)
https://{your-domain}/auth/google-apis/get-access-token (for integrations)
Configura in Twenty
- Vai a Impostazioni → Pannello di Amministrazione → Variabili di Configurazione
- Trova la sezione Google Auth
- Imposta queste variabili:
MESSAGING_PROVIDER_GMAIL_ENABLED=true
CALENDAR_PROVIDER_GOOGLE_ENABLED=true
AUTH_GOOGLE_CLIENT_ID={client-id}
AUTH_GOOGLE_CLIENT_SECRET={client-secret}
AUTH_GOOGLE_CALLBACK_URL=https://{your-domain}/auth/google/redirect
AUTH_GOOGLE_APIS_CALLBACK_URL=https://{your-domain}/auth/google-apis/get-access-token
Modalità solo ambiente: Se imposti IS_CONFIG_VARIABLES_IN_DB_ENABLED=false, aggiungi queste variabili al tuo file .env invece.
Scope richiesti (configurati automaticamente): Vedi il codice sorgente pertinente
https://www.googleapis.com/auth/calendar.events
https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/profile.emails.read
Se la tua app è in modalità di test
Se la tua app è in modalità di test, dovrai aggiungere utenti di prova al tuo progetto.
Sotto Schermo di Consenso OAuth, aggiungi i tuoi utenti di prova nella sezione “Utenti di Prova”.
Integrazione Microsoft 365
Gli utenti devono avere una Licenza Microsoft 365 per poter utilizzare l’API Calendario e Messaggi. Non potranno sincronizzare il loro account su Twenty senza una.
Crea un progetto in Microsoft Azure
Avrai bisogno di creare un progetto in Microsoft Azure e ottenere le credenziali.
Abilita API
Nel Microsoft Azure Console abilita le seguenti API in “Permessi”:
- Microsoft Graph: Mail.ReadWrite
- Microsoft Graph: Mail.Send
- Microsoft Graph: Calendars.Read
- Microsoft Graph: User.Read
- Microsoft Graph: openid
- Microsoft Graph: email
- Microsoft Graph: profile
- Microsoft Graph: offline_access
Nota: “Mail.ReadWrite” e “Mail.Send” sono obbligatori solo se vuoi inviare email utilizzando le nostre azioni di flusso di lavoro. Puoi usare “Mail.Read” invece se vuoi solo ricevere email.
URI di Riindirizzamento Autorizzati
Devi aggiungere i seguenti URI di reindirizzamento al tuo progetto:
https://{your-domain}/auth/microsoft/redirect if you want to use Microsoft SSO
https://{your-domain}/auth/microsoft-apis/get-access-token
Configura in Twenty
- Vai a Impostazioni → Pannello di Amministrazione → Variabili di Configurazione
- Trova la sezione Microsoft Auth
- Imposta queste variabili:
MESSAGING_PROVIDER_MICROSOFT_ENABLED=true
CALENDAR_PROVIDER_MICROSOFT_ENABLED=true
AUTH_MICROSOFT_ENABLED=true
AUTH_MICROSOFT_CLIENT_ID={client-id}
AUTH_MICROSOFT_CLIENT_SECRET={client-secret}
AUTH_MICROSOFT_CALLBACK_URL=https://{your-domain}/auth/microsoft/redirect
AUTH_MICROSOFT_APIS_CALLBACK_URL=https://{your-domain}/auth/microsoft-apis/get-access-token
Modalità solo ambiente: Se imposti IS_CONFIG_VARIABLES_IN_DB_ENABLED=false, aggiungi queste variabili al tuo file .env invece.
Configura scope
Vedi il codice sorgente pertinente
- ‘openid’
- ‘email’
- ‘profilo’
- ‘offline_access’
- ‘Mail.ReadWrite’
- ‘Mail.Send’
- ‘Calendars.Read’
Se la tua app è in modalità di test
Se la tua app è in modalità di test, dovrai aggiungere utenti di prova al tuo progetto.
Aggiungi i tuoi utenti di prova nella sezione “Utenti e gruppi”.
Lavori in Background per Calendario & Messaggistica
Dopo aver configurato le integrazioni di Gmail, Google Calendar o Microsoft 365, devi avviare i lavori in background che sincronizzano i dati.
Registrare i seguenti lavori ricorrenti nel tuo container worker:
# dal tuo container worker
yarn command:prod cron:messaging:messages-import
yarn command:prod cron:messaging:message-list-fetch
yarn command:prod cron:calendar:calendar-event-list-fetch
yarn command:prod cron:calendar:calendar-events-import
yarn command:prod cron:messaging:ongoing-stale
yarn command:prod cron:calendar:ongoing-stale
yarn command:prod cron:workflow:automated-cron-trigger
Configurazione Email
- Vai a Impostazioni → Pannello di Amministrazione → Variabili di Configurazione
- Trova la sezione Email
- Configura le impostazioni SMTP:
Modalità solo ambiente: Se imposti IS_CONFIG_VARIABLES_IN_DB_ENABLED=false, aggiungi queste variabili al tuo file .env invece.