Skip to main content

llamaindex-multimail

⚠️ DEPRECATED (2026-08-08). This package is retired and will receive no further updates. MultiMail's supported integration surfaces are the MCP server at https://mcp.multimail.dev (LangChain, CrewAI, LlamaIndex, Claude, and all MCP-capable frameworks connect natively) and the REST API (https://multimail.dev/docs). This final release only adds this deprecation notice.

LlamaIndex tools for MultiMail -- give your LlamaIndex agents email capabilities with graduated human oversight.

Installation

pip install llamaindex-multimail

Quick Start

from llama_index.core.agent import ReActAgent
from llama_index.llms.openai import OpenAI
from llamaindex_multimail import MultiMailToolSpec

# Create tools from your API key
tool_spec = MultiMailToolSpec(api_key="mm_live_your_api_key")
tools = tool_spec.to_tool_list()

# Create agent
llm = OpenAI(model="gpt-4o")
agent = ReActAgent.from_tools(tools, llm=llm, verbose=True)

# Run
response = agent.chat("Check mailbox 'mbx_123' for new emails")
print(response)

Available Tools

Tool Description
send_email Send an email (held for approval if gated)
check_inbox List recent emails in a mailbox
read_email Read the full content of an email
reply_email Reply to an existing email thread
search_contacts Search contacts by name or email
list_pending List emails awaiting human approval
decide_email Approve or reject a pending email
get_thread Get all emails in a conversation
tag_email Add tags to an email for classification

Oversight Modes

MultiMail supports graduated oversight so your agent doesn't send unsupervised email:

  • gated_all -- Agent drafts, human approves everything
  • gated_send -- Agent reads freely, human approves outbound (default)
  • monitored -- Agent sends, human can review after
  • autonomous -- Full agent control

When a mailbox uses gated oversight, send_email returns pending_send_approval and the email waits for human review. The agent can check status with list_pending.

Using with Other LlamaIndex Patterns

The MultiMailToolSpec follows the standard LlamaIndex BaseToolSpec pattern, so it works with any agent framework that accepts LlamaIndex tools:

from llamaindex_multimail import MultiMailToolSpec

spec = MultiMailToolSpec(api_key="mm_live_your_api_key")

# Get all tools
tools = spec.to_tool_list()

# Or get a specific tool
send_tool = spec.to_tool_list(func_to_metadata_mapping={
    "send_email": {"name": "send_email", "description": "Send an email"},
})

Links

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llamaindex_multimail-0.1.1.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llamaindex_multimail-0.1.1-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file llamaindex_multimail-0.1.1.tar.gz.

File metadata

  • Download URL: llamaindex_multimail-0.1.1.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for llamaindex_multimail-0.1.1.tar.gz
Algorithm Hash digest
SHA256 39014a1620f21d24ff4a95223f950f3fe6db6343f4963dc8e428c4e7f563ab81
MD5 8c5bffd74182fc3b0fc102caf67228d7
BLAKE2b-256 a318baf062c5e119d5c0fc1a1be6e25866d5ce7e30d294ebbb3cb88e8bf49f73

See more details on using hashes here.

File details

Details for the file llamaindex_multimail-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for llamaindex_multimail-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d921f9811c4027c26d77ca334847075fe07e12fbbc35b858e9850f71c771cf76
MD5 89f46a9136c8e578753433780d2f9772
BLAKE2b-256 2c2bec79498ce7c53e23a15e2fab3ee06f1a02c62514a0ee33472e0e96242860

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page