Skip to main content

Inbound Email

Send emails to your personal Trix address to store memories, search your knowledge base, and ask questions.

Overview

Every Trix account gets a unique inbound email address (e.g., [email protected]). Send emails to this address to:

  • Store - Save information as memories
  • Search - Find existing memories
  • Ask - Get AI-powered answers from your memories
  • List - Browse your memories with filters
  • Help - Get usage instructions

Getting Your Email Address

Terminal
# Via CLI
trix email

# Via API
curl -X GET https://api.trixdb.com/v1/email/address \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "email": "[email protected]",
  "localPart": "abc12xyz",
  "domain": "mail.trixdb.com",
  "isActive": true,
  "createdAt": "2024-01-15T10:30:00Z"
}

Store Command

Save information to your Trix memories.

Subject Line Format

Subject
Subject: STORE: Your content here
Subject: [store] Your content here

Body Format

Body
/store Your content here

Full Example

Email
To: [email protected]
Subject: STORE: Meeting notes from Q1 planning @work #meeting #q1 p1

- Discussed budget allocation for new features
- Agreed on hiring 2 new engineers
- Next review in March

Metadata Modifiers

ModifierDescriptionExample
@spaceTarget space@work, @personal
#tagAdd tags (multiple allowed)#meeting #important
p1/p2/p3Priority (1=high, 3=low)p1

Search Command

Find memories matching your query.

Email
To: [email protected]
Subject: SEARCH: Q1 budget meeting

You'll receive an email with matching memories:

Response
Found 3 results:

1. Meeting notes from Q1 planning - Discussed budget allocation...
   Tags: meeting, q1

2. Budget review email from finance - Approved budget of $50k...
   Tags: budget, finance

3. Q1 goals document - Key objectives include...
   Tags: goals, q1

Ask Command

Get AI-powered answers synthesized from your memories.

Email
To: [email protected]
Subject: ASK: What was decided about the Q1 budget?

Response:

Response
Based on your memories, the Q1 budget meeting resulted in:

1. A total budget of $50,000 was approved
2. $30,000 allocated to engineering
3. $20,000 for marketing initiatives
4. Review scheduled for March 15

---
Based on 3 memories

Parsing Strategies

Trix uses three strategies to understand your emails, tried in order:

1. Structured Body Format (Highest Priority)

Commands starting with / in the email body:

Body Commands
/store Remember to call John about the project
/search project deadlines
/ask What's the status of the project?

2. Subject Line Commands

Recognized patterns in the subject line:

Subject Patterns
STORE: content here
SEARCH: query here
ASK: question here
[store] content here

3. AI Natural Language (Fallback)

If no explicit command is detected, Trix will analyze your email to determine intent:

  • "Remember this: ..." → Store
  • "Find my notes about..." → Search
  • "What did I write about...?" → Ask

The AI parser requires 60% confidence to act automatically. Low-confidence results may request confirmation.

Address Management

Address Rotation

Rotate your email address for security while maintaining a grace period for the old address:

Terminal
# Via CLI
trix email rotate --grace-period 30

# Via API
curl -X POST https://api.trixdb.com/v1/email/address/rotate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"gracePeriodDays": 30}'

During the grace period (0-90 days):

  • New address is active and primary
  • Old address continues to accept emails
  • After grace period, old address stops working

Sender Rules

Control who can send emails to your Trix address.

Rule Types

TypeBehavior
allowOnly accept emails from matching patterns
blockReject emails from matching patterns

Pattern Formats

PatternMatches
[email protected]Exact email address
*@domain.comAny user at domain
*@*.domain.comAny user at any subdomain
Terminal
# Add a block rule
curl -X POST https://api.trixdb.com/v1/email/senders \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "emailPattern": "*@spam.com",
    "ruleType": "block",
    "reason": "Known spam domain"
  }'

Email Digests

Receive scheduled summaries of your memories.

Terminal
curl -X POST https://api.trixdb.com/v1/email/digests \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Weekly Work Summary",
    "scheduleType": "weekly",
    "timezone": "America/New_York",
    "includeNewMemories": true,
    "includeHighlights": true,
    "maxItems": 10,
    "tags": ["meeting", "project"],
    "isActive": true
  }'

Schedule Types

TypeDefault Schedule
dailyEvery day at 8 AM
weeklyEvery Monday at 8 AM
customUser-defined cron expression

Reactions (IFTTT-Style)

Create automated email triggers based on memory events.

Terminal
curl -X POST https://api.trixdb.com/v1/email/reactions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Important Meeting Alert",
    "triggerType": "memory_created",
    "triggerConditions": {
      "tags": ["important", "meeting"],
      "contentContains": "deadline"
    },
    "emailSubjectTemplate": "Alert: New Important Memory",
    "emailBodyTemplate": "A memory matching your criteria was created.",
    "cooldownMinutes": 60,
    "maxPerDay": 10
  }'

Trigger Types

  • memory_created - Fires when a new memory is created
  • memory_matched - Fires when a memory matches specific criteria
  • scheduled - Fires on a schedule

Rate Limits

LimitValueWindow
Emails per minute101 minute
Emails per hour1001 hour

These limits are per-account and can be customized via environment variables.

Troubleshooting

Email Not Processing

  1. Check email history for status and errors
  2. Verify sender rules aren't blocking the sender
  3. Check rate limits haven't been exceeded
  4. Ensure address is active and not deactivated

Command Not Recognized

  1. Use explicit command format: STORE:, SEARCH:, ASK:
  2. Place command at the beginning of subject or body
  3. Avoid complex formatting that may confuse parsing