Skip to main content

What Are Tools in Junis?

Tools are specialized functions that agents can call to perform specific actions or access external data. They extend your agent’s capabilities beyond text generation, enabling real-world interactions. Think of tools as skills your agents can learn:
  • 🔍 Search tools: Find information from web, databases, or documents
  • 📄 Document tools: Process PDF, Excel, Word, PowerPoint files
  • 🔌 External connectors: MCP, Composio OAuth (200+ apps), GitHub, Firecrawl
  • 🧠 RAG tools: Search and create knowledge base documents with AI-powered retrieval
  • 💾 Memory tools: Read and update persistent user memory across conversations
  • Soul tools: Read and update organization AI personality
Agent Intelligence: Agents automatically decide when and how to use tools based on user requests. You don’t need to manually trigger them.

Tool Types

Junis supports four types of tools, each designed for specific use cases:

Regular Tools

Python FunctionsCustom async functions you build for your specific needs.Examples: Search databases, call APIs, process data

Claude Skills

Official Anthropic ToolsPrebuilt document processors powered by Claude.Examples: PDF extraction, Excel analysis, PPTX creation

External Connectors

Third-Party IntegrationsConnect to external systems and services.Examples: Salesforce, DataLab, GitHub, Firecrawl (via MCP)

RAG Tools

Document RetrievalAuto-generated search tools for uploaded documents.Examples: Company policies, employee handbooks, product specs

How Agents Use Tools

🤖 Automatic Tool Selection

Agents use tools intelligently based on:
  1. User Request: What the user is asking for
  2. Tool Descriptions: What each tool can do (from docstrings)
  3. Conversation Context: Previous messages and results
Example Workflow:
User: "Find the latest news about artificial intelligence"

Agent thinks:
  - User wants to search the web for current information
  - I have a tool called "google_search"
  - Its description says it searches the web for real-time information
  - I should use this tool with query="latest artificial intelligence news"

Agent calls: google_search("latest artificial intelligence news")

Tool returns: {
  "results": [
    {
      "title": "AI Breakthrough in 2026",
      "url": "https://example.com/ai-news",
      "snippet": "Recent developments in AI technology..."
    }
  ]
}

Agent responds: "I found recent AI news. Here are the latest developments: AI Breakthrough in 2026..."
No Manual Intervention: Once tools are configured, agents use them automatically without user or admin prompting.

📊 Tool Execution Flow


Available Built-in Tools

Junis provides a comprehensive set of prebuilt tools ready to use:

Document Processing (Claude Skills)

claude_pdf_processor
  • Extract text from PDFs
  • Extract tables and data
  • Create new PDFs
  • Merge multiple PDFs
  • Convert to images
Use Case: “Extract all customer information from this invoice PDF”

Search Tools

Web Search

google_searchSearch the web for real-time information using Google.Parameters:
  • query (str): Search query
Returns: Search results with titles, URLs, and snippetsUse Case: “Find the latest AI news” or “Search for Python tutorials”

Built-in Web Search (LLM Feature)

NEW: Agents can now perform web searches automatically during response generation without explicitly calling a tool.
Enable Web Search in Admin > Agents > Edit Agent:
Agent Configuration:
  Enable Web Search: ✅ ON
How It Works:
  • When enabled, the LLM can automatically search the web during response generation
  • No explicit tool call required - the model decides when to search
  • Uses LiteLLM’s web_search_options with search_context_size: "medium"
Difference from google_search Tool:
FeatureBuilt-in Web Searchgoogle_search Tool
ActivationAutomatic (LLM decides)Explicit tool call
ConfigurationToggle in Agent settingsAssign tool to agent
Best ForGeneral knowledge queriesTargeted searches
When to Use: Enable for agents that need to answer questions about current events, recent news, or real-time information without explicit search requests.

Memory & Soul Tools (Auto-Injected)

Automatic: These tools are automatically available to all orchestrator agents. No configuration needed.
update_user_memory(action, content)Read or update the user’s persistent profile (name, role, preferences).Actions:
  • read: View the user’s current profile
  • update: Save updated profile content
Use Case: Agent learns user’s name, role, or communication preferences during conversation
Learn more about these systems: Memory System | Soul & Identity

RAG Document Upload (Agent Tool — Requires Configuration)

upload_rag_document(datastore_name, file_name, content, description?) Agents can generate and store their own knowledge base documents as Markdown files. This is unique to Junis — your AI agents can research, synthesize, and save information for future retrieval.
Configuration Required: Unlike memory and soul tools (which are auto-injected), upload_rag_document must be explicitly assigned to an agent via Admin > Agents > Edit Agent > Tools.
How it works:
  1. Agent generates content (e.g., research summary, analysis report)
  2. Agent calls upload_rag_document with the content as Markdown
  3. A .md file is created, uploaded to a RAG DataStore, and indexed
  4. Future conversations can search and retrieve this knowledge
Use Case: “Research the latest AI trends and save a summary to our knowledge base”
Agent:
1. Searches the web for AI trends
2. Synthesizes findings into a structured document
3. Calls upload_rag_document(
     datastore_name="Research Library",
     file_name="ai-trends-q1-2026",
     content="# AI Trends Q1 2026\n\n## Key Developments..."
   )
4. Document is indexed and searchable by all agents
DataStore Auto-Creation: If the specified DataStore doesn’t exist, the tool creates it automatically. The file extension .md is auto-appended if not provided.

Payment Tools (AP2/x402 Protocol)

Premium Feature: Payment tools enable USDC-based agent usage fees with 80/20 revenue split (Agent Owner 80%, Platform 20%).
require_payment(agent_id, network?)Request payment before agent execution.When to Use:
  • Premium agents that charge per use
  • Computationally expensive operations
  • Third-party API costs
Returns:
  • Payment requirements (amount, wallet, network)
  • EIP-3009 nonce for signature
  • 80/20 split details

When to Use Tools

✅ Use Tools When You Need To:

  • Access External Data: Databases, APIs, file storage
  • Perform Complex Operations: File processing, calculations, analysis
  • Integrate Third-Party Services: Salesforce, GitHub, Firecrawl
  • Retrieve Uploaded Documents: RAG search through company docs

❌ Don’t Build Tools For:

  • Simple Text Generation: Agents already excel at this
  • One-Time Tasks: Better to do manually
  • Highly Variable Logic: Better in agent instructions
  • Duplicate Functionality: Use existing tools or MCP platforms

Getting Started with Tools

Step 1: Choose Your Approach

Fastest: Junis provides 15+ prebuilt tools.
  1. Go to Admin > Agents
  2. Edit your agent
  3. Select tools from the Tools section
  4. Save
Done! Your agent can now use those tools.

Step 2: Configure Agent Tools

Admin DashboardAgentsEdit Agent
Agent Configuration:
  Name: Customer Support Agent
  Type: LLM_AGENT
  Tools:
    Regular Tools:
      - claude_pdf_processor
      - google_search
    RAG Tools:
      - rag_company-policies_1234567890
  MCP Platforms:
    - GitHub (for repository management)
    - Firecrawl (for web scraping)

Step 3: Test with Chat

You: "Search for recent AI trends and create a GitHub issue to track them"

Agent:
1. Uses google_search("recent AI trends 2026")
2. Formats the results
3. Uses GitHub MCP to create issue

Response: "I found the latest AI trends and created a tracking issue in your repository."

Tool Best Practices

✅ DO:
  • Choose specific tools for specific tasks
  • Write clear tool descriptions (docstrings)
  • Test tools individually before assigning to agents
  • Monitor tool usage in logs
  • Handle errors gracefully
  • Use RAG for frequently accessed documents
❌ DON’T:
  • Add too many tools (max 10 per agent recommended)
  • Use tools with unclear purposes
  • Forget to update tool descriptions
  • Ignore tool errors in production
  • Hard-code sensitive data in tools

Real-World Examples

1. Customer Support Agent

Tools:
  • claude_pdf_processor: Extract info from uploaded docs
  • GitHub MCP: Create support tickets as issues
  • rag_faq_documents: Search company FAQ
User: “A customer asked about our return policy” Agent Flow:
  1. Search rag_faq_documents for “return policy”
  2. Extract relevant sections
  3. Format a friendly response
  4. Optionally create GitHub issue for tracking

2. Data Analysis Agent

Tools:
  • claude_xlsx_processor: Analyze Excel files
  • google_search: Find market trends and research
  • claude_pptx_creator: Generate presentation
User: “Analyze Q4 sales and create a presentation” Agent Flow:
  1. Use claude_xlsx_processor to analyze sales spreadsheet
  2. Use google_search for market research and context
  3. Use claude_pptx_creator to generate slides

3. Premium Agent with Payments

Tools:
  • require_payment: Gate agent access with USDC payment
  • claude_pdf_processor: Document processing
  • google_search: Research capabilities
User: “Run premium analysis workflow” Agent Flow:
  1. Call require_payment(agent_id="premium_agent")
  2. Wait for user payment (MetaMask)
  3. Verify payment signatures
  4. Proceed with premium analysis using available tools

Tool Categories Reference

CategoryToolsPrimary Use
Document Processingclaude_pdf_processor, claude_xlsx_processor, claude_pptx_creator, claude_docx_processorFile analysis, creation, extraction
Web Searchgoogle_search, built-in web searchReal-time web information retrieval
Memoryupdate_user_memory, save_to_eternal_memoryPersistent user memory management
Soul & Identityupdate_soul, update_identityOrganization AI personality
RAG Searchrag_ (auto-generated)Document knowledge retrieval
RAG Uploadupload_rag_documentAgent-generated knowledge creation
Paymentrequire_payment, verify_paymentPremium agent gating
ExternalMCP platforms, Composio OAuthThird-party service integration

Performance Considerations

⚡ Tool Execution Speed

Tool TypeTypical LatencyNotes
Database Query100-500msDepends on query complexity
External API1-5 secondsNetwork dependent
Claude Skills2-10 secondsFile processing time
RAG Search1-3 secondsVertex AI Search latency
Payment5-30 secondsUser signature + on-chain settlement
Optimization Tip: Group multiple simple queries into batch tools rather than making agents call tools repeatedly.

Troubleshooting

Symptom: Tool is configured but agent doesn’t call itPossible Causes:
  • Tool description (docstring) unclear
  • Agent instruction doesn’t mention tool usage
  • Tool name not intuitive
Solution:
  1. Review tool docstring for clarity
  2. Add tool usage examples to agent instruction
  3. Test with explicit request: “Use [tool_name] to…”
Symptom: Tool called but no result returnedPossible Causes:
  • Tool has unhandled exception
  • Missing required parameters
  • External service down
Solution:
  1. Check agent session logs for errors
  2. Test tool directly via API
  3. Verify all environment variables set
  4. Check external service status
Symptom: RAG search completes but finds nothingPossible Causes:
  • Documents not indexed yet (still processing)
  • Search query too specific
  • DataStore not created properly
Solution:
  1. Go to Team > RAG Knowledge and check indexing status
  2. Wait for “COMPLETED” status (can take 5-60 minutes)
  3. Try broader search terms
  4. Re-upload documents if status is “FAILED”
Symptom: require_payment call takes too longPossible Causes:
  • Network congestion (Base blockchain)
  • CDP Facilitator API slow
  • User hasn’t signed MetaMask prompt
Solution:
  • Payment tools have 30-second timeout
  • Check Base network status: https://status.base.org
  • Ensure user completes MetaMask signature promptly
  • For testnet, use Base Sepolia (faster, free)

What’s Next?

Memory System

Persistent AI memory across conversations

Soul & Identity

Define your AI team’s personality

RAG Setup

Upload documents and create knowledge bases

MCP Platforms

Connect external services via MCP and Composio

Additional Resources

Need Help? Contact us at contact@junis.ai for assistance with tool development and custom implementations.