Trusted Gateway

Send email only to approved domains.

SMTP credentials stay encrypted on the server. Every recipient must belong to a domain configured in the connector.

Dashboard fields

  • SMTP host and port: the provider's SSL endpoint, commonly port 465.
  • Allowed recipient domains: exact domains such as company.com.
  • From address, username and password: a dedicated mailbox credential encrypted after save.

Create the secured tool

from uuid import uuid4

def email_send(to: str, subject: str, body: str) -> dict:
    """Send plain-text email through the trusted connector."""
    result = security.execute(
        agent_id="support-agent",
        session_id="support-session",
        action="email.send",
        arguments={"to": [to], "subject": subject, "body": body},
        idempotency_key=f"email-{uuid4()}",
    )
    return result["output"]

Recommended permission

permissions = {"email.send": "REQUIRE_APPROVAL"}

After approval, retry the exact operation through the SDK approval flow without changing recipients or content.

Limits

One call accepts 1–50 recipients, a subject up to 200 characters and a plain-text body up to 100,000 characters. Header newlines and unapproved domains are rejected.

Delivery test

Validate does not send email. Use a dedicated least-privilege mailbox and staging recipient to confirm SMTP login and delivery.