Class: Assistant::SalesManagementToolBuilder

Inherits:
Object
  • Object
show all
Defined in:
app/services/assistant/sales_management_tool_builder.rb

Overview

Builds RubyLLM::Tool subclasses for sales force management.

Provides tools for:

  • Employee lookup (by name, role, department)
  • Team availability / work schedules (who's working today)
  • Deal pipeline summaries (opportunities by rep, stage, value)
  • Activity workload (open/overdue activities per rep)
  • Quote/order context (recent quotes/orders by rep)
  • Call record context (recent calls, transcripts, action items)

Usage (via ChatToolBuilder):
tools = Assistant::SalesManagementToolBuilder.tools

Constant Summary collapse

MAX_RESULTS =
50
MAX_ACTIVITIES_PER_REP =
20

Class Method Summary collapse

Class Method Details

.toolsObject



25
26
27
28
29
30
31
32
33
34
# File 'app/services/assistant/sales_management_tool_builder.rb', line 25

def self.tools
  [
    build_find_employee_tool,
    build_team_schedule_tool,
    build_pipeline_summary_tool,
    build_rep_workload_tool,
    build_rep_performance_tool,
    build_recent_calls_tool
  ]
end

.truncate(json_string) ⇒ Object



21
22
23
# File 'app/services/assistant/sales_management_tool_builder.rb', line 21

def self.truncate(json_string)
  Assistant::ChatToolBuilder.truncate_result( json_string)
end