Skip to main content

Shared Inbox & Routing Rules

Aragora provides shared inbox APIs for collaborative email triage, ownership, and routing automation. Teams can assign messages, track status, and enforce rules that label or escalate incoming mail.

Overview

Shared inbox features include:

  • Create and manage shared inboxes per workspace.
  • Assign, track, and resolve messages with status metadata.
  • Define routing rules to auto-assign, label, or escalate messages.
  • Store shared inbox metadata in a persistent email store (if configured).

UI route: /shared-inbox

API Endpoints

Shared Inboxes

MethodEndpointDescription
POST/api/v1/inbox/sharedCreate shared inbox
GET/api/v1/inbox/sharedList shared inboxes
GET/api/v1/inbox/shared/\{id\}Get inbox details
GET/api/v1/inbox/shared/\{id\}/messagesList inbox messages
POST/api/v1/inbox/shared/\{id\}/messages/\{msg_id\}/assignAssign message
POST/api/v1/inbox/shared/\{id\}/messages/\{msg_id\}/statusUpdate status
POST/api/v1/inbox/shared/\{id\}/messages/\{msg_id\}/tagAdd tag

Routing Rules

MethodEndpointDescription
POST/api/v1/inbox/routing/rulesCreate routing rule
GET/api/v1/inbox/routing/rulesList routing rules
PATCH/api/v1/inbox/routing/rules/\{id\}Update routing rule
DELETE/api/v1/inbox/routing/rules/\{id\}Delete routing rule
POST/api/v1/inbox/routing/rules/\{id\}/testTest routing rule

Create a Shared Inbox

POST /api/v1/inbox/shared
Content-Type: application/json

{
"workspace_id": "ws_123",
"name": "Support Inbox",
"description": "Customer support inquiries",
"email_address": "support@company.com",
"connector_type": "gmail",
"team_members": ["user1", "user2"],
"admins": ["admin1"]
}

Assign a Message

POST /api/v1/inbox/shared/inbox_123/messages/msg_456/assign
Content-Type: application/json

{
"assignee": "user2"
}

Create a Routing Rule

POST /api/v1/inbox/routing/rules
Content-Type: application/json

{
"workspace_id": "ws_123",
"name": "Escalate VIP",
"conditions": [
{ "field": "priority", "operator": "equals", "value": "critical" }
],
"condition_logic": "AND",
"actions": [
{ "type": "assign", "target": "oncall-security" },
{ "type": "label", "target": "vip" }
],
"priority": 1
}

Notes

  • Shared inbox data is cached in memory with optional persistence via aragora/storage/email_store.py.
  • Routing rule actions include assign, label, escalate, archive, notify, and forward.
  • For command center endpoints (daily digest, bulk actions), see docs/EMAIL_PRIORITIZATION.md.