WhatsApp embedded signup now uses `whatsapp_embedded_signup_inbox_creation` as the single Chatwoot Cloud rollout gate for inbox creation, proactive reconfiguration, and disconnected inbox reauthorization. The authorization endpoint enforces the same gate, so the UI and backend remain consistent. Self-hosted installations keep their existing behavior. ## Things to know - This reuses the existing feature flag; there is no migration or schema change. - The feature is shown as “WhatsApp Embedded Signup Flow” in feature management. - `whatsapp_reconfigure` remains visible and honored for self-hosted proactive reconfiguration to preserve existing accounts. It can be deprecated after the self-hosted dependency is removed or migrated. ## How to test 1. On Chatwoot Cloud, enable `whatsapp_embedded_signup_inbox_creation` for an account. 2. Confirm that new WhatsApp inbox creation, proactive reconfiguration, and disconnected inbox reauthorization are available. 3. Disable the flag and confirm those entry points are hidden and authorization requests are rejected. 4. On self-hosted, confirm proactive reconfiguration remains controlled by the existing `whatsapp_reconfigure` account setting. --------- Co-authored-by: Muhsin <12408980+muhsin-k@users.noreply.github.com>
69 lines
2.4 KiB
JavaScript
69 lines
2.4 KiB
JavaScript
export const FEATURE_FLAGS = {
|
|
AGENT_BOTS: 'agent_bots',
|
|
AGENT_MANAGEMENT: 'agent_management',
|
|
ASSIGNMENT_V2: 'assignment_v2',
|
|
ADVANCED_ASSIGNMENT: 'advanced_assignment',
|
|
AUTO_RESOLVE_CONVERSATIONS: 'auto_resolve_conversations',
|
|
AUTOMATIONS: 'automations',
|
|
CAMPAIGNS: 'campaigns',
|
|
WHATSAPP_CAMPAIGNS: 'whatsapp_campaign',
|
|
WHATSAPP_EMBEDDED_SIGNUP_FLOW: 'whatsapp_embedded_signup_inbox_creation',
|
|
WHATSAPP_MANUAL_TRANSFER: 'whatsapp_manual_transfer',
|
|
WHATSAPP_RECONFIGURE: 'whatsapp_reconfigure',
|
|
CANNED_RESPONSES: 'canned_responses',
|
|
CRM: 'crm',
|
|
CUSTOM_ATTRIBUTES: 'custom_attributes',
|
|
DATA_IMPORT: 'data_import',
|
|
API_AND_WEBHOOKS: 'api_and_webhooks',
|
|
INBOX_MANAGEMENT: 'inbox_management',
|
|
INTEGRATIONS: 'integrations',
|
|
LABELS: 'labels',
|
|
MACROS: 'macros',
|
|
HELP_CENTER: 'help_center',
|
|
REPORTS: 'reports',
|
|
TEAM_MANAGEMENT: 'team_management',
|
|
VOICE_RECORDER: 'voice_recorder',
|
|
AUDIT_LOGS: 'audit_logs',
|
|
INBOX_VIEW: 'inbox_view',
|
|
SLA: 'sla',
|
|
CHANNEL_EMAIL: 'channel_email',
|
|
CHANNEL_FACEBOOK: 'channel_facebook',
|
|
CHANNEL_WEBSITE: 'channel_website',
|
|
CUSTOM_REPLY_DOMAIN: 'custom_reply_domain',
|
|
CUSTOM_REPLY_EMAIL: 'custom_reply_email',
|
|
DISABLE_BRANDING: 'disable_branding',
|
|
EMAIL_CONTINUITY_ON_API_CHANNEL: 'email_continuity_on_api_channel',
|
|
INBOUND_EMAILS: 'inbound_emails',
|
|
IP_LOOKUP: 'ip_lookup',
|
|
LINEAR: 'linear_integration',
|
|
CAPTAIN: 'captain_integration',
|
|
CUSTOM_ROLES: 'custom_roles',
|
|
CHATWOOT_V4: 'chatwoot_v4',
|
|
CHANNEL_INSTAGRAM: 'channel_instagram',
|
|
CHANNEL_TIKTOK: 'channel_tiktok',
|
|
CHANNEL_VOICE: 'channel_voice',
|
|
CONTACT_CHATWOOT_SUPPORT_TEAM: 'contact_chatwoot_support_team',
|
|
CAPTAIN_CUSTOM_TOOLS: 'custom_tools',
|
|
CAPTAIN_V2: 'captain_integration_v2',
|
|
CAPTAIN_TASKS: 'captain_tasks',
|
|
CAPTAIN_DOCUMENT_AUTO_SYNC: 'captain_document_auto_sync',
|
|
SAML: 'saml',
|
|
COMPANIES: 'companies',
|
|
ADVANCED_SEARCH: 'advanced_search',
|
|
CONVERSATION_REQUIRED_ATTRIBUTES: 'conversation_required_attributes',
|
|
CONVERSATION_UNREAD_COUNTS: 'conversation_unread_counts',
|
|
UNREAD_COUNT_FOR_FILTERS: 'unread_count_for_filters',
|
|
};
|
|
|
|
export const PREMIUM_FEATURES = [
|
|
FEATURE_FLAGS.SLA,
|
|
FEATURE_FLAGS.CAPTAIN,
|
|
FEATURE_FLAGS.CAPTAIN_CUSTOM_TOOLS,
|
|
FEATURE_FLAGS.CUSTOM_ROLES,
|
|
FEATURE_FLAGS.AUDIT_LOGS,
|
|
FEATURE_FLAGS.HELP_CENTER,
|
|
FEATURE_FLAGS.SAML,
|
|
FEATURE_FLAGS.CONVERSATION_REQUIRED_ATTRIBUTES,
|
|
FEATURE_FLAGS.ADVANCED_ASSIGNMENT,
|
|
];
|