Connic
Connic Composer SDK

Predefined Tools

Ready-to-use tools provided by Connic. Import these directly into your agents without writing any code.

Available Predefined Tools
Tool NameDescriptionDocs
query_knowledgeSearch the knowledge base for relevant informationLearn more
store_knowledgeStore new information in the knowledge baseLearn more
delete_knowledgeRemove entries from the knowledge baseLearn more
trigger_agentTrigger another agent within the same projectBelow
web_search+1 run/call
Search the web for real-time informationBelow

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.
yaml
# 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_agent

Using 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
python
# 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:

yaml
tools:
  - orchestration.research_and_summarize

trigger_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.

yaml
# 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_agent

Parameters

ParameterTypeDefaultDescription
agent_namestringrequiredName of the agent to trigger
payloadanyrequiredData to send to the agent (dict, list, or string)
wait_for_responsebooltrueWait for the agent to complete and return its response
timeout_secondsint60Max 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 call

Search 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).

yaml
# 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_search

Parameters

ParameterTypeDefaultDescription
querystringrequiredThe search query
max_resultsint5Number of results to return (max: 10)

Return Value

Returns a dictionary with:

  • answer - AI-generated summary of the search findings
  • results - List of search results, each containing:
    • title - Page title
    • url - Page URL
    • content - Snippet of page content
    • score - Relevance score