Back to App

Agent Tools

SETI AI's agents don't just talk about your power system — they act on it. Behind the conversation sits a toolkit of 57 tools the agents can call to read live data, run workflows, search your documents, manage the battery graph, send notifications, control energy schedules, speak over Discord voice, and coordinate with one another.

When you ask Bob or Bill to do something, they pick the right tool, run it on your behalf, and translate the raw result into a clear, plain-language answer. You never see JSON — you see the conclusion.

Related pages: Command Center · AI Agents · Notifications


How tools work (and why they're safe)

  • Acting on your behalf. Every tool call is bound to the signed-in user. Any tool that touches user-owned data (canvases, workflows, schedules) is automatically forced to your identity — an agent can't be tricked into reading or changing another customer's data. Tenant isolation is enforced server-side, not just hidden in the UI.
  • Grounded, not guessed. Tools return real data from real systems (your VRM account, your Postgres history, your knowledge base, your battery graph). If a backend isn't connected, the tool says so rather than fabricating a value.
  • You stay in command. Tools that change something — issuing an action, creating a schedule — run through the agents' safety checks, and high-stakes actions are gated by Bob's approval.

The 57 tools are organized into seven categories.


1. Canvas / Workflow — drive the visual editor

These let the agents read and operate your node-based workflows and dashboard widgets, so you can build and run automations by asking.

Tool What it does
list_canvases List your saved workflows
get_canvas Read a specific workflow
run_workflow Deploy and execute a workflow (server-side, 24/7)
stop_workflow Halt a running workflow
list_workflow_runs Recent execution history
list_node_types The full catalog of node types
list_widgets The full catalog of analytics widgets
add_node_to_canvas Place a new node onto a canvas
get_widget_data Pull the live data behind a widget

Example. "Bob, run the overnight charge-balancing workflow." Bob reads it, verifies it's safe, deploys it, and reports the run status. "Bill, add an INA260 current sensor to my pack-monitor canvas." Bill checks the sensor against pack limits and drops the node in.


2. Knowledge Base — answers from your own documents

The Retrieval-Augmented Generation (RAG) toolkit. This is how the agents ground their answers in your uploaded manuals, datasheets, and specs (see Command Center).

Tool What it does
kb_search Semantic search the knowledge base; returns the best passages with filename, snippet, and relevance score
kb_stats How many documents are indexed, the filenames, and the embedding model
kb_list_docs List of document filenames

Example. Ask about a product number and the agent searches the KB first, then answers with a citation: "Per SETI_24V_PowerPack_Manual.pdf, max charging voltage is 29.4 V." These tools are deliberately cheap to call, so the agents use them liberally rather than guessing.


3. Battery / Neo4j — the battery knowledge graph

Your fleet's topology, cell health, events, and recurring failure patterns live in a graph database. These tools let the agents record and reason over that history.

Tool What it does
neo4j_store_event Record a battery event (e.g. a thermal alert)
neo4j_store_outcome Log how an event was resolved (action + resolution time)
neo4j_find_patterns Surface recurring patterns by event type and metric range
neo4j_get_pack_history Full event history for a pack
neo4j_build_pattern Define a reusable pattern → recommended-action mapping

Example. Over time the graph learns that a specific cell position on a pack repeatedly drifts warm. The agents detect the pattern, link it to the action that fixed it last time, and recommend it proactively — turning one-off incidents into institutional knowledge.


4. Notifications — reach the operator anywhere

These let the agents push messages out through your configured channels. Full detail in Notifications.

Tool What it does
send_email Email the configured recipients
send_discord Post to your Discord channel (webhook or bot)
send_slack Post to your Slack channel
send_alert Fan out to all enabled channels at once (with anti-spam cooldown)
get_notification_status Which channels are enabled and configured
get_notification_history What was sent, when, and whether it succeeded

Example. "Bill, email me a degradation report for Pack 3." Bill generates the report and sends it. On a critical event, the agents call send_alert so the message reaches you on every channel you've set up.


5. Energy — live power data, cost, and scheduling

Direct integration with your energy hardware (Victron VRM and more) so the agents can read live power and manage how your system charges.

Tool What it does
get_victron_live Live battery voltage, SoC, current, power, solar, and load
get_energy_history Historical hourly VRM data (up to 90 days)
get_energy_cost Cost analysis: solar savings, grid cost, daily breakdown, yearly projection
get_schedules List charge/discharge schedules
create_schedule Create a schedule (charge window, SoC target)
delete_schedule Remove a schedule
set_soc_floor Set the minimum (and maximum) state-of-charge guardrails
set_energy_rate Set your electricity rate, including peak/off-peak

Example. "Bob, charge to 100% between midnight and 6 AM and never let the pack drop below 30%." Bob creates the schedule and sets the SoC floor. "Bill, how much did solar save me this month?" Bill pulls the cost analysis and gives you the number and the yearly projection.


6. Voice — speak over Discord

For hands-free and shared-room operation, the agents can speak alerts aloud in a Discord voice channel.

Tool What it does
discord_tts Send a text-to-speech message Discord reads aloud (built-in TTS, no extra engine)
discord_voice_say Queue a message for the speech-to-speech voice engine to speak
discord_voice_queue View pending voice messages in the speech queue

Example. A critical thermal alert can be spoken into the team's voice channel — useful in a lab or shop floor where nobody is staring at a screen, and valuable for accessibility.


7. Inter-Agent — the team coordinates itself

These tools let Bob and Bill message each other without a human in the loop (see AI Agents for the full collaboration model).

Tool What it does
notify_bob Send Bob a message with a priority (info / warning / critical)
notify_bill Send Bill a message with a priority
check_inbox Read unread inter-agent notifications

Example. Bill detects an anomaly and immediately notify_bobs with priority critical; Bob, before approving an action, notify_bills for the supporting research. Each checks its inbox at the start of a conversation, so nothing falls through the cracks.


Why this matters for you

A chatbot can describe your system. SETI AI's agents can operate it — safely, on your behalf, scoped to your account:

  • Do it by asking. Run a workflow, build a monitoring pipeline, set a charge schedule, pull a cost report — in plain language.
  • One team, many systems. The same agents reach across your energy hardware, your documents, your battery graph, and your notification channels.
  • Safe by construction. Every action is bound to you, checked against hard safety limits, and the riskiest ones are gated by approval.
  • Honest when they can't. If a backend isn't connected, a tool reports it instead of guessing — essential for an industrial power platform.