Composio Cold Email: Use FoxReach as a Composio Tool
Composio is how agents consume 200+ SaaS tools through one catalog. FoxReach appears in that catalog so your LangChain, CrewAI, or OpenAI Agents SDK pipeline can run cold email without direct integration work. Here is when that setup wins vs direct MCP, and how to wire it up.
Usama Navid
Founder, FoxReach
What Composio is
Composio is an agent tool platform - a catalog of pre-integrated SaaS tools that your AI agent can call through one unified interface. Instead of writing custom wrappers for Gmail + Slack + FoxReach + Notion + Linear, you authenticate each once in the Composio dashboard, and every agent framework reads them from the same catalog.
For cold email specifically, Composio makes sense when FoxReach is one tool among many in a larger agent workflow. If your agent needs to read a Linear ticket, query a Postgres database, send a Slack update, AND run a cold email campaign, Composio collapses that from 4 separate integrations into 4 entries in one catalog.
Prerequisites
A Composio account
Free tier available at composio.dev. Generate an API key from the dashboard.
A FoxReach API key
Free plan works. Settings -> API Keys in FoxReach.
Python 3.10+ or TypeScript
Composio ships SDKs for both. Examples below use Python.
An agent framework
LangChain, CrewAI, OpenAI Agents SDK, or any Composio-supported framework.
Connect FoxReach to Composio
Two steps. Authenticate once in the Composio dashboard; reference the integration from your agent code.
- In the Composio dashboard, find FoxReach in the tool catalog. Click Connect.
- Paste your FoxReach API key. Composio stores it encrypted and uses it whenever an agent calls a FoxReach tool.
- Note the connected account ID - your agents reference this to identify which FoxReach workspace to use.
pip install composio-corefrom composio import ComposioToolSet, App
toolset = ComposioToolSet()
# List FoxReach actions Composio knows about
tools = toolset.get_tools(apps=[App.FOXREACH])
for t in tools:
print(t.name, "-", t.description[:80])Use from LangChain
Composio wraps each FoxReach action as a LangChain tool. Pass them straight into any agent that accepts LangChain tools.
from composio_langchain import ComposioToolSet, App
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
toolset = ComposioToolSet()
tools = toolset.get_tools(apps=[App.FOXREACH])
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
prompt = ChatPromptTemplate.from_messages([
("system", "You manage cold email campaigns. Use FoxReach tools from Composio."),
("human", "{input}"),
("placeholder", "{agent_scratchpad}"),
])
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
executor.invoke({
"input": "Create a draft campaign called 'Design agencies Q2' and add a 3-step sequence.",
})Use from CrewAI
CrewAI integration follows the same pattern. Composio's crewai adapter returns CrewAI-compatible tool objects you attach to an agent's tools list.
from composio_crewai import ComposioToolSet, App
from crewai import Agent, Task, Crew
toolset = ComposioToolSet()
tools = toolset.get_tools(apps=[App.FOXREACH])
sender = Agent(
role="Outbound Sender",
goal="Create a draft campaign and import leads via FoxReach Composio tools.",
backstory="You ship drafts into FoxReach. You never start a campaign - humans do that.",
tools=tools,
llm="gpt-4o-mini",
)
task = Task(
description="Create a campaign called 'March founders', 3-step sequence. Draft only.",
expected_output="campaign_id",
agent=sender,
)
Crew(agents=[sender], tasks=[task]).kickoff()When to use Composio vs direct MCP
Both paths work. Pick by how many tool providers your agent consumes.
Direct FoxReach MCP
- Lowest latency - no proxy hop
- No extra platform fee beyond FoxReach
- Full tool coverage (23 MCP tools)
- Works with Claude Desktop, Cursor natively
- Best for cold-email-primary agents
Composio + FoxReach
- One auth dashboard for all tool providers
- Unified tool interface across SaaS
- Adds a network hop + Composio billing
- Works with any Composio-supported framework
- Best when consuming 5+ SaaS tools in one agent
For most teams building their first agent, direct FoxReach MCP is the simpler start. Swap to Composio when the agent grows into multi-tool territory and you want centralized authentication.
Common pitfalls
Double-wrapping FoxReach MCP through Composio
You can connect FoxReach to your agent via either Composio OR direct MCP. Doing both simultaneously means two copies of the FoxReach tool catalog, and the LLM picks ambiguously. Pick one per agent.
Hitting Composio rate limits before FoxReach rate limits
Composio proxies tool calls through its own infrastructure, which applies its own quotas. At high volume, you may hit Composio's limit before FoxReach's (100 req/min). Check your Composio plan before going above ~50 concurrent agent loops.
Using Composio for production when direct MCP would be cleaner
Composio adds one network hop and one authentication layer between your agent and FoxReach. For a single-framework production deployment, direct MCP is faster and simpler. Composio earns its complexity when you consume 10+ different tool providers.
Frequently asked questions
What is Composio?
Composio is a platform that provides pre-integrated tool catalogs for AI agents. Instead of writing individual integrations with each SaaS, you connect your agent to Composio and get access to hundreds of tools (Gmail, Slack, Linear, Notion, GitHub, FoxReach, etc.) via a unified interface. Framework-agnostic - works with LangChain, CrewAI, OpenAI Agents SDK, and others.
Does FoxReach show up in Composio automatically?
FoxReach is discoverable in Composio once the integration is enabled. Authenticate FoxReach once in the Composio dashboard (paste your API key), then every agent you build through Composio can call FoxReach tools without you writing wrappers.
Can I use Composio + FoxReach without MCP?
Yes. Composio's direct Python/TypeScript SDKs let you call FoxReach tools without MCP in the mix. MCP is one way Composio exposes tools; the Composio SDKs wrap them directly in framework-native shapes (LangChain Tool, CrewAI tool, OpenAI function schema) too.
Why use Composio instead of direct FoxReach MCP?
Composio makes sense when your agent consumes many SaaS products - Gmail + Slack + FoxReach + Notion + Linear + GitHub. Managing six independent MCP connections is tedious; Composio centralizes auth and provides one catalog to register. For a cold-email-only agent, direct FoxReach MCP is simpler.
Does Composio pricing affect FoxReach usage?
Yes. Composio charges per tool-call or per active agent depending on your plan. If your FoxReach agent does 10k tool calls a month through Composio, you pay Composio for those calls in addition to FoxReach. Direct MCP has zero platform fee on top of FoxReach.
See also
Ship your Composio-powered outbound agent
Free FoxReach plan. API key in under 60 seconds.