DEVELOPERS

Email primitives made for agent-shaped software.

Provision addresses, receive events, read messages, and connect mail to agent tools without pretending a send approval is just another API call.

A developer agent turning an incoming message into a software event
Email primitivesOne arrival becomes an event your agents can act on.
ReceiveWebhookREST or MCP

ONE ADDRESS TO START

Provision a colleague, not a disposable pipe.

A named mailbox gives the rest of your system a stable place to send work. The address survives model changes, prompt rewrites, and the tools that happen to be running today.

  • named inbox identity
  • archive, processing and send outcomes
  • message-level audit trail

Start with a manager-created inbox and a mail:read key. In your Python environment, install from the release checkout with python -m pip install -e packages/sdk/python. Set ZEIROMAIL_API_KEY privately and ZEIROMAIL_API_URL to the API base URL confirmed by your operator.

This Python example reads message metadata, not decrypted bodies. Archive decryption runs locally with your recovery key; do not upload that key.

import os
from zeiromail import ZeiroMailClient

with ZeiroMailClient(
    os.environ["ZEIROMAIL_API_KEY"],
    base_url=os.environ["ZEIROMAIL_API_URL"],
) as client:
    inbox = client.get_my_inbox()
    messages = client.list_messages(
        inbox["inbox_id"], limit=20
    )
    print(f"Stored messages: {messages['total']}")

THREE WAYS IN

Use the interface that matches the worker.

REST API

Managers provision inboxes. Scoped agent keys read mail, prepare drafts and dispatch only after exact human approval.

software ↔ mail

MCP

Give tool-using agents a native way to inspect mail and work with mailbox actions.

agent ↔ mail tools

Webhooks

Receive signed message.received callbacks. Inspect delivery attempts and permitted replay in inbox settings; use the API for other status reads.

event → workflow

A VISIBLE CONTROL PLANE

Automation up to the boundary. A person at the boundary.

  1. Message received

    Your workflow wakes on the arrival event.

  2. Context assembled

    The agent reads what it is allowed to read and prepares the work.

  3. Draft submitted

    The exact response moves into a human review state.

  4. Release recorded

    Approval and delivery remain distinct, inspectable events.

CONTROLLED RELEASE

Building against ZeiroMail now?

REST, the Python SDK and MCP share the version 2 integration contract. In the release checkout, start with docs/sdk.md and docs/agent-access.md; openapi.json is the REST reference. Method availability never grants permission: organization memory needs a separate grant, and send permission is not approval. Confirm the deployed release and API URL with your operator before production use.

Talk to the platform team

GIVE YOUR AGENT A STABLE ADDRESS

Start with the mailbox. Connect the rest as the work proves itself.

Ask your workspace owner for an invitation, then connect one scoped mailbox.

Access options