The only execution layer built for autonomous agents. Multi-provider failover (SES Ireland + Brevo France), durable retry queue, EU data residency, and governance — infrastructure that never fails your agent workflows.
They return a message ID and hope for the best. Your agent can't hope. It needs to know:
Truncus answers all of these. In the same API call.
Agent sends invoice with delivery proof
Synchronous — agent knows immediately if it worked
from truncus import Truncus
truncus = Truncus(api_key="tr_live_xxx")
# Synchronous — agent knows immediately if it worked
result = truncus.emails.send_sync(
from_address="billing@yourapp.com",
to=customer.email,
subject=f"Invoice #{invoice.id}",
html=render_invoice(invoice),
)
if result.status == "delivered":
mark_invoice_sent(invoice.id)
log(f"Delivered in {result.latency_ms}ms")
elif result.status == "bounced":
flag_invalid_email(customer.id)
log(f"Bounce: {result.intelligence.explanation}")Durable operation with retry across providers
Truncus handles retries and provider failover automatically
# Create a durable operation — Truncus handles retries
op = truncus.operations.create(
type="email.send",
delivery_guarantee="at_least_once",
params={
"from": "support@yourapp.com",
"to": user.email,
"subject": "Your account is ready",
"html": welcome_html,
},
retry_policy={"max_retries": 3, "backoff_ms": 5000},
)
# Check later (or let the webhook notify you)
status = truncus.operations.get(op.operation_id)
# { status: "completed", attempts: 1, provider: "ses" }Pre-flight check before sending
Validate before wasting a send or risking reputation
# Validate before wasting a send
check = truncus.emails.validate(
from_address="agent@yourapp.com",
to=prospect.email,
)
if check.recommendation == "do_not_send":
skip_prospect(prospect.id, reason=check.checks.spam_risk)
elif check.confidence_score > 0.8:
truncus.emails.send_sync(...)Execution certainty
Synchronous delivery confirmation. 1.04s average. One call, one answer.
Durable operations with lifecycle tracking. Create, retry, cancel.
best_effort / at_least_once / exactly_once. Choose per email.
Reliability
SES Ireland primary. Brevo France automatic failover. Circuit breaker triggers in seconds, not minutes.
Failed emails enter a durable retry queue (30s/2m/8m/30m/2h backoff). Dead-letter recovery. Replay API.
Both providers EU-based (Ireland + France). GDPR-native. Your agent emails never leave Europe.
Intelligence
Confidence scoring, spam risk, domain health. Know before you send.
Failure explanations and recommended next actions.
Detect replies, unsubscribes, complaints, auto-replies.
Safety
Instant shutdown per agent or account. One API call.
Prevent over-emailing the same address.
Auto-throttle agents with high bounce or complaint rates.
MCP
197 tools on npm — works in Claude Desktop
Python SDK
pip install truncus
Node SDK
npm install @truncus/email
REST API
Any language, any framework
CLI
npm install -g @vanmoose/truncus-cli
Your Agent (LangChain / CrewAI / AutoGen / Custom)
Truncus
Execute, validate, govern, observe
SES Ireland
primary
Brevo France
failover
All plans include send_sync, Operations API, delivery guarantees, and governance.
Free
$0
3,000 emails/month
Pro
$19/mo
50,000 emails/month
Scale
$99/mo
300,000 emails/month
Free tier. 3,000 emails/month. No credit card. 30 seconds to first send.
Start free