Overview
Mailbox features:- Profile-to-profile conversations (not user-to-user)
- Multiple envelope types: messages, invitations, badges, passes
- Threaded conversations with participants
- Emoji reactions on messages
- Read receipts and unread counts
- System-generated notifications
Mailbox operates at the profile level. Users communicate via their individual profiles to other profiles (individual, organization, or community).
Conversations
Conversation Types
Direct
One-on-one profile conversations
System
Automated notifications from Aya platform
Creating a Conversation
Conversation Properties
Envelopes (Message Types)
Mailbox uses “envelopes” for all communication:Message Envelopes
Standard messages:- Plain text content (Markdown support planned)
- Optional reply_to_id for threading
- Sender profile information
- Timestamp and read status
Invitation Envelopes
Profile join invitations:Invitations have special statuses and can be accepted, rejected, or revoked.
Badge Envelopes
Achievement or recognition badges:Pass Envelopes
Access passes or tickets:Envelope Lifecycle
Statuses
Status Transitions
Participants
Each conversation has participants:Participant Properties
Participant Actions
Mark as read:- Updates
last_read_attimestamp - Reduces unread count
- Read receipts (visible to sender)
- Sets
is_archived: true - Conversation hidden from main inbox
- Can be unarchived anytime
- Sets
left_attimestamp - No longer receives new messages
- Cannot send new messages
- Previous messages remain visible
Emoji Reactions
Add emoji reactions to any envelope:Allowed Reactions
❤️
Love
🔥
Fire
🎉
Party
👍🏻
Thumbs up
👋🏻
Wave
🙌🏻
Raised hands
🖖🏻
Vulcan salute
😂
Laugh
😮
Surprised
😢
Sad
😱
Scream
🙈
See no evil
👀
Eyes
Reaction set is curated for professional communication. Custom emoji support planned for future.
Adding Reactions
Reaction recorded
- Stored with your profile ID
- Displayed to all participants
- Can add multiple reactions
Reaction Display
Reactions show:- Emoji icon
- Count of users who reacted
- Your profile highlighted if you reacted
- Tooltip with reactor names on hover
Read Receipts
Sent
Envelope created and delivered
Read
Recipient viewed the envelope
- Envelope
created_attimestamp - Recipient’s
last_read_attimestamp - If
last_read_at≥created_at, envelope is read
Unread Counts
Each conversation tracks unread envelopes:- Badge on conversation list item
- Notification count in app header
- Push notification (if enabled)
System Messages
Aya generates system envelopes for automated notifications: Examples:- Welcome message on signup
- Referral status updates
- Membership level changes
- Event reminders
- Content moderation notices
kind: "system"- No sender profile (sent by platform)
- Cannot be replied to
- Informational only
Invitation Workflows
Profile Join Invitation
System creates invitation
- Conversation created (if doesn’t exist)
- Invitation envelope sent to candidate
- Status:
invitation_pending_response
Telegram Group Invitation
Telegram invitations are automatically sent when users reach appropriate membership level. See Telegram Bot for setup.
Conversation Management
Inbox View
Conversations displayed with:- Participant profiles (avatars, names)
- Last envelope preview
- Timestamp of last activity
- Unread count badge
- Sorted by most recent activity
Filtering
All
All conversations including archived
Unread
Conversations with unread envelopes
Archived
Archived conversations
Search
Search within mailbox:- Search by participant name
- Search message content
- Filter by envelope type
- Date range filtering
Notifications
Mailbox triggers notifications: In-app:- Badge count on mailbox icon
- Conversation list highlights
- Browser notifications (if permitted)
- Mobile push (future)
- Email notifications (configurable)
- Telegram bot notifications
Privacy & Security
Conversation Privacy
- Conversations are private between participants
- No public viewing of mailbox content
- Admins cannot read conversations (unless participant)
- End-to-end encryption planned for future
Blocking & Spam
Spam prevention:- Rate limiting on message creation
- Abuse reporting
- Automatic spam detection
- Block profile to prevent messages
- Existing conversations remain visible
- Blocked status not visible to blocker
Callbacks & Integrations
Mailbox supports event callbacks: OnEnvelopeCreated:- Triggered when new envelope sent
- Used for notifications
- Can integrate with external services
- Triggered when invitation accepted
- Used for membership creation
- Updates referral status
- Triggered when invitation rejected
- Used for referral cleanup
- Notifies referrer
Callbacks are best-effort. Failures are logged but don’t block envelope creation.
Best Practices
Effective Messaging
Effective Messaging
- Be clear and concise
- Use subject context (what are you messaging about?)
- Reply to specific messages for threading
- Use reactions for quick acknowledgment
- Archive old conversations
Invitation Management
Invitation Management
- Review invitations promptly
- Accept if genuinely interested
- Politely decline if not a fit
- Don’t ignore invitations (sender sees pending status)
- Read invitation details before accepting
Conversation Organization
Conversation Organization
- Archive completed conversations
- Use descriptive conversation titles (future feature)
- Mark as read to reduce clutter
- Leave conversations you no longer need
- Report spam immediately
Troubleshooting
Cannot send message
Cannot send message
- Verify recipient profile exists
- Check you have individual profile (mailbox requires profile)
- Ensure recipient hasn’t blocked you
- Check rate limits (max 100 messages/hour)
Invitation not received
Invitation not received
- Check mailbox filters (not in archived)
- Verify invitation was sent (check referral status)
- Look in system conversations
- Check notification settings
Reactions not working
Reactions not working
- Ensure using allowed emoji from curated list
- Check internet connection
- Refresh page
- Clear browser cache
API Examples
Send Message
List Conversations
Add Reaction
Next Steps
Profiles
Set up profile for messaging
Communities
Join communities and receive invitations
Telegram Bot
Link Telegram for notifications
Bulletin Board
Configure content digests