Get Started with Aeion Inbox

Set up your AI-powered unified inbox in 5 steps. Spam detection, smart rules, Gmail-like search, AI drafting, and conversation threading—all in under 20 minutes.

1

Configure AI Spam Detection

ScoreLabelAction
0-30safeDeliver to inbox
31-70suspiciousDeliver with warning banner
71-100spamRoute to spam folder
2

Configure Email Drafting AI

Go to Inbox → Settings → AI Drafting.

Drafting Configuration:

```typescript { "drafting": { "enabled": true, "defaultTone": "professional",

"tones": { "professional": { "temperature": 0.7, "maxLength": 500, "includeSignature": true }, "friendly": { "temperature": 0.8, "maxLength": 300, "includeEmoji": false }, "urgent": { "temperature": 0.5, "maxLength": 200, "includeCallToAction": true } },

"providers": [ { "provider": "openai", "model": "gpt-4o", "fallbackEnabled": true } ] } } ```

Draft Email Reply (API):

bash POST /inbox/conversations/{conversationId}/smart-reply { "conversationId": "conv-xxx", "tone": "professional", "includeContext": true }

Response:

typescript { "subject": "Re: Invoice #12345 - Questions", "body": "Hi Sarah,\n\nThank you for reaching out regarding invoice #12345. I'd be happy to clarify the line items you mentioned.\n\nThe additional charge is for the premium support package that was added on March 15th. Would you like me to send over the detailed breakdown?\n\nBest regards,\nJohn", "suggestedActions": [ "Attach invoice breakdown PDF", "Schedule a call to discuss", "Send to customer" ] }

Draft New Email (API):

bash POST /inbox/draft { "to": ["client@company.com"], "subject": "Quarterly Review Meeting", "context": "Need to schedule Q2 review with Acme Corp, preferably Tuesday or Thursday afternoon", "tone": "professional" }

Response:

typescript { "subject": "Quarterly Review Meeting - Q2 2026", "body": "Hi,\n\nI hope this email finds you well. I wanted to reach out regarding scheduling our quarterly business review for Q2 2026.\n\nWould you be available on Tuesday or Thursday afternoon this week or next? I'm flexible and can work around your schedule.\n\nPlease let me know what works best for you, and I'll send over a calendar invitation.\n\nBest regards,\nJohn" }

3

Set Up Email Rules

OperatorUse CaseExample
`contains`General text matchfrom contains "@acme.com"
`equals`Exact matchsubject equals "Invoice"
`starts_with`Prefix matchsubject starts_with "RE:"
`ends_with`Suffix matchfrom ends_with "@vendor.com"
`not_contains`Excludebody not_contains "unsubscribe"
ActionResultExample
---------------------------------------------------------------------
`move_to_folder`File the message into a foldermove_to_folder:VIP
`mark_read`Mark the message readmark_read
`star`Star the conversationstar
`delete`Move the conversation to trashdelete
`forward_to`Forward to another addressforward_to:ops@acme.com
4

Configure Gmail-Like Search

QueryDescription
`from:boss@company.com`Emails from specific sender
`subject:invoice has:attachment`Invoices with attachments
`is:unread after:2026-04-01`Unread since April 1st
`label:VIP is:unread`Unread VIP conversations
`in:sent to:client@acme.com`Sent to specific client
`quarterly report is:starred`Starred items with "quarterly report"
5

Configure SMTP & Notifications

Go to Inbox → Settings → SMTP.

SMTP Configuration:

bash POST /inbox/settings/smtp { "host": "smtp.aeionos.com", "port": 587, "secure": true, "auth": { "username": "notifications@aeionos.com", "password": "xxx" }, "from": { "email": "notifications@aeionos.com", "name": "Aeion Notifications" }, "limits": { "maxRecipients": 50, "maxEmailsPerMinute": 100 } }

Notification Preferences:

```typescript { "notifications": { "newMessage": { "email": true, "push": true, "inApp": true }, "mentioned": { "email": true, "push": true, "inApp": true }, "assigned": { "email": true, "push": true, "inApp": true }, "statusChange": { "email": false, "push": true, "inApp": true } },

"digest": { "enabled": true, "frequency": "daily", // hourly, daily, weekly "includeUnread": true, "includeAssigned": true },

"quietHours": { "enabled": true, "start": "22:00", "end": "07:00", "timezone": "America/Los_Angeles" } } ```

Send Email (API):

bash POST /inbox/messages/send { "to": ["client@company.com"], "cc": ["manager@company.com"], "subject": "Meeting Request", "body": "Hi,\n\nI would like to schedule a meeting to discuss the quarterly results. Please let me know your availability.\n\nBest regards,\nJohn" }

Response:

typescript { "success": true, "messageId": "msg-xxx", "sentAt": "2026-05-11T10:30:00Z" }

Get Conversation Messages (API):

bash GET /inbox/conversations/{conversationId}/messages

Response:

typescript { "conversationId": "conv-xxx", "threadId": "thread-xxx", "messages": [ { "id": "msg-001", "from": { "name": "Client", "email": "client@acme.com" }, "subject": "Q2 Project Update", "textBody": "Hi,\n\nHere are the updates for Q2...", "hasAttachment": true, "createdAt": "2026-05-10T14:00:00Z" }, { "id": "msg-002", "from": { "name": "John", "email": "john@aeionos.com" }, "subject": "Re: Q2 Project Update", "textBody": "Hi,\n\nThank you for the update. I have a few questions...", "createdAt": "2026-05-10T15:30:00Z" } ] }

Update Conversation (API):

bash PATCH /inbox/conversations/{conversationId} { "tags": ["VIP", "finance"], "assignee": "agent-123", "priority": "high", "status": "open" }

Quick Reference

AI Endpoints:

```bash # Detect spam POST /inbox/messages/{messageId}/analyze

# Draft reply POST /inbox/conversations/{conversationId}/smart-reply

# Draft new email POST /inbox/draft ```

Search Endpoints:

```bash # Search conversations GET /inbox/search

# Parse query (debug) GET /inbox/search/parse ```

Rules Endpoints:

```bash # Create rule POST /api/v1/inbox_rules

# List rules GET /api/v1/inbox_rules

# Update rule PATCH /api/v1/inbox_rules/{ruleId}

# Delete rule DELETE /api/v1/inbox_rules/{ruleId} ```

Conversation Endpoints:

```bash # List conversations GET /inbox/conversations

# Get conversation GET /inbox/conversations/{id}

# Update conversation PATCH /inbox/conversations/{id}

# Get messages GET /inbox/conversations/{id}/messages ```

Email Endpoints:

```bash # Send email POST /inbox/messages/send

# Get delivery status GET /inbox/delivery/{messageId} ```

Settings Endpoints:

```bash # Update AI config POST /inbox/settings/ai

# Update SMTP POST /inbox/settings/smtp

# Update notifications POST /inbox/settings/notifications ```

FAQ

Aeion analyzes sender reputation, subject, and body to produce a spam score from 0-100. Scores above 70 route to spam, above 30 show a warning banner. Provider routing includes automatic failover.

14+ operators: from:, to:, subject:, has:attachment, is:starred, is:unread, is:pinned, is:muted, before:, after:, label:, in:sent/drafts/archive/trash. Bare text searches subject + body.

Rules evaluate in priority order (lowest number first). Condition fields: from, subject, body, to. Operators: contains, equals, starts_with, ends_with, not_contains. Actions: move_to_folder, mark_read, star, delete, forward_to. A stop-processing flag can halt lower-priority rules once a rule matches.

Aeion generates replies using conversation context. Tones: professional (default), friendly, urgent. Configurable providers and models. Smart tone adjustment based on conversation history.

Messages grouped by threadId. Oldest-to-newest ordering. Participant tracking. Status synchronization across thread.

Host, port (587 for TLS), secure flag, auth credentials, from address. Rate limits: max recipients (50) and emails per minute (100).

Configurable per event type (newMessage, mentioned, assigned, statusChange). Channels: email, push, in-app. Digest mode: hourly/daily/weekly. Quiet hours support.

Quoted values are treated as a single term — `from:"john smith@company.com"` searches for that exact sender.

Provider routing includes fallback. If the primary provider fails, Aeion automatically tries the secondary. If all providers fail, the message is left unscored rather than misclassified.

Lower number = higher priority. Rule with priority 1 runs before priority 2. If a rule is marked to stop processing, subsequent rules are skipped.

Yes. Attachments are supported with filename, content type, and file content.

Every outbound message gets a delivery record starting at "pending," updated to sent/delivered/bounced as status callbacks arrive. Error reasons are captured for failed deliveries.

Notifications suppressed during configured hours (e.g., 10 PM - 7 AM). Timezone-aware. Important alerts can still come through via escalation rules.

Open the Inbox Dashboard