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

1

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.

2

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.

3

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.

4

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.

5

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.