Open-source agentic AI for transaction monitoring. Just ask Jooby.What's Jube? →

Ask Jooby tool icons and groups

Every tool call Jooby makes shows as a status pill in the chat, and each pill carries an icon for the tool it narrates. The tools are grouped below for documentation. Core tools have an icon each. Analytics tools and entity operations share one icon per group, because there are over 1,500 of them and a single icon per tool would not be readable.

Icons come from Lucide (version 1.52.0, ISC licence), drawn as inline SVG. Unknown tools fall back to a wrench.

How an icon is chosen

Tool family Where the mapping lives Granularity
Core agent tools Jube.AskJooby/Agents/AgentToolIcons.cs One icon per tool
Analytics tools Jube.Service/Agent/AdvancedAnalyticsTools/AdvancedAnalyticsGroupIcons.cs One icon per analytics group
Entity and platform operations Jube.Service/Agent/PageAgentToolBinder/ServiceOperationIcons.cs One icon per domain, first matching rule wins

The name-to-icon map is filled when each tool family is discovered, so every tool resolves before its first call. Each icon is an AgentToolIcon enum value, the single hardcoded list of icons with fixed numeric ids. The id travels on the streamed Step item as IconId, is stored as AskJoobyMessage.IconId so replayed steps keep their icon, and the browser draws it from Jube.App/wwwroot/js/AskJooby/AskJoobyToolIcons.js, which is keyed by the same ids. Never renumber the enum: the stored ids depend on it. New icons are appended with the next free id.

Replayed conversations show the same icons, because the id is stored with each step. A step with no stored icon id keeps the 🔧 pill.

The unit test AgentToolIconsTests fails if a core tool, an analytics tool or an entity operation resolves to the fallback, or if the server names an icon the browser map does not contain.

1. Core agent tools

Each tool has its own icon.

Group Tool Icon
Research and memory SearchRag book-search
  Remember bookmark-plus
  Recall bookmark
  SearchHistory history
  SearchCompactedHistory archive
Data and SQL ListQueryableTables table-properties
  RunSqlQuery database
  ValidateSqlQuery shield-check
  ExplainSqlQuery file-search
  InspectTableStatistics chart-column
  AnalyseQueryHistory timer
  InspectDataSchema columns-3
  PreviewDataRows eye
  QueryCachedData filter
  GetDemoDataset flask-conical
Output ExportCachedTableToCsv file-down
  RenderChart chart-line
Workflows and planning FindGraphWorkflow route
  GetGraphWorkflow workflow
  GetWorkflowProgress list-checks
  RecordWorkflowStep square-check-big
  WritePlan clipboard-list
Delegation and control SpawnAgent users-round
  SpawnAgents users-round
  HandBack undo-2
  AskClarifyingQuestion message-circle-question

2. Analytics tools

The analytics surface has 46 groups. Each group is one icon, and the families below are how they read in the documentation.

Family Group Icon
Classification AdaBoostClassifierTrainingRuns zap
  BaggingClassifierTrainingRuns layers
  DecisionTreeClassifierTrainingRuns git-branch
  GradientBoostingClassifierTrainingRuns trending-up
  KNearestNeighboursClassifierTrainingRuns network
  KernelSupportVectorClassifierTrainingRuns slice
  LinearSupportVectorClassifierTrainingRuns rows-3
  LogisticRegression percent
  LogisticRegressionTrainingRuns toggle-right
  NaiveBayesClassifierTrainingRuns brain
  NeuralNetworkClassifierTrainingRuns cpu
  RandomForestClassifierTrainingRuns tree-deciduous
  TreeAugmentedNaiveBayesClassifierTrainingRuns git-fork
Regression DecisionTreeRegressorTrainingRuns sprout
  GradientBoostingRegressorTrainingRuns chart-spline
  KernelRidgeRegressorTrainingRuns waypoints
  KNearestNeighboursRegressorTrainingRuns scatter-chart
  LinearRegressionTrainingRuns ruler
  NeuralNetworkRegressorTrainingRuns brain-circuit
  RandomForestRegressorTrainingRuns trees
  RelationshipsAndRegression link
Clustering BalancedKMeansClustererTrainingRuns scale
  BinarySplitClustererTrainingRuns split
  GaussianMixtureClustererTrainingRuns blend
  KMeansClustererTrainingRuns group
  KMedoidsClustererTrainingRuns crosshair
  KModesClustererTrainingRuns boxes
  MeanShiftClustererTrainingRuns orbit
  MiniBatchKMeansClustererTrainingRuns package
Anomaly detection IsolationForestAnomalyTrainingRuns shield-alert
  MahalanobisAnomalyTrainingRuns radar
  OneClassSupportVectorAnomalyTrainingRuns scan-eye
Statistics and tests DescriptiveStatistics sigma
  DistributionsAndHistograms bar-chart-3
  HypothesisTests test-tube
  CategoricalAndSurvival hourglass
  NumericsAndOptimisation calculator
  ModelEvaluationTools clipboard-check
  ModelSelection clipboard-check
Multivariate and time series GaussianMixtureDensityTrainingRuns waves
  PrincipalComponentTrainingRuns rotate-3d
  MultivariateAndClustering combine
  TimeSeriesAndSignal audio-waveform
Data and platform AdvancedAnalyticsTrainingRuns sparkles
  DataPreparationAndResampling shuffle
  RScript file-code

3. Entity and platform operations

Each entity operation takes the icon of its domain. Domains are checked in the order below, so the first match wins. Tree navigation operations (TreeChildren…) take the icon of the entity they navigate.

Domain Icon Covers
Warnings and alerts triangle-alert *Warning, WAF attacks
Logs and telemetry scroll-text OpenTelemetry, OTLP, container and Postgres log entries, activation watcher replay
Performance and counters gauge *Metric, performance and processing counters, Redis call and HTTP processing counters, queue balances
Platform infrastructure server Redis, Postgres tables, statements, indexes and activity, Patroni, etcd, HAProxy, Docker, overlay network, .NET runtime, capture queue
Ask Jooby bot Conversations, memory, RAG chunks, files
Case management briefcase Cases, case workflows, session case journals
Data preservation and archive archive Preservation snapshots and recovery, archive tags
Access and tenancy key-round Users, roles, tenants, permission specifications
Visualisation layout-dashboard Visualisation registries, parameters and datasources
Model testing and analytics flask-conical Advanced analytics instances and models, exhaustive search, backtests, history simulations, invocation contexts, integrity checks, samples
Authoring helpers book-open-text Rule vocabulary, query builder operators, parser, icons, completions
Rules and models sliders-horizontal Entity analysis models and their rules, lists, dictionaries, tags, scripts, overrides, synchronisation and dependencies, sanction entries
Tree root list-tree The bare tree navigation root

4. Function-tool groups

The 22 FunctionTool groups under Jube.Service/Extensions and Jube.Service/Helpers each have one icon, in Jube.Service/Agent/FunctionToolGroupIcons.cs. They are not discovered or bound by any tool binder, so no tool call uses them. A test fails if any group is added without an icon.

Group Icon Group Icon
CalendarFacts calendar-days TextCleaning eraser
ClockAndIdentifiers clock TextEditing pencil
CurrencyAndCountry coins TextExtraction scissors
DateArithmetic calendar-plus TextInspection text-search
EncodingAndHashing fingerprint TextLists list
FinancialIdentifiers landmark ThresholdsAndLimits gauge-circle
Geospatial map-pin TimeZonesAndFormats globe-2
ListScreening list-filter UnitsAndNumerals binary
NameSimilarity spell-check RoundingAndPowers superscript
OnlineIdentifiers globe StructuredData braces
PatternMatching regex PercentagesAndChanges trending-down

Attribution

Icons are from Lucide, lucide-static 1.52.0. Lucide is ISC licensed. Five of the icons used here are derived from the Feather project and carry Feather’s MIT licence as well: crosshair, database, link, percent and server. Both notices are reproduced below, as the licence package states them.

ISC licence (Lucide):

Copyright (c) 2026 Lucide Icons and Contributors

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

MIT licence (the icons derived from Feather):

Copyright (c) 2013-present Cole Bemis

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.