We are expanding Chatwoot’s automation capabilities by introducing **Conversation Workflows**, a dedicated section in settings where teams can configure rules that govern how conversations are closed and what information agents must fill before resolving. This feature helps teams enforce data consistency, collect structured resolution information, and ensure downstream reporting is accurate. Instead of having auto‑resolution buried inside Account Settings, we introduced a new sidebar item: - Auto‑resolve conversations (existing behaviour) - Required attributes on resolution (new) This groups all conversation‑closing logic into a single place. #### Required Attributes on Resolve Admins can now pick which custom conversation attributes must be filled before an agent can resolve a conversation. **How it works** - Admin selects one or more attributes from the list of existing conversation level custom attributes. - These selected attributes become mandatory during resolution. - List all the attributes configured via Required Attributes (Text, Number, Link, Date, List, Checkbox) - When an agent clicks Resolve Conversation: If attributes already have values → the conversation resolves normally. If attributes are missing → a modal appears prompting the agent to fill them. <img width="1554" height="1282" alt="CleanShot 2025-12-10 at 11 42 23@2x" src="https://github.com/user-attachments/assets/4cd5d6e1-abe8-4999-accd-d4a08913b373" /> #### Custom Attributes Integration On the Custom Attributes page, we will surfaced indicators showing how each attribute is being used. Each attribute will show badges such as: - Resolution → used in the required‑on‑resolve workflow - Pre‑chat form → already existing <img width="2390" height="1822" alt="CleanShot 2025-12-10 at 11 43 42@2x" src="https://github.com/user-attachments/assets/b92a6eb7-7f6c-40e6-bf23-6a5310f2d9c5" /> #### Admin Flow - Navigate to Settings → Conversation Workflows. - Under Required attributes on resolve, click Add Required Attribute. - Pick from the dropdown list of conversation attributes. - Save changes. Agents will now be prompted automatically whenever they resolve. <img width="2434" height="872" alt="CleanShot 2025-12-10 at 11 44 42@2x" src="https://github.com/user-attachments/assets/632fc0e5-767c-4a1c-8cf4-ffe3d058d319" /> #### NOTES - The Required Attributes on Resolve modal should only appear when values are missing. - Required attributes must block the resolution action until satisfied. - Bulk‑resolve actions should follow the same rules — any conversation missing attributes cannot be bulk‑resolved, rest will be resolved, show a notification that the resolution cannot be done. - API resolution does not respect the attributes. --------- Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: iamsivin <iamsivin@gmail.com> Co-authored-by: Pranav <pranav@chatwoot.com>
244 lines
6.2 KiB
YAML
244 lines
6.2 KiB
YAML
# DO NOT change the order of features EVER
|
|
############################################
|
|
# name: the name to be used internally in the code
|
|
# display_name: the name to be used in the UI
|
|
# enabled: whether the feature is enabled by default
|
|
# help_url: the url to the help center article
|
|
# chatwoot_internal: whether the feature is internal to Chatwoot and should not be shown in the UI for other self hosted installations
|
|
# deprecated: purpose of feature flag is done, no need to show it in the UI anymore
|
|
- name: inbound_emails
|
|
display_name: Inbound Emails
|
|
enabled: true
|
|
- name: channel_email
|
|
display_name: Email Channel
|
|
enabled: true
|
|
help_url: https://chwt.app/hc/email
|
|
- name: channel_facebook
|
|
display_name: Facebook Channel
|
|
enabled: true
|
|
help_url: https://chwt.app/hc/fb
|
|
- name: channel_twitter
|
|
display_name: Twitter Channel
|
|
enabled: true
|
|
deprecated: true
|
|
- name: ip_lookup
|
|
display_name: IP Lookup
|
|
enabled: false
|
|
- name: disable_branding
|
|
display_name: Disable Branding
|
|
enabled: false
|
|
premium: true
|
|
- name: email_continuity_on_api_channel
|
|
display_name: Email Continuity on API Channel
|
|
enabled: false
|
|
- name: help_center
|
|
display_name: Help Center
|
|
enabled: true
|
|
help_url: https://chwt.app/hc/help-center
|
|
- name: agent_bots
|
|
display_name: Agent Bots
|
|
enabled: true
|
|
help_url: https://chwt.app/hc/agent-bots
|
|
- name: macros
|
|
display_name: Macros
|
|
enabled: true
|
|
- name: agent_management
|
|
display_name: Agent Management
|
|
enabled: true
|
|
- name: team_management
|
|
display_name: Team Management
|
|
enabled: true
|
|
help_url: https://chwt.app/hc/teams
|
|
- name: inbox_management
|
|
display_name: Inbox Management
|
|
enabled: true
|
|
- name: labels
|
|
display_name: Labels
|
|
enabled: true
|
|
help_url: https://chwt.app/hc/labels
|
|
- name: custom_attributes
|
|
display_name: Custom Attributes
|
|
enabled: true
|
|
help_url: https://chwt.app/hc/custom-attributes
|
|
- name: automations
|
|
display_name: Automations
|
|
enabled: true
|
|
- name: canned_responses
|
|
display_name: Canned Responses
|
|
enabled: true
|
|
help_url: https://chwt.app/hc/canned
|
|
- name: integrations
|
|
display_name: Integrations
|
|
enabled: true
|
|
help_url: https://chwt.app/hc/integrations
|
|
- name: voice_recorder
|
|
display_name: Voice Recorder
|
|
enabled: true
|
|
- name: mobile_v2
|
|
display_name: Mobile App V2
|
|
enabled: false
|
|
deprecated: true
|
|
- name: channel_website
|
|
display_name: Website Channel
|
|
enabled: true
|
|
- name: campaigns
|
|
display_name: Campaigns
|
|
enabled: true
|
|
help_url: https://chwt.app/hc/campaigns
|
|
- name: reports
|
|
display_name: Reports
|
|
enabled: true
|
|
help_url: https://chwt.app/hc/reports
|
|
- name: crm
|
|
display_name: CRM
|
|
enabled: true
|
|
- name: auto_resolve_conversations
|
|
display_name: Auto Resolve Conversations
|
|
enabled: true
|
|
- name: custom_reply_email
|
|
display_name: Custom Reply Email
|
|
enabled: false
|
|
- name: custom_reply_domain
|
|
display_name: Custom Reply Domain
|
|
enabled: false
|
|
- name: audit_logs
|
|
display_name: Audit Logs
|
|
enabled: false
|
|
premium: true
|
|
- name: response_bot
|
|
display_name: Response Bot
|
|
enabled: false
|
|
premium: true
|
|
deprecated: true
|
|
- name: message_reply_to
|
|
display_name: Message Reply To
|
|
enabled: false
|
|
help_url: https://chwt.app/hc/reply-to
|
|
deprecated: true
|
|
- name: insert_article_in_reply
|
|
display_name: Insert Article in Reply
|
|
enabled: false
|
|
deprecated: true
|
|
- name: inbox_view
|
|
display_name: Inbox View
|
|
enabled: false
|
|
chatwoot_internal: true
|
|
- name: sla
|
|
display_name: SLA
|
|
enabled: false
|
|
premium: true
|
|
help_url: https://chwt.app/hc/sla
|
|
- name: help_center_embedding_search
|
|
display_name: Help Center Embedding Search
|
|
enabled: false
|
|
premium: true
|
|
chatwoot_internal: true
|
|
- name: linear_integration
|
|
display_name: Linear Integration
|
|
enabled: false
|
|
- name: captain_integration
|
|
display_name: Captain
|
|
enabled: false
|
|
premium: true
|
|
- name: custom_roles
|
|
display_name: Custom Roles
|
|
enabled: false
|
|
premium: true
|
|
- name: chatwoot_v4
|
|
display_name: Chatwoot V4
|
|
enabled: true
|
|
- name: report_v4
|
|
display_name: Report V4
|
|
enabled: true
|
|
deprecated: true
|
|
- name: contact_chatwoot_support_team
|
|
display_name: Contact Chatwoot Support Team
|
|
enabled: true
|
|
chatwoot_internal: true
|
|
- name: shopify_integration
|
|
display_name: Shopify Integration
|
|
enabled: false
|
|
chatwoot_internal: true
|
|
- name: search_with_gin
|
|
display_name: Search messages with GIN
|
|
enabled: false
|
|
chatwoot_internal: true
|
|
- name: channel_instagram
|
|
display_name: Instagram Channel
|
|
enabled: true
|
|
- name: crm_integration
|
|
display_name: CRM Integration
|
|
enabled: false
|
|
- name: channel_voice
|
|
display_name: Voice Channel
|
|
enabled: false
|
|
premium: true
|
|
- name: notion_integration
|
|
display_name: Notion Integration
|
|
enabled: false
|
|
- name: captain_integration_v2
|
|
display_name: Captain V2
|
|
enabled: false
|
|
premium: true
|
|
- name: whatsapp_embedded_signup
|
|
display_name: WhatsApp Embedded Signup
|
|
enabled: false
|
|
deprecated: true
|
|
- name: whatsapp_campaign
|
|
display_name: WhatsApp Campaign
|
|
enabled: false
|
|
- name: crm_v2
|
|
display_name: CRM V2
|
|
enabled: false
|
|
chatwoot_internal: true
|
|
- name: assignment_v2
|
|
display_name: Assignment V2
|
|
enabled: false
|
|
chatwoot_internal: true
|
|
- name: twilio_content_templates
|
|
display_name: Twilio Content Templates
|
|
enabled: false
|
|
deprecated: true
|
|
- name: advanced_search
|
|
display_name: Advanced Search
|
|
enabled: false
|
|
premium: true
|
|
chatwoot_internal: true
|
|
- name: saml
|
|
display_name: SAML
|
|
enabled: false
|
|
premium: true
|
|
- name: advanced_search_indexing
|
|
display_name: Advanced Search Indexing
|
|
enabled: false
|
|
premium: true
|
|
chatwoot_internal: true
|
|
- name: reply_mailer_migration
|
|
# This feature is temporary only to migrate reply mailer to new email builder
|
|
# Once the migration is done, this feature can be removed
|
|
display_name: Reply Mailer Migration
|
|
enabled: false
|
|
chatwoot_internal: true
|
|
- name: quoted_email_reply
|
|
display_name: Quoted Email Reply
|
|
enabled: false
|
|
- name: companies
|
|
display_name: Companies
|
|
enabled: false
|
|
premium: true
|
|
chatwoot_internal: true
|
|
- name: channel_tiktok
|
|
display_name: TikTok Channel
|
|
enabled: true
|
|
- name: csat_review_notes
|
|
display_name: CSAT Review Notes
|
|
enabled: false
|
|
premium: true
|
|
- name: captain_tasks
|
|
display_name: Captain Tasks
|
|
enabled: true
|
|
- name: conversation_required_attributes
|
|
display_name: Required Conversation Attributes
|
|
enabled: false
|
|
premium: true
|