Files
chatwoot/config/installation_config.yml
T

513 lines
18 KiB
YAML

# 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
# ------- 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: ANALYTICS_TOKEN
value:
display_title: "Analytics Token"
description: "The PostHog analytics token 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 <body> 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_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 ---- ##