# This file contains all the installation wide configuration which controls various settings in Chatwoot # This is internal config and should not be modified by the user directly in database # Chatwoot might override and modify these values during the upgrade process # Configs which can be modified by the user are available in the dashboard under appropriate UI # # name: the name of the config referenced in the code # value: the value of the config # display_title: the title of the config displayed in the dashboard UI # description: the description of the config displayed in the dashboard UI # locked: if you don't specify locked attribute in yaml, the default value will be true, # which means the particular config will be locked and won't be available in `super_admin/installation_configs` # premium: These values get overwritten unless the user is on a premium plan # type: The type of the config. Default is text, select and boolean are also supported # options: For select types, its required to have options for the select in the following pattern: "option_value":"Human readable option" # ------- Branding Related Config ------- # - name: INSTALLATION_NAME value: 'Chatwoot' display_title: 'Installation Name' description: 'The installation wide name that would be used in the dashboard, title etc.' - name: LOGO_THUMBNAIL value: '/brand-assets/logo_thumbnail.svg' display_title: 'Logo Thumbnail' description: 'The thumbnail that would be used for favicon (512px X 512px)' - name: LOGO value: '/brand-assets/logo.svg' display_title: 'Logo' description: 'The logo that would be used on the dashboard, login page etc.' - name: LOGO_DARK value: '/brand-assets/logo_dark.svg' display_title: 'Logo Dark Mode' description: 'The logo that would be used on the dashboard, login page etc. for dark mode' - name: BRAND_URL value: 'https://www.chatwoot.com' display_title: 'Brand URL' description: 'The URL that would be used in emails under the section “Powered By”' - name: WIDGET_BRAND_URL value: 'https://www.chatwoot.com' display_title: 'Widget Brand URL' description: 'The URL that would be used in the widget under the section “Powered By”' - name: BRAND_NAME value: 'Chatwoot' display_title: 'Brand Name' description: 'The name that would be used in emails and the widget' - name: TERMS_URL value: 'https://www.chatwoot.com/terms-of-service' display_title: 'Terms URL' description: 'The terms of service URL displayed in Signup Page' - name: PRIVACY_URL value: 'https://www.chatwoot.com/privacy-policy' display_title: 'Privacy URL' description: 'The privacy policy URL displayed in the app' - name: DISPLAY_MANIFEST value: true display_title: 'Chatwoot Metadata' description: 'Display default Chatwoot metadata like favicons and upgrade warnings' type: boolean # ------- End of Branding Related Config ------- # # ------- Signup & Account Related Config ------- # - name: ENABLE_ACCOUNT_SIGNUP display_title: 'Enable Account Signup' value: false description: 'Allow users to signup for new accounts' locked: false type: boolean - name: CREATE_NEW_ACCOUNT_FROM_DASHBOARD value: false description: 'Allow users to create new accounts from the dashboard' locked: false - name: HCAPTCHA_SITE_KEY value: locked: false - name: HCAPTCHA_SERVER_KEY value: locked: false - name: INSTALLATION_EVENTS_WEBHOOK_URL value: display_title: 'System events Webhook URL' description: 'The URL to which the system events like new accounts created will be sent' locked: false - name: WEBHOOK_TIMEOUT value: 5 display_title: 'Webhook request timeout (seconds)' description: 'Maximum time Chatwoot waits for a webhook response before failing the request' locked: false - name: DIRECT_UPLOADS_ENABLED type: boolean value: false description: 'Enable direct uploads to cloud storage' locked: false - name: MAXIMUM_FILE_UPLOAD_SIZE value: 40 display_title: 'Attachment size limit (MB)' description: 'Maximum attachment size in MB allowed for uploads' locked: false # ------- End of Account Related Config ------- # # ------- Email Related Config ------- # - name: MAILER_INBOUND_EMAIL_DOMAIN display_title: 'Inbound Email Domain' value: description: 'The domain name to be used for generating conversation continuity emails (reply+id@domain.com)' locked: false - name: MAILER_SUPPORT_EMAIL display_title: 'Support Email' value: description: 'The support email address for your installation' locked: false - name: ACCOUNT_EMAILS_LIMIT display_title: 'Account Email Sending Limit (Daily)' description: 'Maximum number of non-channel emails an account can send per day' value: 100 locked: false - name: ACCOUNT_EMAILS_PLAN_LIMITS display_title: 'Account Email Plan Limits (Daily)' description: 'Per-plan daily email sending limits as JSON' value: type: code # ------- End of Email Related Config ------- # # ------- Facebook Channel Related Config ------- # - name: FB_APP_ID display_title: 'Facebook App ID' locked: false - name: FB_VERIFY_TOKEN display_title: 'Facebook Verify Token' description: 'The verify token used for Facebook Messenger Webhook' locked: false type: secret - name: FB_APP_SECRET display_title: 'Facebook App Secret' locked: false type: secret - name: IG_VERIFY_TOKEN display_title: 'Instagram Verify Token' description: 'The verify token used for Instagram Webhook' locked: false type: secret - name: FACEBOOK_API_VERSION display_title: 'Facebook API Version' description: 'Configure this if you want to use a different Facebook API version. Make sure its prefixed with `v`' value: 'v18.0' locked: false - name: ENABLE_MESSENGER_CHANNEL_HUMAN_AGENT display_title: 'Enable human agent' value: false locked: false description: 'Enable human agent for messenger channel for longer message back period. Needs additional app approval: https://developers.facebook.com/docs/features-reference/human-agent/' type: boolean # ------- End of Facebook Channel Related Config ------- # # ------- WhatsApp Channel Related Config ------- # - name: WHATSAPP_APP_ID display_title: 'WhatsApp App ID' description: 'The Facebook App ID for WhatsApp Business API integration' locked: false - name: WHATSAPP_CONFIGURATION_ID display_title: 'WhatsApp Configuration ID' description: 'The Configuration ID for WhatsApp Embedded Signup flow (required for embedded signup)' locked: false - name: WHATSAPP_APP_SECRET display_title: 'WhatsApp App Secret' description: 'The App Secret for WhatsApp Embedded Signup flow (required for embedded signup)' locked: false - name: WHATSAPP_API_VERSION display_title: 'WhatsApp API Version' description: 'Configure this if you want to use a different WhatsApp API version. Make sure its prefixed with `v`' value: 'v22.0' locked: false # ------- End of WhatsApp Channel Related Config ------- # # MARK: Microsoft Email Channel Config - name: AZURE_APP_ID display_title: 'Azure App ID' description: 'The App ID that will be used to authenticate with customer Microsoft accounts. Find more details on setting up Azure here: https://chwt.app/dev/ms' locked: false - name: AZURE_APP_SECRET display_title: 'Azure App Secret' locked: false type: secret # End of Microsoft Email Channel Config # MARK: Captain Config - name: CAPTAIN_OPEN_AI_API_KEY display_title: 'OpenAI API Key' description: 'The API key used to authenticate requests to OpenAI services for Captain AI.' locked: false type: secret - name: CAPTAIN_OPEN_AI_MODEL display_title: 'OpenAI Model' description: 'The OpenAI model configured for use in Captain AI. Default: gpt-4.1-mini' locked: false - name: CAPTAIN_OPEN_AI_ENDPOINT display_title: 'OpenAI API Endpoint (optional)' description: 'The OpenAI endpoint configured for use in Captain AI. Default: https://api.openai.com/' locked: false - name: CAPTAIN_EMBEDDING_MODEL display_title: 'Embedding Model (optional)' description: 'The embedding model configured for use in Captain AI. Default: text-embedding-3-small' locked: false - name: CAPTAIN_FIRECRAWL_API_KEY display_title: 'FireCrawl API Key (optional)' description: 'The FireCrawl API key for the Captain AI service' locked: false type: secret - name: CAPTAIN_CLOUD_PLAN_LIMITS display_title: 'Captain Cloud Plan Limits' description: 'The limits for the Captain AI service for different plans' value: type: code # End of Captain Config # ------- Chatwoot Internal Config for Cloud ----# - name: CHATWOOT_INBOX_TOKEN value: display_title: 'Inbox Token' description: 'The Chatwoot Inbox Token for Contact Support in Cloud' locked: false type: secret - name: CHATWOOT_INBOX_HMAC_KEY value: display_title: 'Inbox HMAC Key' description: 'The Chatwoot Inbox HMAC Key for Contact Support in Cloud' locked: false type: secret - name: CHATWOOT_CLOUD_PLANS display_title: 'Cloud Plans' value: description: 'Config to store stripe plans for cloud' - name: CHATWOOT_CLOUD_PLAN_FEATURES display_title: 'Planwise Features List' value: description: 'Config to features and their associated plans' - name: DEPLOYMENT_ENV value: self-hosted description: 'The deployment environment of the installation, to differentiate between Chatwoot cloud and self-hosted' - name: CLOUD_ANALYTICS_TOKEN value: display_title: 'Analytics Token' description: 'The Amplitude analytics API key for Chatwoot cloud' type: secret - name: CLEARBIT_API_KEY value: display_title: 'Clearbit API Key' description: 'This API key is used for onboarding the users, to pre-fill account data.' type: secret - name: DASHBOARD_SCRIPTS value: display_title: 'Dashboard Scripts' description: 'Scripts are loaded as the last item in the tag' type: code - name: BLOCKED_EMAIL_DOMAINS value: display_title: 'Blocked Email Domains' description: 'Add a domain per line to block them from signing up, accepts Regex' type: code - name: SKIP_INCOMING_BCC_PROCESSING value: display_title: 'Skip BCC Processing For' description: 'Comma-separated list of account IDs that should be skipped from incoming BCC processing' - name: INACTIVE_WHATSAPP_NUMBERS value: '' display_title: 'Inactive WhatsApp Numbers' description: 'Comma-separated list of WhatsApp numbers that should be rejected with a 422 error' type: code # ------- End of Chatwoot Internal Config for Cloud ----# # ------- Chatwoot Internal Config for Self Hosted ----# - name: INSTALLATION_PRICING_PLAN value: 'community' description: 'The pricing plan for the installation, retrieved from the billing API' - name: INSTALLATION_PRICING_PLAN_QUANTITY value: 0 description: 'The number of licenses purchased for the installation, retrieved from the billing API' - name: CHATWOOT_SUPPORT_WEBSITE_TOKEN value: description: 'The Chatwoot website token, used to identify the Chatwoot inbox and display the "Contact Support" option on the billing page' type: secret - name: CHATWOOT_SUPPORT_SCRIPT_URL value: description: 'The Chatwoot script base URL, to display the "Contact Support" option on the billing page' - name: CHATWOOT_SUPPORT_IDENTIFIER_HASH value: description: 'The Chatwoot identifier hash, to validate the contact in the live chat window.' type: secret - name: ACCOUNT_SECURITY_NOTIFICATION_WEBHOOK_URL display_title: Webhook URL to post security analysis value: description: Used to notify Chatwoot about account abuses, potential threads (Should be a Discord Webhook URL) # ------- End of Chatwoot Internal Config for Self Hosted ----# # ------- Compliance Related Config ----# - name: CHATWOOT_INSTANCE_ADMIN_EMAIL display_title: 'Instance Admin Email' value: description: 'The email of the instance administrator to receive compliance-related notifications' locked: false # ------- End of Compliance Related Config ----# ## ------ Configs added for enterprise clients ------ ## - name: API_CHANNEL_NAME value: description: 'Custom name for the API channel' - name: API_CHANNEL_THUMBNAIL value: description: 'Custom thumbnail for the API channel' - name: LOGOUT_REDIRECT_LINK value: /app/login locked: false description: 'Redirect to a different link after logout' - name: DISABLE_USER_PROFILE_UPDATE value: false locked: false description: 'Disable rendering profile update page for users' ## ------ End of Configs added for enterprise clients ------ ## ## ------ Configs added for FCM v1 notifications ------ ## - name: FIREBASE_PROJECT_ID display_title: 'Firebase Project ID' value: locked: false description: 'Firebase project ID' - name: FIREBASE_CREDENTIALS display_title: 'Firebase Credentials' value: locked: false type: secret description: 'Contents on your firebase credentials json file' ## ------ End of Configs added for FCM v1 notifications ------ ## ## ------ Configs added for Linear ------ ## - name: LINEAR_CLIENT_ID display_title: 'Linear Client ID' value: locked: false description: 'Linear client ID' - name: LINEAR_CLIENT_SECRET display_title: 'Linear Client Secret' value: locked: false description: 'Linear client secret' type: secret ## ------ End of Configs added for Linear ------ ## ## ------ Configs added for Notion ------ ## - name: NOTION_CLIENT_ID display_title: 'Notion Client ID' value: locked: false description: 'Notion client ID' - name: NOTION_CLIENT_SECRET display_title: 'Notion Client Secret' value: locked: false description: 'Notion client secret' type: secret - name: NOTION_VERSION display_title: 'Notion Version' value: '2022-06-28' locked: false description: 'Notion version' ## ------ End of Configs added for Notion ------ ## ## ------ Configs added for Slack ------ ## - name: SLACK_CLIENT_ID display_title: 'Slack Client ID' value: locked: false description: 'Slack client ID' - name: SLACK_CLIENT_SECRET display_title: 'Slack Client Secret' value: locked: false description: 'Slack client secret' type: secret ## ------ End of Configs added for Slack ------ ## # ------- Shopify Integration Config ------- # - name: SHOPIFY_CLIENT_ID display_title: 'Shopify Client ID' description: 'The Client ID (API Key) from your Shopify Partner account' locked: false type: secret - name: SHOPIFY_CLIENT_SECRET display_title: 'Shopify Client Secret' description: 'The Client Secret (API Secret Key) from your Shopify Partner account' locked: false type: secret # ------- End of Shopify Related Config ------- # # ------- Instagram Channel Related Config ------- # - name: INSTAGRAM_APP_ID display_title: 'Instagram App ID' locked: false - name: INSTAGRAM_APP_SECRET display_title: 'Instagram App Secret' description: 'The App Secret used for Instagram authentication' locked: false type: secret - name: INSTAGRAM_VERIFY_TOKEN display_title: 'Instagram Verify Token' description: 'The verify token used for Instagram Webhook' locked: false type: secret - name: ENABLE_INSTAGRAM_CHANNEL_HUMAN_AGENT display_title: 'Enable human agent for instagram channel' value: false locked: false description: 'Enable human agent for instagram channel for longer message back period. Needs additional app approval: https://developers.facebook.com/docs/features-reference/human-agent/' type: boolean - name: INSTAGRAM_API_VERSION display_title: 'Instagram API Version' description: 'Configure this if you want to use a different Instagram API version. Make sure its prefixed with `v`' value: 'v22.0' locked: true # ------- End of Instagram Channel Related Config ------- # # ------- TikTok Channel Related Config ------- # - name: TIKTOK_API_VERSION display_title: 'TikTok API Version' description: 'Configure this if you want to use a different TikTok API version. Make sure its prefixed with `v`' value: 'v1.3' locked: false - name: TIKTOK_APP_ID display_title: 'TikTok App ID' locked: false - name: TIKTOK_APP_SECRET display_title: 'TikTok App Secret' locked: false type: secret # ------- End of TikTok Channel Related Config ------- # # ------- OG Image Related Config ------- # - name: OG_IMAGE_CDN_URL display_title: 'OG Image CDN URL' description: 'The CDN URL for serving OG images' value: '' locked: false - name: OG_IMAGE_CLIENT_REF display_title: 'OG Image Client Reference' description: 'Token used to block unauthorized access to OG images' value: '' locked: false type: secret # ------- End of OG Image Related Config ------- # ## ------ Configs added for Google OAuth ------ ## - name: GOOGLE_OAUTH_CLIENT_ID display_title: 'Google OAuth Client ID' value: locked: false description: 'Google OAuth Client ID for email authentication' - name: GOOGLE_OAUTH_CLIENT_SECRET display_title: 'Google OAuth Client Secret' value: locked: false description: 'Google OAuth Client Secret for email authentication' type: secret - name: GOOGLE_OAUTH_REDIRECT_URI display_title: 'Google OAuth Redirect URI' value: locked: false description: 'The redirect URI configured in your Google OAuth app' - name: ENABLE_GOOGLE_OAUTH_LOGIN display_title: 'Enable Google OAuth login' value: true locked: false description: 'Show Google OAuth as a login option when credentials are configured' type: boolean ## ------ End of Configs added for Google OAuth ------ ## ## ------ Configs added for SAML SSO ------ ## - name: ENABLE_SAML_SSO_LOGIN display_title: 'Enable SAML SSO login' value: true locked: false description: 'Show SAML SSO as a login option. Cannot be disabled if any users are using SAML authentication.' type: boolean ## ------ End of Configs added for SAML SSO ------ ## ## ------ Configs added for Cloudflare ------ ## - name: CLOUDFLARE_API_KEY display_title: 'Cloudflare API Key' value: locked: false description: 'API key for Cloudflare account authentication' type: secret - name: CLOUDFLARE_ZONE_ID display_title: 'Cloudflare Zone ID' value: locked: false description: 'Zone ID for the Cloudflare domain' ## ------ End of Configs added for Cloudflare ------ ## ## ------ Customizations for Customers ------ ## - name: WIDGET_TOKEN_EXPIRY display_title: 'Widget Token Expiry' value: 180 locked: false description: 'Token expiry in days' ## ------ End of Customizations for Customers ------ ## ## ----- LLM Observability ---- ## - name: OTEL_PROVIDER display_title: 'OpenTelemetry Provider' description: 'LLM observability provider (langfuse, langsmith, etc.)' value: '' locked: false - name: LANGFUSE_PUBLIC_KEY display_title: 'Langfuse Public Key' description: 'Public key for Langfuse authentication' value: '' locked: false type: secret - name: LANGFUSE_SECRET_KEY display_title: 'Langfuse Secret Key' description: 'Secret key for Langfuse authentication' value: '' locked: false type: secret - name: LANGFUSE_BASE_URL display_title: 'Langfuse Base URL' description: 'Langfuse endpoint (US: https://us.cloud.langfuse.com, EU: https://cloud.langfuse.com)' value: 'https://us.cloud.langfuse.com' locked: false ## ---- End of LLM Observability ---- ##