CrewAI Agent Tools 2026: Give Your Crews Superpowers
CrewAI lets you orchestrate multiple agents working together. But by default, crews can only read, think, and write. They can't interact with the real world — they can't solve CAPTCHAs, relay OTPs, or browse bot-protected websites. This is where SiliconBridge comes in. By integrating SiliconBridge tools, your crew gains the ability to handle human verification gates, interact with protected services, and execute real-world tasks at scale.
This guide shows you how to build a complete CrewAI crew with SiliconBridge integration, step by step, with working code. By the end, you'll have a "Web Researcher" crew that can navigate bot-protected sites, solve CAPTCHAs, relay OTPs, and compile research reports.
Why CrewAI + SiliconBridge?
CrewAI is powerful for multi-agent orchestration. But it's limited without real-world tools. Typical CrewAI setup:
Without SiliconBridge: Agent researches a topic, reads public pages, writes a report. Limited to websites that don't require authentication or CAPTCHA.
With SiliconBridge: Agent researches across protected sites, solves CAPTCHAs when needed, logs in with OTP verification, compiles comprehensive reports from any source.
SiliconBridge bridges the gap between LLM capabilities and real-world constraints.
Installation
Install CrewAI and SiliconBridge:
pip install crewai siliconbridge
Get a free API key:
curl -X POST https://siliconbridge.xyz/api/signup/wallet \
-H "Content-Type: application/json" \
-d '{"wallet_address": "YOUR_ETH_ADDRESS"}'
Building Your First Crew with SiliconBridge
Here's a complete crew setup with a Web Researcher agent:
from crewai import Agent, Task, Crew
from crewai_tools import tool
from siliconbridge import SiliconBridge
# Initialize SiliconBridge
sb = SiliconBridge(api_key="your_api_key")
# Create tools
@tool
def solve_captcha(image_url: str) -> str:
"""Solve a CAPTCHA using human operators."""
result = sb.solve_captcha(image_url=image_url)
return f"CAPTCHA solved: {result['solution']}"
@tool
def relay_otp(phone_number: str) -> str:
"""Relay an OTP code to the task."""
result = sb.relay_otp(phone_number=phone_number)
return f"OTP code: {result['code']}"
@tool
def browse_protected_site(url: str, instructions: str) -> str:
"""Browse a site that requires verification."""
result = sb.web_browse(url=url, instructions=instructions)
return f"Browse result:\n{result['html'][:500]}..."
# Create the Web Researcher agent
web_researcher = Agent(
role="Web Researcher",
goal="Research information across the internet, including bot-protected sites",
backstory="Expert at finding information, solving CAPTCHAs, and handling verification gates",
tools=[solve_captcha, relay_otp, browse_protected_site],
verbose=True
)
# Create a research task
research_task = Task(
description="Research the latest AI agent frameworks and report on their capabilities",
agent=web_researcher,
expected_output="A comprehensive report on AI agent frameworks"
)
# Create the crew
crew = Crew(
agents=[web_researcher],
tasks=[research_task],
verbose=True
)
# Execute the crew
result = crew.kickoff()
print(result)
Complete Multi-Agent Crew Example
Here's a more advanced crew with multiple agents working together:
from crewai import Agent, Task, Crew
from crewai_tools import tool
from siliconbridge.integrations.crewai_tool import SiliconBridgeTools
# Initialize SiliconBridge tools
sb_tools = SiliconBridgeTools(api_key="your_api_key")
# Agent 1: Web Researcher (handles browsing and verification)
web_researcher = Agent(
role="Web Researcher",
goal="Find and extract information from any website, including protected ones",
backstory="Skilled at navigating bot-protected sites and solving verification challenges",
tools=[
sb_tools.web_browse,
sb_tools.solve_captcha,
sb_tools.relay_otp
],
verbose=True
)
# Agent 2: Data Analyst (processes the research)
data_analyst = Agent(
role="Data Analyst",
goal="Analyze and synthesize research data into insights",
backstory="Expert at finding patterns and trends in data",
tools=[], # No special tools needed for analysis
verbose=True
)
# Agent 3: Report Writer (compiles findings)
report_writer = Agent(
role="Report Writer",
goal="Write clear, comprehensive reports from research data",
backstory="Technical writer with expertise in making complex information accessible",
tools=[], # Uses writing capabilities only
verbose=True
)
# Define tasks for the crew
research_task = Task(
description="""
Research the following topic: AI agent frameworks in 2026
Look for:
- New frameworks released in 2026
- Comparison of features
- Real-world adoption rates
Navigate protected sites if needed, solve CAPTCHAs, handle verification codes.
Return detailed findings.
""",
agent=web_researcher,
expected_output="Comprehensive research data on AI agent frameworks"
)
analysis_task = Task(
description="Analyze the research and identify key trends and insights",
agent=data_analyst,
expected_output="Analysis with identified trends and patterns"
)
writing_task = Task(
description="Write a professional report based on the research and analysis",
agent=report_writer,
expected_output="A polished report with sections, formatting, and conclusions"
)
# Create and run the crew
crew = Crew(
agents=[web_researcher, data_analyst, report_writer],
tasks=[research_task, analysis_task, writing_task],
verbose=True,
process="sequential" # Tasks run in order
)
result = crew.kickoff()
print(result)
Using Pre-built SiliconBridge Tool Integration
For convenience, SiliconBridge provides a ready-to-use CrewAI integration:
from crewai import Agent, Task, Crew
from siliconbridge.integrations.crewai_tool import SiliconBridgeTools
# Get all pre-built tools
sb_tools = SiliconBridgeTools(api_key="your_api_key")
# Create agent with all available tools
agent = Agent(
role="Autonomous Worker",
goal="Complete tasks across any website",
backstory="Can navigate, verify, and complete workflows",
tools=[
sb_tools.solve_captcha, # Solve CAPTCHAs
sb_tools.relay_otp, # Handle OTP codes
sb_tools.phone_verify, # Phone verification
sb_tools.web_browse, # Browse protected sites
sb_tools.kyc_verify # KYC document verification
],
verbose=True
)
# Create task
task = Task(
description="Sign up for the service at example.com using email test@example.com and phone +1234567890",
agent=agent,
expected_output="Confirmation that signup is complete"
)
# Run crew
crew = Crew(agents=[agent], tasks=[task])
result = crew.kickoff()
print(result)
Real-World Example: Account Signup Crew
A practical crew that signs up for multiple accounts across different platforms:
from crewai import Agent, Task, Crew
from siliconbridge.integrations.crewai_tool import SiliconBridgeTools
sb = SiliconBridgeTools(api_key="your_api_key")
# Agent for signup automation
signup_agent = Agent(
role="Account Manager",
goal="Create accounts on services and handle all verification steps",
backstory="Expert at navigating signup flows and solving verification challenges",
tools=[
sb.web_browse,
sb.solve_captcha,
sb.relay_otp
],
verbose=True
)
# Create signups for multiple services
services = [
"https://service1.com/signup",
"https://service2.com/signup",
"https://service3.com/signup"
]
tasks = []
for service_url in services:
task = Task(
description=f"""
Sign up for {service_url}:
- Email: signup@example.com
- Password: SecurePass123
- Phone: +1234567890
Handle any verification gates (CAPTCHAs, OTP codes, phone verification).
Return confirmation of successful signup.
""",
agent=signup_agent,
expected_output=f"Confirmation of signup at {service_url}"
)
tasks.append(task)
# Run crew
crew = Crew(
agents=[signup_agent],
tasks=tasks,
verbose=True
)
result = crew.kickoff()
print(result)
Cost Optimization for Crews
When running multiple agents and tasks, costs add up. Optimize:
Batch operations: Instead of calling tools separately, combine related operations. One web_browse with complex instructions is cheaper than separate CAPTCHA and OTP calls.
Monitor usage: Set up logging to track which tools are called most frequently. Optimize the crew to use cheaper operations.
Use right tools for each task: Simple browsing doesn't need web_browse ($2–5). Just use solve_captcha ($0.50) if only CAPTCHA solving is needed.
from crewai import Agent, Task, Crew
from siliconbridge.integrations.crewai_tool import SiliconBridgeTools
import logging
# Set up cost tracking
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
sb = SiliconBridgeTools(api_key="your_api_key")
# Create agent with logging
agent = Agent(
role="Cost-Conscious Worker",
goal="Complete tasks efficiently and inexpensively",
backstory="Optimizes for cost while maintaining quality",
tools=[sb.solve_captcha, sb.relay_otp, sb.web_browse],
verbose=True
)
# Log tool usage for cost tracking
task = Task(
description="Complete this workflow efficiently",
agent=agent,
expected_output="Task complete with cost tracking"
)
# Execute and monitor
crew = Crew(agents=[agent], tasks=[task])
result = crew.kickoff()
# Analyze costs
logger.info(f"Crew execution complete")
logger.info(f"Tools used and estimated costs:")
logger.info(f" - solve_captcha: $0.50 per task")
logger.info(f" - relay_otp: $1.00 per task")
logger.info(f" - web_browse: $2-5 per task")
Integration with LangChain Crews
CrewAI can also work with LangChain tools. For comparison, see our LangChain integration guide.
Advanced: Custom Tools for Your Workflow
If SiliconBridge's tools don't cover your specific use case, build custom tools:
from crewai import Agent
from crewai_tools import tool
from siliconbridge import SiliconBridge
sb = SiliconBridge(api_key="your_api_key")
@tool
def custom_verification(task_type: str, params: dict) -> str:
"""Custom tool for specific verification workflows."""
if task_type == "two_factor":
# Custom 2FA handling
result = sb.relay_otp(phone_number=params.get("phone"))
return f"2FA code: {result['code']}"
elif task_type == "document_verify":
# Custom document verification
result = sb.kyc_verify(
document_url=params.get("doc_url"),
user_id=params.get("user_id")
)
return f"Document verified: {result['status']}"
return f"Unknown task type: {task_type}"
# Use in agent
agent = Agent(
role="Custom Worker",
tools=[custom_verification],
verbose=True
)
Troubleshooting and Best Practices
Tools timing out: Human-in-the-loop tools take 30–120 seconds. Set task timeouts appropriately. If tasks are timing out, it's likely the human operator is unavailable or there's an API issue.
Rate limiting: CrewAI might call tools rapidly. SiliconBridge queues requests fairly, but massive parallel calls might be delayed. Spread requests across time or use sequential task processing.
Testing crews: Test individual agents with one task before scaling to multiple tasks. This helps identify tool issues early.
Monitoring: Log all tool calls for debugging. If a crew fails, trace which tool call failed and why. See our comparison guide for debugging tips.
Additional Resources
For more on building autonomous agents, see:
How to build agents that never get blocked
LangChain human-in-the-loop integration
CAPTCHA solving API for agents
MCP tool discovery and the llms.txt standard
Conclusion
CrewAI crews are powerful for multi-agent orchestration, but they come alive when integrated with real-world tools. SiliconBridge gives your crews the ability to navigate bot-protected sites, solve CAPTCHAs, handle phone verification, and execute real workflows at scale.
Start with $10 free credits — enough to test multiple crews. No credit card required. Build your first crew in 10 minutes, then scale to orchestrate thousands of tasks across multiple agents.