Agent-Aware Email for Composio Integrations

Replace generic email tools with MultiMail's purpose-built agent email — adding graduated trust and oversight to Composio's 250+ integration ecosystem.


Composio provides 250+ pre-built tool integrations for AI agents, handling authentication, rate limiting, and schema management. While Composio offers generic email tools, MultiMail provides purpose-built email infrastructure with agent-specific features like graduated oversight modes that generic integrations lack.

By using MultiMail through Composio's custom tool system, your agents get email capabilities designed for the trust ladder: start in gated_send mode where every email requires human approval, and progress to autonomous as trust builds. This is a fundamentally different approach from generic SMTP or Gmail integrations.

Integration uses Composio's custom action system. Define MultiMail API calls as custom actions, and any framework connected to Composio (LangChain, CrewAI, OpenAI) can use them.

Built for Composio developers

Oversight Modes Generic Tools Lack

Composio's standard email integrations send immediately. MultiMail adds graduated oversight (read_only, gated_all, gated_send, monitored, autonomous) that generic email tools simply don't provide.

Works Across All Composio Frameworks

Define MultiMail tools once in Composio, and they work with every framework Composio supports — LangChain, CrewAI, OpenAI, and more. One integration, universal access.

Agent-Specific Email Design

MultiMail's API is designed for programmatic access by agents, not human users clicking buttons. Every action has structured inputs and outputs that agents can reason about.

Complement Existing Integrations

Use Composio's 250+ integrations alongside MultiMail email. Your agent can check a CRM via Composio, then send a follow-up email via MultiMail with full oversight controls.


Get started in minutes

Register MultiMail as Custom Composio Actions
python
from composio import ComposioToolSet, Action
import requests

MULTIMAIL_API = "https://api.multimail.dev/v1"
API_KEY = "mm_live_your_api_key"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}

toolset = ComposioToolSet()

"cm"># Define custom MultiMail actions
@toolset.register_action("multimail_send_email")
def send_email(to: str, subject: str, body: str, mailbox_id: str) -> dict:
    """Send an email via MultiMail with agent oversight.
    In gated_send mode, emails are queued for human approval."""
    resp = requests.post(f"{MULTIMAIL_API}/send", headers=HEADERS, json={
        "mailbox_id": mailbox_id,
        "to": to,
        "subject": subject,
        "body": body
    })
    return resp.json()

@toolset.register_action("multimail_check_inbox")
def check_inbox(mailbox_id: str, limit: int = 10) -> dict:
    """Check inbox for recent messages via MultiMail."""
    resp = requests.get(
        f"{MULTIMAIL_API}/mailboxes/{mailbox_id}/inbox",
        headers=HEADERS, params={"limit": limit}
    )
    return resp.json()

@toolset.register_action("multimail_reply_email")
def reply_email(message_id: str, body: str) -> dict:
    """Reply to an email within its thread via MultiMail."""
    resp = requests.post(f"{MULTIMAIL_API}/reply", headers=HEADERS, json={
        "message_id": message_id,
        "body": body
    })
    return resp.json()

Define MultiMail API calls as custom actions in Composio's tool set.

Use with LangChain via Composio
python
from composio_langchain import ComposioToolSet
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate

toolset = ComposioToolSet()

"cm"># Get MultiMail tools alongside other Composio integrations
tools = toolset.get_tools(
    actions=[
        "multimail_send_email",
        "multimail_check_inbox",
        "multimail_reply_email"
    ]
)

llm = ChatOpenAI(model="gpt-4o")
prompt = ChatPromptTemplate.from_messages([
    ("system", "You are an email assistant using MultiMail. "
     "All outbound emails use gated_send mode — they are queued "
     "for human approval before delivery."),
    ("human", "{input}"),
    ("placeholder", "{agent_scratchpad}")
])

agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools)
result = executor.invoke({"input": "Check my inbox and summarize"})

Access MultiMail tools through Composio's LangChain integration.

Use with CrewAI via Composio
python
from composio_crewai import ComposioToolSet
from crewai import Agent, Task, Crew

toolset = ComposioToolSet()
tools = toolset.get_tools(
    actions=[
        "multimail_send_email",
        "multimail_check_inbox",
        "multimail_reply_email"
    ]
)

email_agent = Agent(
    role="Email Manager",
    goal="Handle email communications with oversight",
    backstory="You manage email via MultiMail. All outbound emails "
              "use gated_send mode and require human approval.",
    tools=tools
)

email_task = Task(
    description="Check the inbox and draft replies to any "
                "unanswered customer inquiries.",
    agent=email_agent,
    expected_output="Summary of inbox and drafted replies"
)

crew = Crew(agents=[email_agent], tasks=[email_task])
result = crew.kickoff()
print(result)

Access MultiMail email tools through Composio's CrewAI integration.


Step by step

1

Create a MultiMail Account and API Key

Sign up at multimail.dev, create a mailbox, and generate an API key from your dashboard. Your key will start with mm_live_.

2

Install Composio

Install the Composio SDK and the adapter for your preferred framework.

bash
pip install composio-core composio-langchain requests
3

Register MultiMail Actions

Define custom actions in Composio that wrap MultiMail API calls for send, inbox, reply, and contact management.

4

Connect to Your Framework

Use Composio's framework adapter (composio-langchain, composio-crewai, etc.) to make MultiMail tools available to your agents.

5

Approve Pending Emails

Review emails queued by your agents in the MultiMail dashboard. All emails from gated_send mode require approval before delivery.


Common questions

Why use MultiMail instead of Composio's built-in email tools?
Composio's generic email integrations (Gmail, Outlook) send immediately without agent-specific oversight. MultiMail provides graduated trust modes (gated_send, monitored, autonomous), thread tracking, and audit logging designed specifically for AI agents. These are features generic email tools don't offer.
Can I use MultiMail alongside other Composio integrations?
Yes. Composio's strength is combining multiple tool integrations. Your agent can check a CRM, search a knowledge base, and send a follow-up email through MultiMail — all in a single workflow. The tools are framework-agnostic and work together seamlessly.
Does the Composio integration work with every supported framework?
Yes. Custom actions registered in Composio are available through every framework adapter (LangChain, CrewAI, OpenAI, etc.). Define the MultiMail integration once and use it from any framework without changes.
How does authentication work through Composio?
Store your MultiMail API key in the custom action functions. Composio handles its own authentication layer, and the MultiMail Bearer token is passed directly in the HTTP requests within your custom action code. This keeps the two authentication systems independent.

Explore more

The only agent email with a verifiable sender

Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.