Agents and Tools Overview
The C3 Generative AI Application uses agents and tools to answer natural language questions based on your data. When you ask a question, the agent interprets it and selects the appropriate tools to generate a response. Each tool performs a specific task, such as searching documents, querying structured data, or generating charts.
You can use agents and tools to answer a wide range of questions, from document-based queries like, “What is our return policy?” to structured questions like, “How many engines failed last month?” The application supports both built-in and custom tools.
Agents
The application models agents using the Genai.Agent.Dynamic.Core Type. Each agent interprets your question, selects tools from its toolkit, and returns a response. For the framework view of how agents are structured and configured, see Agents Overview.
For example:
- A question like, “How many engines failed last month?” triggers a structured query tool.
- A question like, “What's the warranty policy?” triggers an unstructured query tool.
The C3 Generative AI Application includes the Dynamic Agent. This agent understands questions, selects tools, and returns a text or visual response. It supports multi-step queries and can use multiple tools as needed.
Agent types
The C3 Generative AI Application implements agents using the Dynamic Agent architecture, which interprets queries, selects tools, and coordinates reasoning. Two preconfigured agent types are available for general use:
Canvas Agent — Extends the Dynamic Agent with document creation and editing capabilities. The agent can create, edit, and refine documents directly in a rich text editor within the UI. Use this for general-purpose queries, report generation, and interactive document authoring. Available as a pre-built template in the Store section of the Agent Gallery. Learn more in Canvas Agent.
Deep Research Agent — Extends the Dynamic Agent for research-intensive tasks requiring multi-step reasoning and comprehensive analysis. Coordinates multiple internal roles (research lead, researchers, writers, critics) to generate detailed reports. Use this for complex research queries that benefit from iterative analysis and structured documentation. Available as a pre-built template in the Store section of the Agent Gallery. Learn more in Deep Research Agent.
Additionally, the Workflow system provides automated multi-step process orchestration. Dynamic Agents can be integrated as intelligent nodes within workflows to provide reasoning, decision-making, and tool access capabilities. Learn more in Workflows Overview.
For details on configuring and extending Dynamic Agent behavior, see Dynamic Agent.
Toolkits
Each agent uses a toolkit, a predefined collection of tools that the agent can access to answer questions. Toolkits help scope agent capabilities to specific applications or environments. Toolkits are represented by the Type Genai.Agent.Dynamic.Toolkit.
The application includes preconfigured toolkits for each agent type:
- default_agent_toolkit — Standard tools for the Dynamic Agent, supporting both structured and unstructured data queries.
- canvas_agent_default_toolkit — Tools for the Canvas Agent, including document creation and editing capabilities.
- canvas_agent_deep_research_toolkit — Specialized tools for the Deep Research Agent, including iterative research capabilities.
Agent skills
An agent skill is a reusable instruction set that gives an agent domain-specific knowledge or behavior for a particular task. Skills define how the agent should approach a problem, what context to consider, and what output format to use. You can attach skills to agents to specialize their behavior without modifying their core configuration.
For more information, see Agentic Skills Overview and Create and Add Agent Skills.
Tools
Tools are modeled using the Type Genai.Agent.Dynamic.Tool and registered for agent use through a toolkit. For the framework definition and tool categories at the platform level, see Tools Overview.
Built-in tools
C3 Generative AI Application provides built-in tools through preconfigured toolkits that support both structured and unstructured data tasks:
Unstructured data tools:
- RAG Unified Tool — Performs Retrieval-Augmented Generation (RAG) on documents and emails. This tool combines semantic search, keyword matching, and metadata filtering to retrieve relevant content, then generates grounded answers based on that content. Ideal for answering questions from unstructured documents. Learn more in RAG Overview.
Structured data tools:
- Structured Retrieval Tool — Queries structured data using predefined settings. Use this tool to retrieve fields or records from a table or database with filtering, aggregation, and sorting.
- Fuzzy String Match Tool — Performs fuzzy string matching to find entities with partial or approximate names. Useful for handling typos, phrasing variations, or inconsistent data entries.
Visualization tools:
- Visualization Creation Tool — Generates dynamic visualizations including charts, plots, and geospatial maps. Returns Plotly figure objects for interactive display.
Document tools (Canvas Agent & Deep Research Agent):
- Document Creation Tool — Creates new documents on the canvas with filename, title, description, and content.
- Document Update Metadata Tool — Updates document title and description without changing content.
- Document Update Content Tool — Replaces entire document content for major revisions.
- Document Replace Content Tool — Replaces specific substrings in document for targeted edits and corrections.
Research tools (Deep Research Agent):
- Deep Research Tool — Orchestrates a multi-step research workflow that produces a structured document answering the user's query. Coordinates research leads, researchers, writers, and critics to gather information, generate insights, and assemble a final report. This is the primary tool in the
canvas_agent_deep_research_toolkit.
Web search tools:
- Web Search Tool — Searches the web in real-time when data is not available internally. Web search is not included in the default toolkits. To add web search to an agent, register a web search tool in the agent's toolkit. Learn more in Web Search Tool.
Custom tools
Create a custom tool when your use case involves a system, API, or workflow not already supported by platform tools. Examples include:
- Calling external services or APIs
- Triggering automation pipelines
- Connecting to internal systems or databases
- Performing custom computations or transformations
After you create and register a custom tool in a toolkit, it becomes available to agents in that toolkit. Learn more in Create Custom Tools.
Tool framework
C3 Generative AI uses a type-based architecture for tools and toolkits, structured using the following C3 Types:
- Genai.Agent.Dynamic — An agent that uses an LLM to interpret queries and interact with tools in its toolkit.
- Genai.Agent.Dynamic.Toolkit — A collection of tools available to an agent.
- Genai.Agent.Dynamic.Tool — A tool with a
call()method that agents can invoke. - Genai.Agent.Dynamic.Tool.Structured — A specialized tool type that extends
Genai.Agent.Dynamic.Toolfor structured data queries. The Structured Retrieval Tool uses this type.
This architecture supports extensibility by enabling developers to model, register, and manage tools and toolkits as structured objects. All tools provided by the application and any custom tools you create are configured to work with Dynamic Agents.
For the full set of tool-related types and the framework view, see Tools Overview.
How agents and tools work together
Agents and tools follow this execution process:
Parse the query — The agent receives your question and analyzes it to understand the intent and identify what information is needed.
Select tools — Based on the query, the agent selects one or more tools from its toolkit that are best suited to retrieve or process the required information. For example, a question about structured data triggers the Structured Retrieval Tool, while a document question triggers the RAG Unified Tool.
Execute tools — Each selected tool runs and returns results. Tools may be executed sequentially or in parallel depending on the query requirements. For example, the agent might search documents AND query structured data simultaneously.
Combine and synthesize — The agent takes the results from all tools and synthesizes them into a coherent, natural language response. It may also format the response (as text, tables, visualizations, or documents) based on the agent type and output requirements.
This approach enables agents to handle both simple queries (single tool) and complex queries (multiple tools with dependencies).
Example: Multi-tool query
When you ask, "How many engines failed last month, and what are the most common failure modes?", the agent:
- Recognizes this requires two pieces of information: failure count and failure mode details.
- Selects the Structured Retrieval Tool to query structured engine failure data and the RAG Unified Tool to search maintenance documents for failure mode descriptions.
- Executes both tools to retrieve failure records and relevant documentation.
- Combines the results into a comprehensive response with statistics and supporting details from the documents.
See also
Agent Architecture and Configuration:
- Dynamic Agent — Learn the Dynamic Agent architecture and framework that underlies all agent types. Understand system prompts, callbacks, and configuration options.
Preconfigured Agent Types:
- Canvas Agent — Pre-built template for general-purpose query answering with document creation and editing.
- Deep Research Agent — Deploy this agent for complex research workflows requiring multi-step reasoning and comprehensive analysis.
Workflow Automation:
- Workflows Overview — Build automated multi-step processes with intelligent agent nodes for orchestrated workflows.
Tools and Data Retrieval:
- RAG Overview — Learn how to implement retrieval-augmented generation for querying unstructured data.
- Web Search Tool — Enable real-time web search capabilities for agents.
Agent Customization:
- Custom Tools — Create custom tools to extend agent capabilities for your specific use cases.
- Agentic Skills Overview — Attach reusable skills to agents for domain-specific behavior.