C3 AI Documentation Home

Tools Overview

A tool is a function that performs a specific action on documents, structured tables, external APIs, or other data sources. Tools extend agents by enabling operations, integrations, and structured outputs beyond simple text generation.

Tool capabilities

Tools enable agents to:

  • Search documents for matching content.
  • Filter and query structured datasets.
  • Fetch information from external APIs.
  • Generate visual summaries from data.
  • Process files and extract information.
  • Integrate with external systems and services.
  • Execute custom business logic.
  • Perform calculations and data transformations.

Agents can use any tool that is published to Store or upserted programmatically.

Understand how tools work with agents

When you add a tool to an agent, the language model receives the tool name, description, parameter information, and return type. The LLM uses this metadata to determine when to call the tool and with what parameters. Clear function names, type hints, and parameter descriptions improve the agent's ability to use your tools effectively.

During agent execution, the LLM decides when to call tools based on user requests, calls the tool with appropriate parameters, receives the result, and incorporates the information into its response.

Tool Types

The platform provides the following Types to define and implement tools:

Select a tool category

Use Native Python tools when you need to:

  • Write custom logic specific to your use case.
  • Integrate with external Python libraries.
  • Prototype quickly without modifying the Type System.
  • Create standalone functions that don't depend on C3 Types.

Use C3 action tools when you need to:

  • Expose existing Type System logic to agents.
  • Maintain consistency with your application's data model.
  • Leverage methods already tested and validated in your codebase.
  • Access C3 Type System functionality directly.

Create tools

You can create tools in two ways:

  • Visual interface: Create Python and C3 Action tools directly from the UI in C3 AI Studio using the Tool Workbench. Write Python code, configure parameters, test functionality, and move tools to Store. This method requires no command-line access and provides immediate testing capabilities. See Create Python Tools from the UI, Create C3 Action Tools from UI, and Tool Workbench.

  • Programmatic approach: Create tools from Python functions or C3 methods using code. This method provides more flexibility and is suitable for complex integrations or when working within existing development workflows. See Create Tools from Code.

Test tools

The Tool Workbench provides two testing modes:

  • Standalone testing: Test tool inputs directly without requiring an agent to validate tool logic independently.
  • Agent testing: Test how the tool performs when called by an agent to verify tool integration and LLM decision-making.

See Tool Workbench for testing details.

Tool permissions

You can modify, test, and save changes only for draft tools you created. Users with GenaiCore.AgentAdmin or C3.AppAdmin roles can modify any draft tool. All users can view Store tools and add them to agents. Only users with appropriate permissions can delete Store tools. Python tools and C3 Action tools can be duplicated to create new drafts.

Learn more about user permission in Agent Lifecycle Management Roles and Permissions

See also

Was this page helpful?