Predefined Tools
Ready-to-use tools provided by Connic. Import these directly into your agents without writing any code.
| Tool Name | Description | Docs |
|---|---|---|
| query_knowledge | Search the knowledge base for relevant information | Learn more |
| store_knowledge | Store new information in the knowledge base | Learn more |
| delete_knowledge | Remove entries from the knowledge base | Learn more |
| trigger_agent | Trigger another agent within the same project | Below |
web_search+1 run/call | Search the web for real-time information | Below |
How Predefined Tools Work
Predefined tools are built-in capabilities that Connic provides out of the box. Unlike custom tools where you write Python functions, predefined tools are ready to use. Just add their name to your agent's tools list.
- No Code Required: Just add the tool name to your YAML config. Implementation is handled by Connic.
- Secure by Default: Tools run in isolated environments with proper authentication and access controls.
- Environment Scoped: Data is isolated per environment. Dev and prod never mix.
# agents/assistant.yaml
version: "1.0"
name: assistant
model: gemini/gemini-2.5-pro
description: "An assistant with knowledge and orchestration capabilities"
system_prompt: |
You have access to a persistent knowledge base.
Search it before answering questions.
tools:
- query_knowledge # Predefined tool - no code needed
- store_knowledge
- trigger_agentUsing in Custom Tools
You can also import and call predefined tools directly from your custom Python tools. This lets you build complex orchestration logic that combines knowledge queries with agent triggers.
from connic.tools import trigger_agent, query_knowledge, store_knowledge, delete_knowledge, web_search# tools/orchestration.py
from connic.tools import trigger_agent, query_knowledge
async def research_and_summarize(topic: str) -> dict:
"""Research a topic and return a summary.
Args:
topic: The topic to research
Returns:
A dictionary with the research summary
"""
# First, check if we have relevant knowledge
knowledge = await query_knowledge(
query=f"Information about {topic}",
max_results=5
)
# Build context from knowledge base
context = "\n".join([r["content"] for r in knowledge.get("results", [])])
# Trigger the researcher agent with context
result = await trigger_agent(
agent_name="researcher",
payload={"topic": topic, "context": context}
)
return {
"topic": topic,
"summary": result["response"],
"sources": len(knowledge.get("results", []))
}The custom tool above can be used in your agent YAML just like any other tool:
tools:
- orchestration.research_and_summarizetrigger_agent
Orchestrate multiple agents from a single agent
How It Works
The trigger_agent tool lets one agent call another agent within the same project. Use it to build pipelines, delegate specialized tasks, or coordinate complex workflows across multiple agents.
# agents/orchestrator.yaml
version: "1.0"
name: orchestrator
model: gemini/gemini-2.5-pro
description: "Coordinates other agents"
system_prompt: |
You orchestrate tasks by delegating to specialized agents.
tools:
- trigger_agentParameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| agent_name | string | required | Name of the agent to trigger |
| payload | any | required | Data to send to the agent (dict, list, or string) |
| wait_for_response | bool | true | Wait for the agent to complete and return its response |
| timeout_seconds | int | 60 | Max wait time (only applies if wait_for_response=True) |
Return Value
Returns: run_id, status ("completed", "failed", or "timeout"),response (the agent's output), error (if failed). If wait_for_response=False, only run_id is returned.
web_search
+1 run per callSearch the web for real-time information
How It Works
The web_search tool allows your agent to search the web for real-time information. It returns an AI-generated summary along with a list of relevant search results including titles, URLs, and content snippets.
Pricing: Each call to web_search adds 1 additional run to your billing. For example, a run with 2 web searches counts as 3 runs (1 base + 2 searches).
# agents/researcher.yaml
version: "1.0"
name: researcher
model: openai/gpt-4o
description: "Research agent with web search"
system_prompt: |
You are a research assistant with web search capabilities.
Search the web to find current information and cite sources.
tools:
- web_searchParameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| query | string | required | The search query |
| max_results | int | 5 | Number of results to return (max: 10) |
Return Value
Returns a dictionary with:
answer- AI-generated summary of the search findingsresults- List of search results, each containing:title- Page titleurl- Page URLcontent- Snippet of page contentscore- Relevance score