Calendar Integration
Automatically optimize your audio settings based on your calendar events. Jyv Desktop prepares your audio before meetings start.
Overview
Jyv Desktop's calendar integration allows you to automatically activate audio profiles based on your schedule. No more scrambling to adjust audio settings right before an important meeting—Jyv Desktop prepares everything in advance.
What Calendar Integration Does
- Auto Profile Activation: Switch profiles based on meeting types
- Pre-Meeting Prep: Activate settings 5-10 minutes before events
- Smart Detection: Recognize meeting types from keywords and attendees
- Notification Muting: Silence distractions during scheduled meetings
- Post-Meeting Cleanup: Restore previous settings after events end
- Free/Busy Awareness: Don't activate during focus time blocks
Setup & Connection
Connect Your Calendar
Open Jyv Desktop and navigate to Settings → Integrations → Calendar.
Choose your calendar provider:
- Google Calendar - Recommended for Google Workspace users
- Microsoft Outlook/Office 365 - For Microsoft 365 users
- Apple Calendar (iCloud) - For macOS users
- CalDAV - For other calendar services
You can connect multiple calendars. Jyv Desktop will monitor all of them for events.Grant Permissions
You'll be prompted to grant permissions:
- Read Events: Required to detect meetings
- Read Event Details: Needed for keyword matching
Note: Jyv Desktop requests read-only access. We never modify your calendar.
Configure Sync Settings
Calendar Sync Configuration{ "calendarSync": { "enabled": true, "syncInterval": 15, // Check for events every 15 minutes "lookAhead": 24, // Look 24 hours ahead "includeAllDayEvents": false, "calendars": [ { "name": "Work Calendar", "enabled": true, "priority": "high" }, { "name": "Personal Calendar", "enabled": true, "priority": "medium" } ] } }Test the Connection
Verify the integration is working:
- Create a test event in your calendar (10 minutes from now)
- In Jyv Desktop, go to Calendar tab
- Verify the event appears in the upcoming events list
- Check that the correct profile would be activated
Auto Profile Activation
Configure which audio profiles activate for different types of meetings.
Keyword-Based Matching
Jyv Desktop scans event titles and descriptions for keywords:
{
"keywordRules": [
{
"keywords": ["client", "customer", "demo", "presentation"],
"profile": "Executive Calls",
"priority": "high",
"activateBefore": 600 // 10 minutes early
},
{
"keywords": ["standup", "daily sync", "team meeting"],
"profile": "Team Standup",
"priority": "medium",
"activateBefore": 120 // 2 minutes early
},
{
"keywords": ["interview", "candidate"],
"profile": "Interview",
"priority": "high",
"activateBefore": 300 // 5 minutes early
},
{
"keywords": ["1:1", "one on one", "check-in"],
"profile": "Casual Meeting",
"priority": "low",
"activateBefore": 60
}
]
}Keywords are case-insensitive and can appear anywhere in the event title or description.
Attendee-Based Matching
Activate profiles based on who's attending the meeting:
{
"attendeeRules": [
{
"attendees": ["ceo@company.com", "board@company.com"],
"profile": "Executive Calls",
"reason": "Executive attendees detected"
},
{
"attendeeCount": {
"min": 10
},
"profile": "Webinar/Presentation",
"reason": "Large meeting (10+ attendees)"
},
{
"attendeeCount": {
"max": 2
},
"profile": "1:1 Meeting",
"reason": "One-on-one conversation"
}
]
}Duration-Based Matching
Different audio settings for short vs. long meetings:
{
"durationRules": [
{
"duration": {
"max": 15
},
"profile": "Quick Sync",
"muteNotifications": false
},
{
"duration": {
"min": 60
},
"profile": "Long Meeting",
"muteNotifications": true,
"enableBreakReminders": true
},
{
"duration": {
"min": 120
},
"profile": "Extended Session",
"cpuMode": "efficiency"
}
]
}Calendar-Specific Rules
Apply different rules to work vs. personal calendars:
{
"calendarRules": [
{
"calendar": "Work Calendar",
"defaultProfile": "Professional Meetings",
"alwaysActivate": true
},
{
"calendar": "Personal Calendar",
"defaultProfile": "Casual Meeting",
"onlyActivateForKeywords": true
},
{
"calendar": "Podcast Recording",
"defaultProfile": "Studio Recording",
"alwaysActivate": true,
"restoreAfter": true
}
]
}Smart Calendar Rules
Priority and Conflicts
When multiple rules match, Jyv Desktop uses priority to decide:
Priority Order (High to Low):
- Attendee-based rules (specific people)
- Keyword-based rules (meeting type)
- Duration-based rules (meeting length)
- Calendar default (fallback)
Back-to-Back Meetings
Handle consecutive meetings intelligently:
{
"backToBackMeetings": {
"enabled": true,
"switchProfiles": true, // Change profiles between meetings
"transitionTime": 30, // 30 seconds to switch
"maintainIfSameProfile": true, // Don't restart if same profile
"bufferTime": 120 // 2 min buffer for profile changes
}
}Focus Time Protection
Respect focus time and do-not-disturb blocks:
{
"focusTime": {
"detectFromCalendar": true,
"keywords": ["focus", "deep work", "writing time"],
"profile": "Focus Mode",
"muteAllNotifications": true,
"pauseAutomation": false
}
}After-Hours Handling
Apply different rules outside work hours:
{
"afterHours": {
"workHours": {
"start": "09:00",
"end": "18:00",
"timezone": "America/New_York"
},
"afterHoursProfile": "Casual Meeting",
"requireExplicitActivation": true,
"notifyBefore": 600 // 10 min warning for after-hours meetings
}
}Meeting Preparation
Configure what happens before, during, and after meetings.
Pre-Meeting Actions
- Activate Profile: Switch to meeting-specific audio settings
- Mute Notifications: Silence system sounds and app notifications
- Reduce App Volumes: Lower music, games, and background apps
- Test Audio: Run automatic audio check (optional)
- Show Reminder: Display desktop notification that profile is active
During Meeting
- Maintain Profile: Keep meeting settings active
- Monitor Audio Quality: Alert if issues detected
- Auto-Ducking: Reduce other apps when you speak
- Break Reminders: Notify for long meetings (60+ min)
Post-Meeting Actions
{
"postMeeting": {
"restorePreviousProfile": true,
"restoreDelay": 60, // Wait 1 minute after meeting ends
"unmuteNotifications": true,
"restoreAppVolumes": true,
"showSummary": false // Show audio quality summary
}
}Example Configurations
Remote Worker Setup
Optimized for someone working from home with frequent meetings:
{
"profile": "Remote Worker",
"calendars": ["Work Calendar"],
"workHours": "09:00-18:00",
"defaultProfile": "Professional Meetings",
"keywordRules": [
{"keywords": ["client", "demo"], "profile": "Executive Calls"},
{"keywords": ["standup"], "profile": "Team Sync"},
{"keywords": ["focus"], "profile": "Focus Mode"}
],
"autoMuteNotifications": true,
"activateBefore": 300,
"restoreAfter": true
}Executive/Manager Setup
For someone with many high-stakes meetings:
{
"profile": "Executive",
"calendars": ["Executive Calendar", "Team Calendar"],
"defaultProfile": "Executive Calls",
"attendeeRules": [
{"attendees": ["board@"], "profile": "Board Meeting"},
{"attendeeCount": {"min": 20}, "profile": "All-Hands"}
],
"alwaysMuteNotifications": true,
"activateBefore": 600,
"showPreMeetingReminder": true,
"audioQualitySummary": true
}Content Creator Setup
For podcasters, streamers, and video creators:
{
"profile": "Content Creator",
"calendars": ["Recording Schedule", "Guest Calendar"],
"keywordRules": [
{"keywords": ["podcast"], "profile": "Podcast Recording"},
{"keywords": ["stream"], "profile": "Live Stream"},
{"keywords": ["interview"], "profile": "Guest Interview"}
],
"activateBefore": 900, // 15 minutes prep time
"runAudioTest": true,
"muteAllApps": true,
"cpuMode": "quality"
}Hybrid Worker Setup
Different settings for office vs. home:
{
"profile": "Hybrid Worker",
"locationRules": [
{
"location": "home",
"defaultProfile": "Home Office",
"noiseSuppression": "maximum"
},
{
"location": "office",
"defaultProfile": "Office Meeting Room",
"noiseSuppression": "medium"
}
],
"detectLocationFrom": "calendar", // Look for "Location:" in events
"autoSwitch": true
}Troubleshooting
Calendar Events Not Appearing
Solution:
Check Connection
Go to Settings → Integrations → Calendar and verify connection status shows "Connected".
Re-authorize
Click Disconnect then Reconnect to refresh permissions.
Verify Calendar Selection
Ensure the correct calendars are checked in the calendar list.
Check Sync Interval
Lower the sync interval from 15 minutes to 5 minutes for more frequent updates.
Wrong Profile Activating
Cause: Keyword or attendee matching not configured correctly
Solution:
- Review your keyword rules and ensure they're specific enough
- Check rule priority—more specific rules should have higher priority
- Look at Jyv Desktop logs to see which rule triggered
- Add negative keywords to exclude certain event types
Profile Not Activating Before Meeting
Solution:
- Verify "Auto-activate profiles" is enabled in calendar settings
- Check that the event matches at least one rule (keyword, attendee, or default)
- Ensure the activateBefore time is reasonable (5-10 minutes recommended)
- Verify the event hasn't already started (profiles don't activate for past events)
Profiles Not Restoring After Meetings
Solution:
- Enable "Restore previous profile after meeting" in settings
- Check that you don't have back-to-back meetings (profile may stay active)
- Adjust the restoreDelay if meetings often run over time
- Manually switch profiles if you need immediate control
Was this helpful?
Need more help?
Can't find what you're looking for? Our support team is here to help.