Tools
Configure tools that ProofChat can call and how results are displayed.
Summary
- Purpose: Reference for using the Settings → Tools interface
- Audience: Developers, admins
- Prereqs: /docs/concepts/tools-are-scripts
Overview
The Tools settings page (Settings → Tools) lets you configure which FileMaker scripts are available as tools that the AI can call during conversations. This page is a reference for using the interface—for understanding how tools work and creating them, see Tools are Scripts.
Tools Configuration Interface
The Tools settings page provides a table view of all configured tools with management capabilities.
Table Features
- Search: Filter tools by name or script name
- Status Filter: Show all, enabled only, or disabled only
- Type Filter: Show all, text output, or component output
- Enable/Disable Toggle: Quickly enable or disable tools without editing
- Actions Menu: Edit or delete tool configurations
Adding a New Tool
Click the "Add Tool" button to open the configuration modal. The modal has four tabs:
- Basic Info: Core tool identification and settings
- Parameters: Define what data the tool expects
- Tool Schema: Preview the OpenAI-compatible schema sent to the AI
- Output: Configure how results are displayed
Tool Configuration Modal
Basic Info Tab
Configure the core identification and behavior settings for your tool.
Tool Name
- Format: Lowercase with underscores (e.g.,
get_weather,create_invoice) - Purpose: This becomes the function name the AI uses to call your tool
- Example:
search_customers,update_order_status
Description
- Critical: The AI uses this description to decide when to call your tool
- Best Practices:
- Be specific about what the tool does
- Mention when it should be used
- Include example use cases
- Example: "Searches for customer records by name, email, or phone number. Use when users ask to find customers or look up contact information."
Script Name
- Format: The exact name of your FileMaker script (case-sensitive)
- Purpose: Maps the tool to the script that will execute
- Example:
HandleCustomerSearch,ExecuteInvoiceCreation
Enabled
- Default: Enabled (checked)
- Purpose: Control whether the tool is available to the AI
- Use Case: Temporarily disable tools without deleting them
Require Confirmation
- Default: Disabled (unchecked)
- Purpose: Show a confirmation dialog before executing the tool
- Use Case: Enable for destructive operations (delete records, modify critical data) or sensitive actions
Parameters Tab
Define the parameters your tool accepts. Parameters use the OpenAPI schema standard, which the AI uses to understand what data to pass to your script.
Parameter Types
- String: Text values
- Number: Numeric values
- Boolean: True/false values
- Object: Nested objects (use dot notation for nested properties)
- Array: Lists of values
Dot Notation for Nested Objects
Use dot notation to define nested parameter structures:
contact.first_name→ Creates nested object:{ contact: { first_name: "..." } }user.profile.email→ Creates deeper nesting:{ user: { profile: { email: "..." } } }
When the AI calls your tool with nested parameters, they're passed to your FileMaker script as JSON in the script parameter.
Required Parameters
Mark parameters as required only when absolutely necessary. Optional parameters allow the AI more flexibility in tool usage.
Enum Values
For string parameters with limited valid values, define enum options:
- Example: Status parameter with values:
["active", "inactive", "pending"] - Benefit: Restricts input to valid options and helps the AI understand valid values
Parameter Best Practices
- Use descriptive names that clearly indicate purpose
- Provide clear descriptions for each parameter
- Use dot notation for logically grouped data
- Mark parameters required only when essential
- Use enums for constrained string values
- Test your tool after configuring parameters
Tool Schema Tab
This tab shows a preview of the OpenAI-compatible schema that will be sent to the AI model. This schema is generated from your Basic Info and Parameters configuration.
What you see:
- The tool name (function name)
- Tool description
- Parameter schema with types and descriptions
Why it's useful:
- Verify your configuration is correct
- See exactly what the AI will receive
- Validate parameter structure before saving
Output Tab
Configure how your tool's results are displayed. There are two response types:
Default (Text Response)
- How it works: Tool results are sent back to the AI model, which interprets them and crafts a natural language response
- Use when:
- Results need AI interpretation
- You want conversational responses
- Data doesn't fit predefined component formats
- Example: A search tool returns raw data, and the AI explains "I found 5 customers matching your criteria..."
Component Display
- How it works: Tool results are rendered directly using a predefined display component
- Use when:
- You want structured visualizations (tables, charts, KPIs)
- Data format matches available components
- You want immediate visual feedback
- Available Components: See Tool Components for complete documentation with expected data formats
Available components include:
- Data Table (
data-table) - Simple column/row format - Data Table - DAPI Format (
data-table-filemaker) - FileMaker Data API response format - Data Table - Pipe Separated (
data-table-psv) - Pipe-separated values - Key-Value Display (
key-value-display) - Key-value pairs with descriptions - Markdown Viewer (
markdown-viewer) - Formatted markdown content - FileMaker Record (
filemaker-record) - Record info with navigation - KPI Display (
kpi-display) - Key performance indicators with trends - Data Visualization (
data-visualization) - Interactive charts and tables
Expected Format Display
When you select a component, the modal shows the expected data format with a copy button. Copy this format to reference when writing your FileMaker script. For detailed component documentation and expected formats, see Tool Components.
Related
- /docs/concepts/tools-are-scripts - Understand how tools work and how to create them
- /docs/reference/tool-components/ - Detailed documentation for each display component
- /docs/reference/settings/mcp-servers - Configure external MCP servers that provide additional tools
- /docs/integration/configuration-scripts/chat-tools - Advanced: Override tools per file via script