Infrastructure
Multi-Agent Email Coordination
Run multiple AI agents on the same tenant without conflicts. Contact leases prevent double-sends, consensus voting gates high-stakes decisions, and heartbeat monitoring tracks agent liveness.
How it works
Register your agents
POST to /v1/agent/register with a name and role. Each agent gets a unique ID (format: agent_<uuid>) used for all coordination calls.
Send heartbeats
POST to /v1/agent/coordination/heartbeat to keep registrations alive. Agents without a heartbeat within 5 minutes are considered inactive and excluded from consensus votes.
Acquire contact leases
POST to /v1/agent/coordination/lease to get exclusive access to a contact for a time window (default 30 minutes). Other agents that try to send to a leased contact are blocked with reason lease_conflict.
Request consensus for high-stakes actions
POST to /v1/agent/coordination/consensus to request approval from peer agents. Other agents vote approve or reject. Consensus is reached when a majority of active agents agree.
Release leases when done
DELETE /v1/agent/coordination/lease/:id releases a contact lease early. Leases also expire automatically at their configured duration.
Acquire a contact lease
POST /v1/agent/coordination/lease
POST /v1/agent/coordination/lease
{
"tenantId": "your-tenant-id",
"agentId": "agent_abc123",
"contactEmail": "alice@example.com",
"intent": "outbound_sales",
"durationMinutes": 30
}// Conflict response (another agent holds the lease)
{
"conflict": true,
"leaseHolder": {
"agentId": "agent_other",
"agentName": "retention-agent",
"expiresAt": "2026-02-25T15:45:00Z"
}
}Coordination primitives
Agent Registration
Register agents with name and role. Supports upsert — re-registering the same agent updates rather than duplicates.
Heartbeat Monitoring
5-minute liveness window. Agents without recent heartbeats are excluded from consensus majority calculations.
Contact Leases
Time-boxed exclusive access to a contact. Prevents multiple agents from emailing the same person simultaneously.
Consensus Voting
Multi-agent approval for sensitive actions. Configurable timeout, majority-based resolution, with approve/reject/expired outcomes.
Consensus voting
For high-stakes decisions, request approval from peer agents. Consensus is reached when a majority of active agents (those with recent heartbeats) approve or reject.
POST /v1/agent/coordination/consensus
{
"tenantId": "your-tenant-id",
"requestingAgentId": "agent_abc123",
"action": "send_pricing_override",
"contactEmail": "cto@bigcorp.com",
"reason": "Contact requested custom pricing",
"timeoutMinutes": 60
}
// Other agents vote
POST /v1/agent/coordination/consensus/:id/vote
{
"agentId": "agent_reviewer",
"vote": "approve",
"reason": "Contact is qualified, pricing is within bounds"
}Coordinate without conflicts
Run SDR, retention, and support agents side by side. Contact leases and consensus voting ensure they never step on each other.