Twenty offers integrations with Gmail and Google Calendar. To enable these features, you need to connect to register the following recurring jobs:
# from your worker container
yarn command:prod cron:messaging:messages-import
yarn command:prod cron:messaging:message-list-fetch
yarn command:prod cron:calendar:calendar-event-list-fetch
Variable | Example | Description |
---|---|---|
REACT_APP_SERVER_BASE_URL | http://localhost:3000 | Url of backend server |
GENERATE_SOURCEMAP | false | Generate source maps for debugging |
CHROMATIC_PROJECT_TOKEN | Chromatic token used for CI |
Variable | Example | Description |
---|---|---|
PG_DATABASE_URL | postgres://user:pw@localhost:5432/default?connection_limit=1 | Database connection |
PG_SSL_ALLOW_SELF_SIGNED | false | Allow self signed certificates |
REDIS_URL | redis://localhost:6379 | Redis connection url |
FRONT_BASE_URL | http://localhost:3001 | Url to the hosted frontend |
SERVER_URL | http://localhost:3000 | Url to the hosted server |
PORT | 3000 | Port |
CACHE_STORAGE_TYPE | redis | Cache type (memory, redis...) |
CACHE_STORAGE_TTL | 3600 * 24 * 7 | Cache TTL in seconds |
Variable | Example | Description |
---|---|---|
API_RATE_LIMITING_TTL | 100 | API rate limiting time window |
API_RATE_LIMITING_LIMIT | 200 | API rate limiting max requests |
Variable | Example | Description |
---|---|---|
APP_SECRET | <random> | Secret used for encryption across the app |
ACCESS_TOKEN_EXPIRES_IN | 30m | Access token expiration time |
LOGIN_TOKEN_EXPIRES_IN | 15m | Login token expiration time |
REFRESH_TOKEN_EXPIRES_IN | 90d | Refresh token expiration time |
REFRESH_TOKEN_COOL_DOWN | 1m | Refresh token cooldown |
FILE_TOKEN_EXPIRES_IN | 1d | File token expiration time |
Variable | Example | Description |
---|---|---|
MESSAGING_PROVIDER_GMAIL_ENABLED | false | Enable Gmail API connection |
CALENDAR_PROVIDER_GOOGLE_ENABLED | false | Enable Google Calendar API connection |
AUTH_GOOGLE_APIS_CALLBACK_URL | http://[YourDomain]/auth/google/redirect | Google APIs auth callback |
AUTH_PASSWORD_ENABLED | false | Enable Email/Password login |
AUTH_GOOGLE_ENABLED | false | Enable Google SSO login |
AUTH_GOOGLE_CLIENT_ID | Google client ID | |
AUTH_GOOGLE_CLIENT_SECRET | Google client secret | |
AUTH_GOOGLE_CALLBACK_URL | Google auth callback | |
AUTH_MICROSOFT_ENABLED | false | Enable Microsoft SSO login |
AUTH_MICROSOFT_CLIENT_ID | Microsoft client ID | |
AUTH_MICROSOFT_TENANT_ID | Microsoft tenant ID | |
AUTH_MICROSOFT_CLIENT_SECRET | Microsoft client secret | |
AUTH_MICROSOFT_CALLBACK_URL | http://[YourDomain]/auth/microsoft/redirect | Microsoft auth callback |
AUTH_GOOGLE_APIS_CALLBACK_URL | http://[YourDomain]/auth/microsoft-apis/get-access-token | Microsoft APIs auth callback |
FRONT_AUTH_CALLBACK_URL | http://localhost:3001/verify | Callback used for Login page |
IS_SIGN_UP_DISABLED | false | Disable sign-up |
PASSWORD_RESET_TOKEN_EXPIRES_IN | 5m | Password reset token expiration time |
Variable | Example | Description |
---|---|---|
EMAIL_FROM_ADDRESS | [email protected] | Global email From: header used to send emails |
EMAIL_FROM_NAME | John from YourDomain | Global name From: header used to send emails |
EMAIL_SYSTEM_ADDRESS | [email protected] | Email address used as a destination to send internal system notification |
EMAIL_DRIVER | logger | Email driver: 'logger' (to log emails in console) or 'smtp' |
EMAIL_SMTP_HOST | Email SMTP Host | |
EMAIL_SMTP_PORT | Email SMTP Port | |
EMAIL_SMTP_USER | Email SMTP User | |
EMAIL_SMTP_PASSWORD | Email SMTP Password |
You will need to provision an App Password.
Variable | Example | Description |
---|---|---|
STORAGE_TYPE | local | Storage driver: 'local' or 's3' |
STORAGE_S3_REGION | Storage Region | |
STORAGE_S3_NAME | Bucket Name | |
STORAGE_S3_ENDPOINT | Use if a different Endpoint is needed (for example Google) | |
STORAGE_S3_ACCESS_KEY_ID | Optional depending on the authentication method | |
STORAGE_S3_SECRET_ACCESS_KEY | Optional depending on the authentication method | |
STORAGE_LOCAL_PATH | .local-storage | Data path (local storage) |
Variable | Example | Description |
---|---|---|
SERVERLESS_TYPE | local | Serverless driver type: 'local' or 'lambda' |
SERVERLESS_LAMBDA_REGION | Lambda Region | |
SERVERLESS_LAMBDA_ROLE | Lambda Role | |
SERVERLESS_LAMBDA_ACCESS_KEY_ID | Optional depending on the authentication method | |
SERVERLESS_LAMBDA_SECRET_ACCESS_KEY | Optional depending on the authentication method |
Variable | Example | Description |
---|---|---|
MESSAGE_QUEUE_TYPE | bull-mq | Queue driver: 'pg-boss' or 'bull-mq' |
Variable | Example | Description |
---|---|---|
LOGGER_DRIVER | console | Currently, only supports 'console' |
LOGGER_IS_BUFFER_ENABLED | true | Buffer the logs before sending them to the logging driver |
LOG_LEVELS | error,warn | The loglevels which are logged to the logging driver. Can include: 'log', 'warn', 'error' |
EXCEPTION_HANDLER_DRIVER | sentry | The exception handler driver can be: 'console' or 'sentry' |
SENTRY_ENVIRONMENT | main | The sentry environment used if sentry logging driver is selected |
SENTRY_RELEASE | latest | The sentry release used if sentry logging driver is selected |
SENTRY_DSN | https://[email protected]/xxx | The sentry logging endpoint used if sentry logging driver is selected |
SENTRY_FRONT_DSN | https://[email protected]/xxx | The sentry logging endpoint used by the frontend if sentry logging driver is selected |
Variable | Example | Description |
---|---|---|
OPENAI_API_KEY | sk-proj-abcdabcd... | OpenAI API key |
LLM_CHAT_MODEL_DRIVER | openai | LLM provider |
LLM_TRACING_DRIVER | langfuse | Where to output LangChain logs. 'langfuse' or 'console'. |
LANGFUSE_SECRET_KEY | sk-lf-abcdabcd-abcd... | Langfuse secret key |
LANGFUSE_PUBLIC_KEY | pk-lf-abcdabcd-abcd... | Langfuse public key |
This feature is WIP and is not yet useful for most users.
Variable | Example | Description |
---|---|---|
SERVERLESS_TYPE | local | Functions can either be executed through Lambda or directly by the main node process |
SERVERLESS_LAMBDA_REGION | us-east-1 | If you use the Lambda driver, region of the Lambda function |
SERVERLESS_LAMBDA_ROLE | arn:aws:iam::121334:role/lambda-execution-role | If you use the Lambda drive, name of the IAM role with the right permissions |
Variable | Example | Description |
---|---|---|
SUPPORT_DRIVER | front | Support driver ('front' or 'none') |
SUPPORT_FRONT_HMAC_KEY | <secret> | Support chat key |
SUPPORT_FRONT_CHAT_ID | <id> | Support chat id |
Variable | Example | Description |
---|---|---|
TELEMETRY_ENABLED | true | Change this if you want to disable telemetry |
TELEMETRY_ANONYMIZATION_ENABLED | true | Telemetry is anonymized by default, you probably don't want to change this |
Variable | Example | Description |
---|---|---|
DEBUG_MODE | true | Activate debug mode |
SIGN_IN_PREFILLED | true | Prefill the Sign in form for usage in a demo or dev environment |
Variable | Example | Description |
---|---|---|
WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION | Number of inactive days before sending workspace deleting warning email | |
WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION | Number of inactive days before deleting workspace |
Variable | Example | Description |
---|---|---|
CAPTCHA_DRIVER | The captcha driver can be 'google-recaptcha' or 'turnstile' | |
CAPTCHA_SITE_KEY | The captcha site key | |
CAPTCHA_SECRET_KEY | The captcha secret key |
As an open-source company, we welcome contributions through Github. Help us keep it up-to-date, accurate, and easy to understand by getting involved and sharing your ideas!