Third-party tools allow you to integrate existing tool ecosystems from frameworks like LangChain, CrewAI, and others. This dramatically expands your agent's capabilities by leveraging battle-tested tools from the broader AI community.
Sign in to save downloads to your library and vote.
Preview
๐ Third-party Tools
Third-party tools allow you to integrate existing tool ecosystems from frameworks like LangChain, CrewAI, and others. This dramatically expands your agent's capabilities by leveraging battle-tested tools from the broader AI community.
๐ฏ What You'll Learn
- LangChain Integration: Using LangChain's extensive tool library
- CrewAI Tools: Leveraging CrewAI's specialized agent tools
- Tool Adapters: How ADK wraps external tools
- Ecosystem Benefits: Advantages of using established tool libraries
- Best Practices: When and how to use third-party tools
๐ง Core Concept: Third-party Tools
Third-party tools are external libraries wrapped for ADK:
- LangChain Tools: Web scraping, document loaders, APIs
- CrewAI Tools: Web scraping, file operations, specialized functions
- Custom Integrations: Any external service or library
- Wrapper Classes: ADK provides adapters for seamless integration
Key Advantages
- โ Rich Ecosystem: Access to hundreds of pre-built tools
- โ Battle-tested: Proven tools used by thousands of developers
- โ Community Support: Active communities and documentation
- โ Rapid Development: Don't reinvent the wheel
๐ง Available Third-party Integrations
1. LangChain Tools
- Purpose: Comprehensive tool ecosystem
- Examples: Web scraping, file operations, APIs
- Benefits: Mature, well-documented tools
2. CrewAI Tools
- Purpose: Specialized agent tools
- Examples: Web scraping, file operations, content processing
- Benefits: Optimized for agent workflows
3. Custom Integrations
- Purpose: Any external service or library
- Examples: Database connectors, API clients
- Benefits: Unlimited extensibility
๐ Tutorial Examples
This sub-example includes two practical implementations:
๐ LangChain Agent
Location: ./langchain_agent/
- Web Search: DuckDuckGo search integration for real-time information
- Wikipedia Integration: Access to encyclopedic knowledge and articles
- Research Capabilities: Comprehensive research combining multiple sources
- Content Analysis: Information synthesis and source citation
๐ CrewAI Agent
Location: ./crewai_agent/
- Website Operations: Website content search and scraping capabilities
- File System Tools: Directory search and file reading operations
- Content Extraction: Advanced web scraping and data extraction
- Document Processing: Local file analysis and content processing
๐ Project Structure
4_3_thirdparty_tools/
โโโ README.md # This file - third-party tools guide
โโโ requirements.txt # Dependencies for third-party tools
โโโ ../env.example # Environment variables template (shared)
โโโ langchain_agent/ # LangChain integration
โ โโโ __init__.py
โ โโโ agent.py # Agent with LangChain tools
โโโ crewai_agent/ # CrewAI integration
โโโ __init__.py
โโโ agent.py # Agent with CrewAI tools
๐ฏ Learning Objectives
By the end of this sub-example, you'll understand:
- โ How to integrate LangChain tools with ADK
- โ How to use CrewAI tools in ADK agents
- โ Best practices for third-party tool integration
- โ When to choose third-party vs custom tools
- โ How to handle tool compatibility issues
๐ Getting Started
-
Set up environment:
cd 4_3_thirdparty_tools # Copy the environment template cp ../env.example .env # Edit .env and add your Google AI API key # Get your API key from: https://aistudio.google.com/ -
Install Dependencies: Install required packages
pip install -r requirements.txt -
Run the agents:
# Start the ADK web interface adk web # In the web interface, select: # - langchain_agent: For web search and Wikipedia research # - crewai_agent: For website scraping and file operations -
Try the agents:
- LangChain Agent: "Search for latest AI news", "Tell me about machine learning"
- CrewAI Agent: "Scrape content from example.com", "Search for Python files in current directory"
-
Compare Approaches: See the differences and benefits of each tool ecosystem
๐ก Pro Tips
- Choose Established Tools: Use well-maintained libraries
- Read Documentation: Understand tool limitations and requirements
- Handle Dependencies: Manage external library versions carefully
- Test Integration: Verify tool compatibility with ADK
- Monitor Performance: Some tools may be slower than custom implementations
๐ง Integration Patterns
1. LangChain Tool Wrapper
from google.adk.tools.langchain_tool import LangchainTool
from langchain_community.tools import DuckDuckGoSearchRun
# Wrap LangChain tool for ADK
search_tool = LangchainTool(DuckDuckGoSearchRun())
2. CrewAI Tool Wrapper
from google.adk.tools.crewai_tool import CrewaiTool
from crewai_tools import ScrapeWebsiteTool, DirectorySearchTool, FileReadTool
# Basic tool - minimal configuration
scrape_tool = CrewaiTool(
name="scrape_website",
description="Scrape and extract content from websites",
tool=ScrapeWebsiteTool(
config=dict(
llm=dict(
provider="google", # Use Google instead of default OpenAI
config=dict(model="gemini-3-flash-preview"),
),
)
)
)
# Search tool - needs embeddings for semantic search
search_tool = CrewaiTool(
name="website_search",
description="Search for content within websites",
tool=WebsiteSearchTool(
config=dict(
llm=dict(
provider="google",
config=dict(model="gemini-3-flash-preview"),
),
embedder=dict(
provider="google",
config=dict(
model="gemini-embedding-001",
task_type="retrieval_document",
),
),
)
)
)
3. Custom Integration Pattern
from google.adk.tools import FunctionTool
import external_library
def custom_integration(query: str) -> dict:
"""Integrate with external library."""
result = external_library.process(query)
return {"result": result, "status": "success"}
# Use as function tool
tool = FunctionTool(custom_integration)
๐ง Common Third-party Tools
LangChain Tools
- DuckDuckGoSearchRun: Web search
- WebBaseLoader: Web scraping
- WikipediaQueryRun: Wikipedia search
- PythonREPLTool: Python code execution
- ShellTool: Shell command execution
CrewAI Tools
- ScrapeWebsiteTool: Web scraping and content extraction
- DirectorySearchTool: File system search and exploration
- FileReadTool: File reading and content analysis
Custom Integrations
- Database connectors: SQLAlchemy, MongoDB
- API clients: REST, GraphQL
- File processors: PDF, Excel, CSV
- Cloud services: AWS, GCP, Azure
๐จ Important Considerations
- Dependencies: Third-party tools add external dependencies
- Compatibility: Ensure tool versions work with ADK
- Performance: Some tools may be slower than custom implementations
- Maintenance: External tools may change or become deprecated
- Security: Validate external tool safety and permissions
๐ง CrewAI Model Configuration
โ ๏ธ Important: CrewAI tools use OpenAI models by default. When using Google ADK, configure them to use Google models for consistency:
# โ Default - Uses OpenAI models
tool = WebsiteSearchTool()
# โ
Correct configuration - All tools need both LLM and embeddings
tool = ScrapeWebsiteTool(
config=dict(
llm=dict(
provider="google",
config=dict(model="gemini-3-flash-preview"),
),
embedder=dict(
provider="google",
config=dict(
model="gemini-embedding-001",
task_type="retrieval_document",
),
),
)
)
# โ
Same configuration pattern for all tools
tool = DirectorySearchTool(
config=dict(
llm=dict(
provider="google",
config=dict(model="gemini-3-flash-preview"),
),
embedder=dict(
provider="google",
config=dict(
model="gemini-embedding-001",
task_type="retrieval_document",
),
),
)
)
Key Points:
- LLM Config: Always set
provider="google"to avoid OpenAI defaults - Embeddings: Required for all CrewAI tools to prevent OpenAI fallback
- Available providers:
google,openai,anthropic,ollama,llama2, etc.
๐ง Common Use Cases
Web and Research
- Web scraping and content extraction
- Website content analysis
- Document processing
- Content research and analysis
File Operations
- File system search and exploration
- File reading and content analysis
- Directory navigation
- Local file processing
Development Tools
- Code execution
- Documentation search
- Version control operations
- Testing utilities
Cloud and Services
- Cloud storage operations
- Email and messaging
- Authentication services
- Monitoring and logging
๐ Comparison: Third-party vs Custom vs Built-in
| Aspect | Third-party | Custom | Built-in |
|---|---|---|---|
| Development Time | Fast | Slow | Instant |
| Flexibility | Medium | High | Low |
| Performance | Variable | High | Highest |
| Maintenance | External | Internal | None |
| Features | Rich | Tailored | Basic |
| Dependencies | Many | Few | None |
Ingestion metadata
- Source catalog
- awesome-llm-apps
- Repository
- Shubhamsaboo/awesome-llm-apps ยท main
- File path
- ai_agent_framework_crash_course/google_adk_crash_course/4_tool_using_agent/4_3_thirdparty_tools/README.md
- Last refreshed
- 7/23/2026, 10:39:09 PM (4h ago)
- Refresh schedule
- Daily ยท 03:00 UTC
- Dedupe status
- Unique ยท deduped by (source, url)