Tools
Built-in tools that connect your agent to real automotive data sources and services.
Galadri ships built-in tools that connect your agent to real automotive data sources. Each tool handles upstream authentication, rate limiting, error handling, and response normalization. You get NHTSA recall data, Google Maps places, real-time gas prices, EV charger locations, traffic conditions, vehicle sales listings, valuations, and more through a single chat endpoint.
Tools execute through the meta-tool pattern: independent actions run in parallel in a single round trip, not sequentially. When your user asks "Find me cheap gas and check my recalls," both lookups happen simultaneously. See the Meta-tool Pattern concept page for details.
What each tool handles for you
Each built-in tool manages its own upstream provider integration. That means API authentication, request formatting, rate limit handling, error recovery, response normalization, and stable ID assignment are all handled internally. You never touch the upstream APIs directly.
Beyond built-in tools, you can add custom tools to any agent. HTTP tools call your own API endpoints as webhooks. MCP tools connect to any server implementing the Model Context Protocol. Configure both in the Galadri Console.
Overview
All tools are exposed through a single execute_actions interface. The agent can call multiple tools in a single batch, and all independent actions execute in parallel.
Each tool runs in one of two modes:
- Sync — The agent waits for the result before responding. Used for searches, lookups, and queries.
- Fire-and-forget — The agent receives
"status": "initiated"immediately while the tool runs in the background. Used for sending emails, making calls, and other async operations.
Configuring tools
Enable or disable tools per agent in the Galadri Console. Communication credentials are now created only from the Credentials page, where each email or Twilio credential also defines whether it is outbound-only or can handle inbound communication. The same page also stores tool auth credentials for custom tool API keys and bearer tokens. You can mark the defaults new agents should use there too. You can also override tool availability per request using overrides.tools.
google-maps-search
Search Google Maps for places using the Places Text Search (New) API. Returns place name, address, rating, phone number, hours, and distance. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
queryrequired | string | Location-specific search query (e.g., "oil change shops near Phoenix, AZ"). |
traffic
Driving directions and live traffic conditions. Two actions: get directions between two locations with real-time travel times, or check for nearby incidents. Route handoff links use exact Google place IDs when available so origin and destination establishments open more reliably in Google Maps. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
actionrequired | string | "route_traffic" or "nearby_incidents". |
origin | string | Origin address or coordinates (required for route_traffic). |
destination | string | Destination address or coordinates (required for route_traffic). |
location | string | Location to check for incidents (required for nearby_incidents). |
radius_miles | integer | Radius for nearby_incidents (default 10). |
fleet-routing
Optimized multi-stop route planning. Two actions: compute a distance matrix between multiple origins and destinations, or find the optimal visit order for up to 12 stops with time windows and service durations. The 12-stop cap includes the start and final stop. Route optimization uses TomTom for stop ordering and Google for the rendered route polyline and, when the route fits Google Maps URL limits, a Google Maps navigation link. Google Maps links use exact Google place IDs when available so establishment stops open more reliably in Maps. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
actionrequired | string | "distance_matrix" or "optimize_route". |
origins | string[] | Origin locations (required for distance_matrix, max 10). |
destinations | string[] | Destination locations (required for distance_matrix, max 10). |
waypoints | string[] | object[] | Total route stops to optimize (required for optimize_route, min 2, max 12 including the start and final stop). Each waypoint can be a string location or an object like { location, time_window?: { open, close }, service_time_minutes? }. Use HH:MM local time for time_window values. Split larger trips into multiple route plans before calling the tool. |
use_live_traffic | boolean | Use live traffic for route timing (default true). |
depart_at | string | Departure time in ISO 8601 with timezone offset. If omitted for live traffic, the tool uses the current time. |
fix_start | boolean | Keep the first waypoint fixed as the route start (optimize_route, default true). |
round_trip | boolean | Return to start (optimize_route, default false). |
travel_mode | string | "car" or "truck" (default "car"). |
geocoding
Convert addresses to coordinates and coordinates to addresses. Two actions: forward geocoding resolves an address or place name to latitude/longitude, reverse geocoding converts coordinates to a street address. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
actionrequired | string | "forward" or "reverse". |
address | string | Address or place name (required for forward). |
latitude | number | Latitude (required for reverse). |
longitude | number | Longitude (required for reverse). |
gas-price-lookup
Find current gas prices at nearby stations. Returns station name, brand, address, distance, and per-gallon prices for available fuel types. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
locationrequired | string | Location to search near (address, city, or ZIP). |
fuel_type | string | "regular", "midgrade", "premium", "diesel", or "e85". |
radius_miles | number | Search radius in miles (default 5, max about 124). |
max_results | number | Maximum stations to return (default 10, max 50). |
ev-charger-lookup
Find nearby EV charging stations with connector types, networks, and port counts. Returns station name, address, charging network, connector types, and pricing info. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
locationrequired | string | Location to search near (address, city, or ZIP). |
charging_level | string | Charging level: "1", "2", or "dc_fast". |
connector_type | string | "J1772", "TESLA", "J1772COMBO", or "CHADEMO". |
network | string | Filter by exact network name, such as "Tesla", "ChargePoint Network", or "Electrify America". |
radius_miles | number | Search radius in miles (default 10, max 500). |
max_results | number | Maximum stations to return (default 10, max 50). |
nhtsa-recall-search
Search the NHTSA recall database for vehicle recalls. Uses fuzzy matching to resolve make/model names to exact NHTSA identifiers. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
yearrequired | integer | Model year. |
makerequired | string | Vehicle make (e.g., "Toyota"). |
modelrequired | string | Vehicle model (e.g., "Camry"). |
vin-decode
Decode a VIN into detailed vehicle specifications including year, make, model, trim, body type, engine, transmission, drivetrain, fuel type, and fuel economy. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
vinrequired | string | 17-character vehicle identification number. |
valuation
Get the estimated dealer retail market value for a vehicle by VIN, mileage, and location. Returns an ML-predicted dealer retail price and MSRP. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
vinrequired | string | Vehicle VIN. |
milesrequired | number | Current odometer reading in miles. |
dealer_typerequired | string | "franchise" or "independent". |
zip | string | 5-digit ZIP code. Provide zip or both city and state. |
city | string | City name. Must be paired with state. |
state | string | 2-letter state code. Must be paired with city. |
is_certified | boolean | Whether the vehicle is certified pre-owned (default false). |
vehicle-search
Search active dealer inventory across the US. Returns vehicles currently listed for sale with pricing, mileage, specs, dealer info, and listing URLs. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
make | string | Vehicle make. |
model | string | Vehicle model. |
year | string | Model year or range, such as "2024" or "2020-2024". |
zip | string | ZIP code for location-based search. |
radius | number | Search radius in miles around ZIP code (default 50, max 500). |
price_range | string | Price range as "min-max", such as "15000-30000". |
miles_range | string | Mileage range as "min-max", such as "0-50000". |
body_type | string | "Sedan", "SUV", "Coupe", "Convertible", "Hatchback", "Wagon", "Minivan", or "Cargo Van". For trucks, search by make/model. |
car_type | string | "new", "used", or "certified". |
sort_by | string | "price", "miles", "year", "dist", or "dom_active". |
sort_order | string | "asc" or "desc". |
rows | number | Number of results to return (default 10, max 50). |
start | number | Pagination offset, 0-based. |
intent | string | Brief summary of what the user is trying to find. Helps curate better results. |
automaker-incentives
Search manufacturer incentives, rebates, and financing offers on new vehicles. Returns program names, financial terms, cashback amounts, and program validity dates. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
makerequired | string | Vehicle make. |
zip | string | 5-digit ZIP code. Provide zip or both city and state. |
city | string | City name. Must be paired with state. |
state | string | 2-letter state code. Must be paired with city. |
model | string | Vehicle model. |
year | string | Model year. |
offer_type | string | "lease", "finance", or "cash". |
rows | number | Number of results to return (default 5, max 10). |
send-email-invite
Send emails and calendar invites. Supports HTML emails, ICS calendar invitations with full lifecycle management (create, update, cancel). Requires the organization or this agent to have a working SendGrid configuration. Mode: fire-and-forget.
Outbound email is sent from the normal configured sender mailbox. Reply threading uses standard email headers. When inbound reply handling is enabled on the credential, two-way email monitoring uses a customer-owned reply subdomain in SendGrid Inbound Parse with a hidden reply mailbox behind the scenes.
Galadri does not provide a shared sender mailbox for external organizations. Your org owns the visible sender and the reply subdomain.
The console credentials flow verifies the SendGrid key and sending domain before save. If inbound reply handling is enabled on the credential, the console also shows the exact MX row to add for the reply subdomain and blocks save until reply monitoring is ready.
send_email
| Parameter | Type | Description |
|---|---|---|
actionrequired | "send_email" | |
torequired | string | Recipient email address. |
subjectrequired | string | Email subject line. |
body_html | string | HTML email body. |
body_text | string | Plain text fallback. |
send_invite
| Parameter | Type | Description |
|---|---|---|
actionrequired | "send_invite" | |
torequired | string | Recipient email address. |
titlerequired | string | Calendar event title. |
start_datetimerequired | string | ISO 8601 with timezone offset (e.g., "2026-03-25T10:00:00-04:00"). |
duration_minutes | integer | Duration in minutes (default 60). |
location | string | Event location. |
description | string | Event description. |
cancel_invite
| Parameter | Type | Description |
|---|---|---|
actionrequired | "cancel_invite" | |
schedule_idrequired | string | ID of the schedule to cancel. |
send-sms
Send SMS and MMS messages via the organization's Twilio account. Supports text messages, image attachments, and threaded conversations. Mode: fire-and-forget.
Before the tool is usable, the console verifies that the configured Twilio account owns the selected number and that the number can send text messages.
| Parameter | Type | Description |
|---|---|---|
phone_numberrequired | string | Recipient phone number (E.164 format preferred). |
messagerequired | string | Message text (under 160 chars for single segment). |
media_url | string | Image URL for MMS. |
thread_id | string | Continue an existing SMS conversation. |
place-call
Make AI-powered phone calls via the organization's Twilio number and Galadri-managed ElevenLabs voice. The AI voice agent can discuss topics, look up information mid-call, and take actions on behalf of the user. Mode: fire-and-forget.
Voice setup is opinionated: customers connect Twilio, choose the number, and Galadri handles the AI voice layer. The console verifies that the selected Twilio number is voice-capable before saving the org voice defaults.
| Parameter | Type | Description |
|---|---|---|
phone_numberrequired | string | Phone number to call (E.164 format). |
purposerequired | string | Purpose or topic for the AI voice agent. |
push-notification
Send a push-notification payload to the developer-configured webhook for the end user. Mode: fire-and-forget.
| Parameter | Type | Description |
|---|---|---|
event_type | string | Notification category for client-side routing (default "notification"). |
titlerequired | string | Notification title. Keep it concise. |
bodyrequired | string | Notification body text. |
data | object | Arbitrary JSON payload for deep links, context, or custom client behavior. |
web-search
Quick, affordable web search for real-time information. Returns titles, snippets, and links. Best for simple factual queries and quick lookups. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
queryrequired | string | Search query. |
advanced-web-search
Premium web search, content extraction, and site crawling via Tavily. Use for research-grade queries, reading full articles, or crawling sites. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
actionrequired | string | "search", "extract", "crawl", or "map". search: web search. extract: extract content from URLs. crawl: deep crawl a site. map: get site structure. |
query | string | Search query (required for search action). |
urls | string[] | URLs to extract content from (required for extract action). |
url | string | Base URL (required for crawl and map actions). |
max_results | integer | Maximum results (search action, default 5). |
topic | string | "general" or "news" (search action). |
time_range | string | "day", "week", "month", or "year" (search action). |
include_domains | string[] | Only include results from these domains. |
exclude_domains | string[] | Exclude results from these domains. |
max_depth | integer | Maximum crawl depth (crawl action). |
limit | integer | Max pages to return (crawl/map actions). |
calculator
Safe math expression evaluator with unit conversions. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
expressionrequired | string | Math expression. Supports +, -, *, /, %, ^ (power), and parentheses. |
unit_conversion | string | Convert result: km_to_mi, mi_to_km, kg_to_lb, lb_to_kg, l_to_gal, gal_to_l, c_to_f, f_to_c, kpa_to_psi, psi_to_kpa. |
file-analysis
Analyze images and documents using vision models. Supports PNG, JPG, GIF, WebP, HEIC, PDF, DOCX, XLSX, and CSV. 50 MB limit. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
file_url | string | HTTP/HTTPS URL of the file to analyze. |
file_ref | string | Reference to a user-attached file (e.g., "img_0"). |
questionrequired | string | Specific question about the file content. |
image-generation
Generate images using Gemini 2.5 Flash. Returns base64 data URLs. 30-second timeout. Mode: sync.
| Parameter | Type | Description |
|---|---|---|
promptrequired | string | Detailed description of the image to generate. |
manage-data
Create, read, update, list, and delete end-user data records. See the Data Model page for table schemas and examples. Mode: sync.
When agents have write access, they should use milestones for maintenance history and upcoming due items, and schedules only for concrete reminders or appointments. A due-now maintenance finding such as bald tires should become a milestone first, not an assumed calendar event.
Table intent matters. Use end_users for profile and preference updates, vehicles for vehicle facts and shorthand estimates, documents for file metadata and analysis, milestones for maintenance or ownership events, and schedules for dated reminders, appointments, or automated follow-up. Vehicle fields prefixed with est_ are intentionally ballpark AI estimates for UI display.
| Parameter | Type | Description |
|---|---|---|
actionrequired | string | "describe", "create", "read", "list", "update", or "delete". |
tablerequired | string | "end_users", "vehicles", "vehicle_groups", "documents", "milestones", or "schedules". |
id | string (UUID) | Record ID (required for read, update, delete). |
data | object | Field values (required for create, update). |
filters | object | Equality filters for list action. |
limit | integer | Max records for list action (default 20, max 50). |
search-conversation-history
Read-only platform memory tool that lets the agent search prior messages for the active end user, then retrieve bounded context around a matching message. This tool is not selectable in the agent builder. Galadri adds it automatically and scopes every result to the current organization and end user. Mode: sync.
Search results include message IDs, session IDs, timestamps, roles, capped message content, snippets, and truncation metadata. Use the returned message ID with around to inspect messages before and after the hit.
| Parameter | Type | Description |
|---|---|---|
actionrequired | string | "search", "around", or "recent". |
query | string | Search text for the search action, such as oil change or dad. |
scope | string | "all_user_sessions" or "current_session". Default all_user_sessions. |
message_id | string (UUID) | Message ID returned by search or recent. Required for around. |
before | integer | Messages before message_id for around (default 5, max 20). |
after | integer | Messages after message_id for around (default 5, max 20). |
limit | integer | Max records for search or recent. Search max 10. Recent max 50. |
offset | integer | Offset from newest message for recent pagination. |
Telemetry
Connect fleet telematics providers to stream live vehicle data into your agents. Supported providers include Geotab, Samsara, Motive, and others. Once enabled, your agent can access real-time GPS location, engine diagnostics, fuel consumption, driver behavior scores, and maintenance alerts for connected vehicles.
Contact sales for access
Telemetry requires a custom integration for your organization. Contact us at sales@galadri.com to enable telematics for your account.
Custom Tools
In addition to built-in tools, you can create custom tools in the Galadri Console. Custom tools make HTTP requests to your own endpoints when invoked by the agent.
Two types are supported:
- HTTP tools — Define a URL, method, headers, and body template. The agent fills in parameters defined in the tool schema.
- MCP tools — Connect to a Model Context Protocol server for dynamic tool discovery.
Secrets for custom tools
Store API keys, bearer tokens, and other sensitive custom-tool values as tool auth credentials on the Credentials page. Reference them in HTTP headers, HTTP body templates, or MCP auth values with {{credential:Name}}. Whitespace inside the token is allowed, so {{ credential: Name }} resolves the same credential. Tool credential values are encrypted at rest and resolved server-side when the custom tool runs. They are not allowed in URLs.
Coming Soon
The following tools are planned for upcoming releases:
- repair-booking: Repair booking and shop availability (temporarily unavailable while the upstream APIs are stabilized)
- plate-to-vin — License plate to VIN lookup
- suggested-maintenance — Manufacturer-recommended maintenance schedules
- vin-recall-check — Check open recalls by specific VIN (currently uses make/model search, VIN-specific check coming soon)
- ev-charger-advanced — Live charger availability, power levels, and payment options
- owners-manual — Look up vehicle owner's manual information
- title-stolen-check — Check title status and stolen vehicle records
- vehicle-history-report — Accident, ownership, and service history
- vehicle-warranty — Check warranty coverage and status