Overview
Trix calendar integrations aren't just about viewing events - they're about making your calendar intelligent. Here are real-world use cases from actual Trix users.
Pre-Meeting Briefings
The Problem
You have a meeting in 15 minutes with someone you haven't talked to in weeks. What did you discuss last time? Were there action items? What's the context?
The Trix Solution
Trix automatically searches your memory store for past interactions with meeting attendees and generates an AI-powered briefing before each meeting.
Example: Sales Call Preparation
Meeting: Product Demo with Acme Corp
Time: Today at 2:00 PM (in 15 minutes)
Attendees: Sarah Johnson (CTO), Mike Chen (VP Engineering)
Pre-Meeting Briefing:
PREVIOUS INTERACTIONS:
- Last meeting: Dec 15, 2025 - Initial discovery call
- Follow-up email: Dec 20 - Sent pricing proposal
- Slack message: Jan 5 - Answered technical questions
KEY CONTEXT:
- Acme Corp evaluating 3 vendors (us, Competitor A, Competitor B)
- Pain point: Current system can't scale beyond 10k users
- Budget approved: $150k annually
- Decision timeline: End of Q1
ACTION ITEMS FROM LAST TIME:
- Sent technical architecture doc (completed Dec 18)
- Scheduled demo with engineering team (this meeting)
- Pending: Security questionnaire review
TALKING POINTS:
1. Focus on scalability (their #1 concern)
2. Mention recent customer: TechCo (similar scale)
3. Address Competitor A weakness (integration complexity)
4. Ask about timeline pressure (Q1 deadline approaching)
NOTES:
- Sarah prefers visual diagrams over text explanations
- Mike is technical, wants to see code/architecture
- They're currently using LegacyVendor (8-year contract ending)How It Works
- Trix detects upcoming meeting (15 min before)
- Extracts attendee emails from event
- Searches Trix memories for interactions with those attendees
- Finds relevant emails, notes, Slack messages, previous meetings
- Uses AI to synthesize context into actionable briefing
- Emails briefing to you automatically
Setup
# 1. Connect your calendar
trix integrations connect google
# 2. Enable pre-meeting briefings (15 min before)
trix notifications setup
# Select: "15 minutes before (recommended)"
# 3. Ensure Trix has context
# Store past emails, notes, and Slack history as Trix memories
# via the API or SDK for richer pre-meeting briefings
# Done! You'll get briefings automaticallyCompetitive Advantage: No other calendar app offers AI-powered pre-meeting briefings. This feature alone can save 30+ minutes of prep time per week.
Unified Multi-Account Scheduling
The Problem
You have a work Google Calendar, personal Outlook calendar, and family iCloud calendar. Switching between three apps to see your full schedule is painful.
The Trix Solution
Connect all calendars to Trix and view everything in one unified timeline.
Example: Consultant with Multiple Clients
# Connect Google Calendar via CLI
trix integrations connect google # Client A calendar
# Connect Microsoft and Apple via dashboard or API
# Visit app.trixdb.com -> Settings -> Integrations
# View upcoming Google Calendar events
trix google calendar list
# Output shows ALL events, color-coded by source:
#
# Today (Jan 12)
# 9:00 AM - Client A Standup [Google - Work]
# 11:00 AM - Client B Planning [Outlook - Work]
# 12:30 PM - Lunch with Sarah [iCloud - Personal]
# 2:00 PM - Client A Review [Google - Work]
# 4:00 PM - Doctor Appointment [iCloud - Personal]
#
# Tomorrow (Jan 13)
# 10:00 AM - Client B Demo [Outlook - Work]
# 3:00 PM - Kids Soccer Game [iCloud - Family]
# 5:00 PM - Client A Retrospective [Google - Work]Advanced: CLI Automation
# Create a morning dashboard command
#!/bin/bash
echo "========================================="
echo "Good morning! Here's your day:"
echo "========================================="
echo ""
trix google calendar list
echo ""
echo "========================================="
echo "Upcoming deadlines:"
trix search "deadline OR due" --limit 5
echo "========================================="
# Add to ~/.bashrc or ~/.zshrc:
alias morning='~/scripts/morning-dashboard.sh'
# Now just type 'morning' every day!Context-Aware Meeting Reminders
The Problem
Default calendar reminders just say "Meeting in 15 min" - no context about what to prepare or who you're meeting with.
The Trix Solution
Trix reminders include full event context, attendee information, and relevant memories.
Example: Context-Rich Email Reminder
Subject: Meeting in 15 minutes: Q1 Planning with Sarah
Hi,
You have a meeting starting soon:
Q1 Planning
Today at 2:00 PM - 3:00 PM (1 hour)
Conference Room A
Join: https://meet.google.com/abc-defg-hij
ATTENDEES (3):
- Sarah Johnson (Organizer) - [email protected]
- Mike Chen - [email protected]
- You
DESCRIPTION:
Plan Q1 OKRs and allocate resources across teams.
Please review the draft OKRs doc before the meeting.
RELEVANT CONTEXT:
- Last 1:1 with Sarah: Discussed headcount needs (Jan 5)
- Q4 Retrospective: Action item - better planning process
- Draft OKRs doc: Saved in Trix on Jan 8
SUGGESTED PREP:
- Review draft OKRs (linked in description)
- Check team capacity spreadsheet
- Prepare questions about hiring timeline
---
Powered by Trix | Manage PreferencesNotification Customization
# Set up multiple reminder types
trix notifications setup
# Options:
# [x] 15 minutes before (last-minute prep)
# [x] 1 hour before (review materials)
# [x] 1 day before (block prep time)
# [x] Daily digest at 8:00 AM (morning overview)
# Advanced: Different reminders per calendar
# Work calendar: 15 min + 1 hour
# Personal calendar: 1 day only
# Family calendar: Daily digest only
# Configure per-connection via dashboard or API
# Visit app.trixdb.com -> Settings -> IntegrationsMeeting Analytics & Insights
The Problem
You're spending too much time in meetings but don't have data on which meetings are valuable vs wasteful.
The Trix Solution
Query your calendar data like a database. Analyze meeting patterns, attendees, and time allocation.
Example: Meeting Audit
# How many meetings this week?
trix search "content_type:calendar" --days 7 | wc -l
# Output: 23 meetings
# Who do I meet with most?
trix search "content_type:calendar attendees:*" \
--days 30 | grep -o 'attendees:[^ ]*' | sort | uniq -c | sort -nr
# Output:
# 12 attendees:[email protected]
# 8 attendees:[email protected]
# 5 attendees:[email protected]
# Recurring meetings (same title)?
trix search "content_type:calendar" --days 30 \
| grep -o 'title:[^,]*' | sort | uniq -c | sort -nr
# Output:
# 8 title:Team Standup
# 4 title:1:1 with Sarah
# 4 title:Sprint Planning
# Average meeting duration?
# (Requires custom script with API access)
# Meetings by day of week?
# (Shows you meet more on Tuesdays/Thursdays)API-Based Analytics
// Custom analytics script
const meetings = await fetch(
'https://api.trixdb.com/v1/integrations/calendars/upcoming?days=30',
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }
).then(r => r.json());
// Calculate total meeting hours
const totalHours = meetings.events.reduce((sum, event) => {
const duration = (new Date(event.end) - new Date(event.start)) / (1000 * 60 * 60);
return sum + duration;
}, 0);
console.log(`Total meeting time: ${totalHours.toFixed(1)} hours`);
console.log(`Average per week: ${(totalHours / 4).toFixed(1)} hours`);
// Find your most frequent meeting partners
const attendeeCounts = {};
meetings.events.forEach(event => {
event.attendees?.forEach(att => {
attendeeCounts[att.email] = (attendeeCounts[att.email] || 0) + 1;
});
});
console.log('Top 5 meeting partners:',
Object.entries(attendeeCounts)
.sort(([,a], [,b]) => b - a)
.slice(0, 5)
);Smart Scheduling Assistant
The Problem
Someone asks "Can we meet next Tuesday?" - you have to open your calendar, check availability, and manually find a time slot.
The Trix Solution
Query your availability programmatically and integrate with scheduling tools.
Example: CLI-Based Availability Check
# Check if I'm free next Tuesday at 2pm
trix google calendar list \
| grep "Jan 13" | grep "2:00 PM"
# Output: (empty) = You're free!
# Find all free slots next week (requires custom script)
./scripts/find-free-slots.sh --days 7 --duration 60
# Output:
# Free 1-hour slots next week:
# Mon Jan 12: 10:00-11:00 AM, 2:00-3:00 PM, 4:00-5:00 PM
# Tue Jan 13: 9:00-10:00 AM, 11:00-12:00 PM, 3:00-4:00 PM
# Wed Jan 14: All day (no meetings!)
# ...Advanced: Calendly Alternative
Build your own scheduling page using Trix API:
// Custom scheduling endpoint
app.get('/api/availability/:date', async (req, res) => {
// Fetch calendar events for the date
const events = await trixAPI.getUpcomingEvents({
date: req.params.date
});
// Calculate free slots (30-minute intervals)
const workHours = { start: 9, end: 17 }; // 9am-5pm
const freeSlots = calculateFreeSlots(events, workHours);
res.json({
date: req.params.date,
availableSlots: freeSlots,
busySlots: events.map(e => ({
start: e.start,
end: e.end
}))
});
});
// Frontend shows available times
// User clicks a slot -> creates event in your calendar
// No Calendly subscription needed!Workflow Automation
The Problem
Repetitive tasks around meetings - sending reminders, creating notes docs, updating CRM, etc.
The Trix Solution
Use webhooks or polling to trigger automation when calendar events occur.
Example: Auto-Create Meeting Notes
// Webhook handler: New calendar event created
app.post('/webhook/calendar-event', async (req, res) => {
const event = req.body.event;
// Auto-create meeting notes doc
const notesTemplate = `
# ${event.title}
Date: ${event.start}
Attendees: ${event.attendees.map(a => a.name).join(', ')}
## Agenda
(Add agenda here)
## Notes
(Add notes during meeting)
## Action Items
- [ ] TBD
## Next Steps
(Add follow-ups)
`;
// Save to Trix as a memory
await trixAPI.createMemory({
content: notesTemplate,
content_type: 'markdown',
tags: ['meeting-notes', event.title],
metadata: {
event_id: event.id,
meeting_date: event.start,
attendees: event.attendees.map(a => a.email)
}
});
// Optionally: Send email with notes doc link
await sendEmail({
to: event.attendees.map(a => a.email),
subject: `Meeting Notes: ${event.title}`,
body: `Notes doc created: [link]`
});
res.json({ success: true });
});Example: CRM Integration
// After a sales call, auto-update CRM
async function updateCRMAfterMeeting(event) {
// Check if event has customer attendees
const customers = event.attendees.filter(a =>
a.email.includes('@customer.com')
);
if (customers.length === 0) return;
// Update CRM with meeting record
await crmAPI.createActivity({
type: 'meeting',
subject: event.title,
date: event.start,
duration_minutes: (new Date(event.end) - new Date(event.start)) / 60000,
attendees: customers.map(c => c.email),
notes: `Meeting held via ${event.conferenceData?.type || 'in-person'}`,
status: 'completed'
});
// Search Trix for meeting notes
const notes = await trixAPI.search({
query: `event_id:${event.id} meeting-notes`,
limit: 1
});
if (notes.length > 0) {
await crmAPI.addNote({
activity_id: activity.id,
content: notes[0].content
});
}
}Focus Time Protection
The Problem
Your calendar gets filled with meetings, leaving no time for deep work.
The Trix Solution
Automatically detect when you're over-scheduled and suggest focus time blocks.
Example: Weekly Focus Time Audit
# Script: Check if you have enough focus time
#!/bin/bash
# Count meeting hours this week
MEETING_HOURS=$(trix google calendar list \
| grep -E "^\s+[0-9]" | wc -l)
# Assume 40-hour work week, 8 hours/day
WORK_HOURS=40
MEETING_RATIO=$(echo "scale=2; $MEETING_HOURS / $WORK_HOURS * 100" | bc)
echo "Meeting hours this week: $MEETING_HOURS"
echo "Percentage of work time: $MEETING_RATIO%"
if (( $(echo "$MEETING_RATIO > 50" | bc -l) )); then
echo "WARNING: Over 50% of time in meetings!"
echo "Suggested action: Block 2-hour focus time slots"
# Find free 2-hour blocks
# (Requires custom script)
./scripts/suggest-focus-blocks.sh
else
echo "Meeting load is healthy"
fiAdvanced: Auto-Block Focus Time
Automatically create "Focus Time" blocks in your calendar when detecting over-scheduling:
- Run daily cron job to check meeting density
- If >60% of work hours are meetings, find free 2-hour blocks
- Create "Focus Time - Do Not Schedule" events
- Notify team of focus time commitment
Team Coordination
The Problem
Finding time for 5+ people across different calendars and time zones is painful.
The Trix Solution
Query multiple team members' availability to find optimal meeting times.
Example: Team Availability Finder
// Find overlapping free time for team
async function findTeamAvailability(teamEmails, duration, days = 7) {
// Fetch calendars for all team members
const allCalendars = await Promise.all(
teamEmails.map(email =>
trixAPI.getUpcomingEvents({ user: email, days })
)
);
// Find time slots where EVERYONE is free
const workHours = { start: 9, end: 17 };
const freeSlots = findOverlappingFreeSlots(
allCalendars,
duration,
workHours
);
return freeSlots;
}
// Usage
const team = [
'[email protected]',
'[email protected]',
'[email protected]'
];
const slots = await findTeamAvailability(team, 60, 7);
console.log('Team can meet:', slots);
// Output:
// Team can meet:
// - Mon Jan 12, 2:00-3:00 PM
// - Tue Jan 13, 10:00-11:00 AM
// - Wed Jan 14, 3:00-4:00 PMExample Scenarios
Product Manager
Pre-meeting briefings can save 30+ minutes per day by automatically gathering context from Slack, email, and notes before each meeting — so you walk in prepared with the right information.
Sales Engineer
Managing 20+ prospects across multiple calendars (Google, Outlook, shared team) becomes seamless with a unified view. Context-aware reminders include notes from previous calls, so you never double-book or lose track of prospects.
Consultant
Working with multiple clients on different calendar systems (Google, Microsoft, Apple) no longer means juggling multiple apps. Connect them all to Trix and see everything in one place.
Engineering Manager
Calendar analytics help you understand how you spend your time — identify recurring meetings that aren't valuable and block focus time slots to help your team ship faster.
Getting Started
Ready to make your calendar intelligent? Here's how to get started:
1. Connect Your Calendar
# Google Calendar via CLI (recommended)
trix integrations connect google
# Microsoft Outlook and Apple iCloud via dashboard or API
# Visit app.trixdb.com -> Settings -> Integrations2. Enable Features
# Set up notifications (including pre-meeting briefings)
trix notifications setup
# View upcoming Google Calendar events
trix google calendar list3. Import Context
# Import past communications for better briefings
# Use the Trix API or SDK to store emails, Slack messages,
# and notes as memories for richer pre-meeting context
trix integrations connect notion
# The more context in Trix, the better the briefings!4. Customize & Automate
- Build custom scripts using the Trix API
- Set up webhooks for event-driven automation
- Create morning dashboards with your schedule + tasks
- Analyze meeting patterns to reclaim time
Next Steps
- Calendar Integration Overview - Features and providers
- Google Calendar Setup - Connect Google
- Microsoft Outlook Setup - Connect Outlook
- Apple iCloud Setup - Connect iCloud
- API Reference - Build custom integrations