Documentation Index
Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
Use this file to discover all available pages before exploring further.
Gestionarea configurației
Twenty oferă două moduri de configurare pentru a se potrivi nevoilor diferite de implementare: Acces la panoul de administrare: Doar utilizatorii cu privilegii de administrator (canAccessFullAdminPanel: true) pot accesa interfața de configurare.
1. Configurare Panou Admin (Implicită)
- Accesați instanța dumneavoastră Twenty (de obicei
http://localhost:3000) - Mergeți la Setări / Panou Admin / Variabile de Configurare
- Configurați integrările, e-mailul, stocarea și multe altele
- Schimbările intră în vigoare imediat (în termen de 15 secunde pentru implementări cu mai multe containere)
- Autentificare - OAuth Google/Microsoft, setări parole
- E-mail - setări SMTP, șabloane, verificare
- Stocare - configurație S3, căi stocare locală
- Integrări - Gmail, Google Calendar, servicii Microsoft
- Flux de lucru și limitarea ratei - limite de execuție, limitarea ratei pentru API
- Și multe altele…

Chei de criptare
Twenty folosește două chei de criptare disponibile doar prin variabile de mediu:| Variabilă | Scop | Obligatoriu |
|---|---|---|
ENCRYPTION_KEY | Cheia principală folosită pentru a cripta secretele în repaus (token-uri OAuth, variabile de aplicație, chei private de semnare, secrete TOTP, valori de configurare sensibile). | Da, pentru instalările noi (instalările vechi se pot baza în schimb pe APP_SECRET — vezi mai jos) |
FALLBACK_ENCRYPTION_KEY | Cheie folosită doar pentru verificare. Setată în timpul unei rotații la precedenta ENCRYPTION_KEY astfel încât rândurile existente să rămână decriptabile. | Doar în timpul rotației |
ENCRYPTION_KEY nu este setată, Twenty revine la APP_SECRET pentru criptarea în repaus — respectând comportamentul moștenit pentru implementările mai vechi. Instalările noi ar trebui să seteze întotdeauna o ENCRYPTION_KEY dedicată.
Generează valori cu openssl rand -base64 32 și stochează-le într-un loc sigur (un manager de secrete, configurație sigilată etc.). Pierderea ENCRYPTION_KEY înseamnă pierderea accesului la fiecare secret stocat în baza de date.
Pentru a roti ENCRYPTION_KEY fără timp de nefuncționare, vezi Ghidul de rotație a cheilor.
2. Configurare Doar Mediu
.env:
- Setați
IS_CONFIG_VARIABLES_IN_DB_ENABLED=falseîn fișierul dvs..env - Adăugați toate variabilele de configurare în fișierul dvs.
.env - Reporniți containerele pentru ca schimbările să aibă efect
- Panoul de administrare va afișa valorile curente, dar nu le poate modifica
Mod cu mai multe spații de lucru
În mod implicit, Twenty rulează în modul cu un singur spațiu de lucru — ideal pentru majoritatea implementărilor auto-găzduite în care aveți nevoie de o singură instanță CRM pentru organizația dvs.Modul cu un singur spațiu de lucru (implicit)
- Un spațiu de lucru pentru fiecare instanță Twenty
- Primul utilizator devine automat administrator cu privilegii complete (
canImpersonateșicanAccessFullAdminPanel) - Înregistrările noi sunt dezactivate după crearea primului spațiu de lucru
- Structură URL simplă:
https://your-domain.com
Activarea modului cu mai multe spații de lucru
- Pe aceeași instanță pot fi create mai multe spații de lucru
- Fiecare spațiu de lucru primește propriul subdomeniu (de ex.,
sales.your-domain.com,marketing.your-domain.com) - Utilizatorii se înregistrează și se autentifică la
{DEFAULT_SUBDOMAIN}.your-domain.com(de ex.,app.your-domain.com) - Fără privilegii administrative automate — primul utilizator din fiecare spațiu de lucru este un utilizator obișnuit
- Setări specifice spațiului de lucru, precum subdomeniu și domeniu personalizat, devin disponibile în setările spațiului de lucru
Configurarea DNS pentru modul cu mai multe spații de lucru
Când folosiți modul cu mai multe spații de lucru, configurați DNS-ul cu o înregistrare wildcard pentru a permite crearea dinamică de subdomenii:Restricționarea creării de spații de lucru
În modul cu mai multe spații de lucru, este posibil să doriți să limitați cine poate crea spații de lucru noi:canAccessFullAdminPanel pot crea spații de lucru suplimentare. Utilizatorii își pot crea în continuare primul spațiu de lucru în timpul înregistrării inițiale.
Integrare Gmail & Google Calendar
Creați Proiect Google Cloud
- Mergeți la Google Cloud Console
- Creați un proiect nou sau selectați unul existent
- Activați aceste API-uri:
Configurați OAuth
- Mergeți la Credentials
- Creați Client ID OAuth 2.0
- Adăugați aceste URI-uri de redirecționare:
https://{your-domain}/auth/google/redirect(pentru SSO)https://{your-domain}/auth/google-apis/get-access-token(pentru integrări)
Configurați în Twenty
- Mergeți la Setări → Panou Admin → Variabile de Configurare
- Găsiți secțiunea Autentificare Google
- Setați aceste variabile:
MESSAGING_PROVIDER_GMAIL_ENABLED=trueCALENDAR_PROVIDER_GOOGLE_ENABLED=trueAUTH_GOOGLE_CLIENT_ID={client-id}AUTH_GOOGLE_CLIENT_SECRET={client-secret}AUTH_GOOGLE_CALLBACK_URL=https://{your-domain}/auth/google/redirectAUTH_GOOGLE_APIS_CALLBACK_URL=https://{your-domain}/auth/google-apis/get-access-token
https://www.googleapis.com/auth/calendar.eventshttps://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/profile.emails.read
Dacă aplicația dvs. este în modul de test
Dacă aplicația dvs. este în modul de test, va trebui să adăugați utilizatori de test în proiectul dvs. În ecranul de consimțământ OAuth, adăugați utilizatorii dvs. de test în secțiunea “Utilizatori de test”.Integrare Microsoft 365
Creați un proiect în Microsoft Azure
Va trebui să creați un proiect în Microsoft Azure și să obțineți acreditările.Activați API-urile
În Microsoft Azure Console activați următoarele API-uri în “Permisiuni”:- Graph Microsoft: Mail.ReadWrite
- Graph Microsoft: Mail.Send
- Graph Microsoft: Calendars.Read
- Graph Microsoft: User.Read
- Graph Microsoft: openid
- Graph Microsoft: email
- Graph Microsoft: profile
- Graph Microsoft: offline_access
URIs de redirecționare autorizate
Trebuie să adăugați următoarele URI-uri de redirecționare în proiectul dvs.:https://{your-domain}/auth/microsoft/redirectdacă doriți să utilizați SSO Microsofthttps://{your-domain}/auth/microsoft-apis/get-access-token
Configurați în Twenty
- Mergeți la Setări → Panou Admin → Variabile de Configurare
- Găsiți secțiunea Autentificare Microsoft
- Setați aceste variabile:
MESSAGING_PROVIDER_MICROSOFT_ENABLED=trueCALENDAR_PROVIDER_MICROSOFT_ENABLED=trueAUTH_MICROSOFT_ENABLED=trueAUTH_MICROSOFT_CLIENT_ID={client-id}AUTH_MICROSOFT_CLIENT_SECRET={client-secret}AUTH_MICROSOFT_CALLBACK_URL=https://{your-domain}/auth/microsoft/redirectAUTH_MICROSOFT_APIS_CALLBACK_URL=https://{your-domain}/auth/microsoft-apis/get-access-token
Configurați scopurile
Consultați codul sursă relevant- ‘openid’
- ‘email’
- ‘profil’
- ‘offline_access’
- ‘Mail.ReadWrite’
- ‘Mail.Send’
- ‘Calendars.Read’
Dacă aplicația dvs. este în modul de test
Dacă aplicația dvs. este în modul de test, va trebui să adăugați utilizatori de test în proiectul dvs. Adăugați utilizatorii de test în secțiunea “Utilizatori și grupuri”.Procese în fundal pentru Calendar și Mesagerie
După configurarea integrărilor Gmail, Google Calendar, sau Microsoft 365, trebuie să porniți joburile de fundal care sincronizează datele. Înregistrați următoarele joburi recurente în containerul dvs. worker:Configurare Email
- Mergeți la Setări → Panou Admin → Variabile de Configurare
- Găsiți secțiunea Email
- Configurați setările dvs. SMTP:
Stocare S3
SetațiSTORAGE_TYPE=S_3 și configurați variabilele STORAGE_S3_* prin panoul de administrare sau .env. Consultați referința config-variables.ts pentru lista completă a variabilelor S3.
Când utilizați S3 cu funcționalități dependente de CORS (de ex., descărcări de fișiere în browser), asigurați-vă că bucketul permite originea frontend-ului Twenty în configurația sa CORS.
Funcții logice și interpretor de cod
Twenty acceptă funcții logice pentru fluxuri de lucru și interpretorul de cod pentru analiza datelor cu AI. Ambele rulează cod furnizat de utilizator și necesită o configurare explicită din motive de securitate.Valori implicite de securitate
În producție (NODE_ENV=production): Atât funcțiile logice, cât și interpretorul de cod au implicit valoarea Dezactivat. Trebuie să le activezi explicit cuLOGIC_FUNCTION_TYPE și CODE_INTERPRETER_TYPE dacă ai nevoie de aceste funcționalități.
În dezvoltare (NODE_ENV=development): Ambele au implicit valoarea LOCAL pentru comoditate când rulezi local.
Funcții logice - Drivere disponibile
| Driver | Variabilă de mediu | Caz de utilizare | Nivel de securitate |
|---|---|---|---|
| Dezactivat | LOGIC_FUNCTION_TYPE=DISABLED | Dezactivează complet funcțiile logice | N/A |
| Local | LOGIC_FUNCTION_TYPE=LOCAL | Dezvoltare și medii de încredere | Scăzut (fără sandboxing) |
| Lambda | LOGIC_FUNCTION_TYPE=LAMBDA | Producție cu cod neverificat | Ridicat (izolare la nivel de hardware) |
Funcții logice - Configurare recomandată
Pentru dezvoltare:Interpretor de cod - Drivere disponibile
| Driver | Variabilă de mediu | Caz de utilizare | Nivel de securitate |
|---|---|---|---|
| Dezactivat | CODE_INTERPRETER_TYPE=DISABLED | Dezactivați execuția codului de către AI | N/A |
| Local | CODE_INTERPRETER_TYPE=LOCAL | Doar pentru dezvoltare | Scăzut (fără sandboxing) |
| E2B | CODE_INTERPRETER_TYPE=E_2_B | Producție cu execuție în sandbox | Ridicat (sandbox izolat) |
Când utilizați
LOGIC_FUNCTION_TYPE=DISABLED sau CODE_INTERPRETER_TYPE=DISABLED, orice încercare de execuție va returna o eroare. Acest lucru este util dacă doriți să rulați Twenty fără aceste capabilități.