A comprehensive guide to using TimelyOne, your self-hosted calendar platform.
- Getting Started
- First-Time Setup
- Connecting Calendars
- Using Calendar Views
- Managing Events
- Booking Links
- Settings & Preferences
- Dark/Light Theme
- Tips & Tricks
TimelyOne is a self-hosted calendar platform that brings all your calendars (Google, Outlook) into one unified interface. It's designed for personal use, giving you complete control over your calendar data.
- Unified Calendar View: See all your events from multiple calendars in one place
- Day/Week/Month Views: Switch between different calendar views
- Event Management: Create, edit, and delete events with Google Meet support
- Booking Links: Share a link for others to schedule time with you
- Dark/Light Theme: Choose your preferred theme or use system settings
- Conflict Detection: Get warnings when events overlap
- Timezone Support: Automatic timezone detection and conversion
When you first access TimelyOne, you'll see a setup wizard:
Open your browser and navigate to your TimelyOne installation:
http://localhost:3000
(Or your server's address if deployed)
You'll be prompted to enter:
- Name: Your full name
- Email: Your email address
- Timezone: Auto-detected from your browser (can be changed later)
- Password (Optional): Set a password if you want login protection
- Leave blank if you're using reverse proxy authentication
- Recommended for internet-facing deployments
Click "Complete Setup" and you'll be taken to the main calendar view.
Note: The setup wizard only appears once. If you need to change these settings later, go to Settings.
Connecting your Google Calendar or Outlook Calendar allows TimelyOne to:
- Fetch and display your existing events
- Create new events in your calendar
- Sync changes bidirectionally
- Check availability for booking links
Click "Connections" in the top navigation bar.
Click one of the buttons:
- "Add Google Calendar" - for Gmail/Google Workspace calendars
- "Add Outlook" - for Microsoft/Office 365 calendars
A new window will open asking you to:
- Sign in to your Google/Microsoft account
- Grant TimelyOne permission to access your calendar
- Select which calendars to sync (if prompted)
After authorization:
- The window will close automatically
- Click "Refresh Connections" on the Connections page
- Your account will appear in the "Connected Accounts" list
Click "Sync All" to fetch your events for the first time.
This may take a moment depending on how many events you have.
On the Connections page, you'll see:
- Connected account email
- Provider (Google/Microsoft)
- Status (ACTIVE/SYNCING)
- Number of calendars
- Last sync time
Click on a connected account to expand it and see all available calendars:
- Toggle switches: Enable/disable individual calendars
- Syncing badge: Indicates which calendars are actively syncing
- Event count: Shows number of events in each calendar
- Click on the connected account to expand
- Click "Disconnect" button
- Confirm the disconnection
Warning: Disconnecting will remove all synced events from TimelyOne. Your events in Google/Microsoft will remain unchanged.
TimelyOne offers three calendar views: Day, Week, and Month.
Use the view toggle in the top-right corner:
- Day: Single day with hourly timeline
- Week: 7-day grid view
- Month: Traditional calendar month
Best for: Detailed view of a single day's schedule
Features:
- Hourly time slots (6 AM - 10 PM by default)
- Current time marker (red line)
- All-day events at the top
- Drag and drop to reschedule events
Navigation:
- Click arrows to go to previous/next day
- Click "Today" to jump to current day
Best for: Week-at-a-glance planning
Features:
- 7 columns (Sunday - Saturday)
- All-day events row
- Time slots for each day
- Color-coded events by calendar
- Drag and drop within the week
Navigation:
- Click arrows to move by week
- Click "Today" to jump to current week
Best for: Long-term overview
Features:
- Full calendar month grid
- Event badges showing time and title
- "+X more" indicator when day has many events
- Click any day to see all events
Navigation:
- Click arrows to move by month
- Click "Today" to jump to current month
- Click any day to open day view
- Click any time slot in Day or Week view
- Event creation dialog opens
- Fill in event details (see form fields below)
- Click "Create Event"
- Click "New Meeting" button in navigation
- Fill in event details
- Click "Create Event"
Required:
- Title: Event name (e.g., "Team Standup")
Optional:
- Description: Additional details
- Location: Physical or virtual location
- Start Time: Date and time
- End Time: Date and time
- Add Google Meet: Toggle to create video conference link
- All Day Event: Toggle for all-day events (no specific time)
- Click on any event in the calendar
- Event details dialog opens
- Click "Edit" button
- Modify fields as needed
- Click "Save Changes"
- Click on the event
- Click "Delete" button in the dialog
- Confirm deletion
Note: Changes are synced to your Google/Microsoft calendar immediately.
In Day/Week View:
- Click and hold an event
- Drag to new time slot
- Release to drop
- Event is automatically updated
Tip: You can drag events across days in Week view!
Click any event to see full details:
- Title and description
- Date and time
- Duration
- Location
- Google Meet link (if available)
- Attendees
- Calendar source
Create a personal scheduling page for others to book time with you.
Booking links are your own personal scheduling pages (like Calendly) that you can share with others. People can:
- See your availability
- Choose a time slot
- Book a meeting with you
- Get automatic calendar invites
Click "Booking Link" in the navigation bar.
Fill in the form:
Basic Information:
- Title: Page heading (e.g., "Book a Meeting with John")
- Description: Instructions for visitors
- URL Slug: Your custom URL (e.g., "john-doe")
- Your booking page will be at:
your-domain.com/book/john-doe
- Your booking page will be at:
Meeting Settings:
- Duration Options: Select available meeting lengths
- 15 minutes
- 30 minutes
- 60 minutes
- Default Duration: Pre-selected option
- Buffer Time: Minutes before/after meetings (prevents back-to-back)
Calendar Selection:
- Choose which calendar to check for conflicts
- Choose which calendar to create new bookings in
Availability:
- Timezone: Your timezone (for availability calculations)
- Working Hours: Days and times you're available
- Monday - Friday: 9:00 AM - 5:00 PM (default)
- Customize for each day
- Disable days you're unavailable
Click "Save Booking Link" or "Update Booking Link".
Copy your booking URL and share it:
- Via email
- In your email signature
- On your website
- In social media bios
- In Zoom/Teams profile
Example URL: https://calendar.yourdomain.com/book/john-doe
For Visitors:
- Open your booking link
- See available time slots
- Choose a duration (15/30/60 min)
- Select a date and time
- Enter their details (name, email, notes)
- Confirm booking
For You:
- Booking appears in your calendar automatically
- Both you and the visitor receive calendar invites
- Google Meet link is created automatically
- Email notifications sent (if configured)
View Bookings:
- Bookings appear as regular events in your calendar
- Tagged with visitor's email in description
Cancel a Booking:
- Delete the event from your calendar
- (Future: Automatic cancellation emails)
Disable Booking Link:
- Go to Booking Link page
- Toggle "Active" switch to OFF
- Save changes
- Visitors will see "Booking link is currently unavailable"
Access settings by clicking the Settings icon (gear) in the navigation bar.
Name:
- Update your display name
- Shown in booking confirmations
Email:
- Your primary email address
- Cannot be changed after setup (contact admin)
Auto-Detect:
- Click "Detect Timezone" to use browser's timezone
Manual Selection:
- Choose from dropdown list
- All events will display in this timezone
- Booking times adjust automatically
Set Password:
- If you didn't set one during setup
- Enables login protection
Change Password:
- Enter current password
- Enter new password
- Confirm new password
Security Tips:
- Use a strong, unique password
- Consider using a password manager
- Enable 2FA on your reverse proxy (if applicable)
Delete Account:
- Permanently deletes all your data
- Removes all calendar connections
- Cannot be undone
- Requires confirmation
TimelyOne includes a comprehensive theme system.
Click the theme toggle button in the navigation bar (sun/moon icon).
Available Options:
- Light Mode: Bright, high-contrast interface
- Dark Mode: Easy on the eyes, great for nighttime
- System: Automatically follows your OS theme preference
Automatic Adaptation:
- Event colors adjust for readability
- All components styled for both themes
- Smooth transitions when switching
Persistence:
- Your choice is saved locally
- Remembered across sessions
- Use System mode to match your OS
- Use Dark mode for reduced eye strain
- Use Light mode for printing/screenshots
(Coming soon in future updates)
Calendar Syncing:
- Run "Sync All" after making changes in Google/Microsoft
- Sync happens incrementally (only fetches changes)
- Check "Last Sync" time on Connections page
Event Management:
- Use descriptive titles for better visibility
- Add locations to help with planning
- Enable Google Meet for remote meetings
- Set all-day events for holidays/travel
Booking Links:
- Set realistic buffer times (5-15 minutes)
- Update working hours when schedule changes
- Disable on vacation days
- Add clear description of what the meeting is for
Performance:
- Deselect calendars you don't need to see
- Disconnect accounts you're not using
- Keep event titles concise for month view
Events not showing:
- Check that calendar is selected in Connections
- Click "Sync All" to refresh
- Verify date range (check view filters)
Booking times incorrect:
- Check timezone in Settings
- Verify working hours in Booking Link config
- Ensure calendar is synced
Can't create events:
- Verify calendar is connected
- Check OAuth permissions
- Try disconnecting and reconnecting
For more issues, see TROUBLESHOOTING.md.
- README - Overview and quick start
- ARCHITECTURE - Technical details
- API REFERENCE - API documentation
- DEPLOYMENT - Deployment guide
- TROUBLESHOOTING - Common issues
- Issues: Report bugs on GitHub
- Questions: Check documentation first
- Feature Requests: Open an issue with details
- All data stays on your server
- No third-party analytics
- No data sent to external services (except Google/Microsoft for calendar sync)
- Full control over backups and retention
- Use HTTPS in production (via reverse proxy)
- Set strong password if exposed to internet
- Keep software updated (npm update regularly)
- Backup database regularly
- Use firewall to restrict access if self-hosting
- Stored securely in database
- Never sent to browser/client
- Managed by Composio platform
- Automatically refreshed
Built with privacy in mind. Your calendar, your data, your control.