feat: Implement UI for Agent Bots in settings and remove CSML support (#11276)
- Add agent bots management UI in settings with avatar upload - Enable agent bot configuration for all inbox types - Implement proper CRUD operations with webhook URL support - Fix agent bots menu item visibility in settings sidebar - Remove all CSML-related code and features - Add migration to convert existing CSML bots to webhook bots - Simplify agent bot model and services to focus on webhook bots - Improve UI to differentiate between system bots and account bots ## Video https://github.com/user-attachments/assets/3f4edbb7-b758-468c-8dd6-a9537b983f7d --------- Co-authored-by: iamsivin <iamsivin@gmail.com> Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com> Co-authored-by: Pranav <pranav@chatwoot.com>
This commit is contained in:
@@ -1,38 +0,0 @@
|
||||
class AgentBots::ValidateBotService
|
||||
pattr_initialize [:agent_bot]
|
||||
def perform
|
||||
return true unless agent_bot.bot_type == 'csml'
|
||||
|
||||
validate_csml_bot
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def csml_client
|
||||
@csml_client ||= CsmlEngine.new
|
||||
end
|
||||
|
||||
def csml_bot_payload
|
||||
{
|
||||
id: agent_bot[:name],
|
||||
name: agent_bot[:name],
|
||||
default_flow: 'Default',
|
||||
flows: [
|
||||
{
|
||||
id: SecureRandom.uuid,
|
||||
name: 'Default',
|
||||
content: agent_bot.bot_config['csml_content'],
|
||||
commands: []
|
||||
}
|
||||
]
|
||||
}
|
||||
end
|
||||
|
||||
def validate_csml_bot
|
||||
response = csml_client.validate(csml_bot_payload)
|
||||
response.blank? || response['valid']
|
||||
rescue StandardError => e
|
||||
ChatwootExceptionTracker.new(e, account: agent_bot&.account).capture_exception
|
||||
false
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user