iCal Calendar Sync for Leave Management: See Who's Off in Google Calendar & Outlook
The biggest problem with leave management software is that nobody wants to open another app. Your team already lives in Google Calendar, Outlook, or Apple Calendar. If they have to log into a separate tool to see who's off today, they simply won't. Calendar sync solves this by pushing approved absences directly into the calendars your team already uses, using an open standard called iCal.
Why calendar sync matters for leave management
Without calendar sync, your team's leave data lives in a silo. The HR system knows that Sarah is off next Thursday, but the project manager scheduling a sprint review doesn't. The result is double-booked meetings, missed deadlines, and frustrated employees who have to explain "I'm on leave that day" three times.
Calendar sync creates a single source of truth. When a leave request is approved, it appears as an all-day event in the calendars people already check every morning. No context-switching, no logging into a second system, no surprises.
The key benefits are:
- Visibility without effort — team absences appear alongside regular meetings.
- Fewer scheduling conflicts — you can see at a glance that two of your five developers are off next week before you commit to a deadline.
- No extra logins — the calendar app is already open on everyone's screen.
- Works across platforms — iCal is supported by virtually every calendar application.
What is iCal?
iCal (formally iCalendar, defined by RFC 5545) is an open standard for exchanging calendar data. It uses .ics files that describe events in a structured text format. Every major calendar application supports it — Google Calendar, Microsoft Outlook, Apple Calendar, Thunderbird, and dozens more.
There are two ways to use iCal:
- File import — download an
.icsfile and import it. This is a one-time snapshot; it doesn't update. - Calendar subscription — subscribe to a URL that serves an
.icsfeed. The calendar app polls this URL periodically (typically every few hours) and updates automatically.
For leave management, subscriptions are what you want. When a new absence is approved or a request is cancelled, the feed updates, and your calendar picks up the change on its next refresh.
Personal feeds vs team feeds
Good leave management software offers at least two types of calendar feed:
Personal feed
Shows only your own approved leave. Useful for employees who want to see their time off alongside personal events. This feed typically includes the leave type (annual leave, sick leave, TOIL) and the dates.
Team feed
Shows all approved leave for your team, department, or the entire company. This is what managers care about — seeing at a glance who's off on any given day. Team feeds usually show the employee's name and the leave type.
Some systems also offer department-level feeds so a marketing manager only sees marketing absences, not the entire company.
How token-based authentication works
Calendar subscriptions present a security challenge. When Google Calendar fetches your iCal feed, it can't log in with a username and password — it just sends a plain HTTP GET request to the URL you gave it.
The solution is token-based authentication. Each calendar feed URL contains a unique, random token — something like:
https://app.leavely.online/api/ical/team/abc123def456
This token acts as both the identifier and the password. Anyone with the URL can see the feed, but the token is long enough (typically 32+ characters) that it can't be guessed. If a token is compromised, you regenerate it — the old URL stops working instantly.
The key security principle: no passwords are shared. The token is generated by the system and embedded in the URL. It doesn't grant access to anything else — just the calendar feed.
How to add an iCal feed to Google Calendar
- Copy your iCal feed URL from your leave management software.
- Open Google Calendar on the web (calendar.google.com).
- In the left sidebar, click the + next to "Other calendars".
- Select "From URL".
- Paste the iCal feed URL.
- Click "Add calendar".
Google Calendar will fetch the feed immediately and then refresh it roughly every 12–24 hours. You can't control the refresh interval — that's a Google limitation. New leave approved today will typically appear in your Google Calendar by tomorrow.
How to add an iCal feed to Outlook
Outlook on the web (outlook.com / Microsoft 365)
- Copy your iCal feed URL.
- Go to Calendar → Add calendar → Subscribe from web.
- Paste the URL, give it a name (e.g., "Team Leave"), and choose a colour.
- Click Import.
Outlook desktop (Windows)
- Go to File → Account Settings → Internet Calendars.
- Click New, paste the URL, and click Add.
- Give the calendar a name and click OK.
Outlook typically refreshes subscribed calendars more frequently than Google — roughly every 1–4 hours depending on the client.
Privacy considerations
Calendar feeds can expose sensitive information if not handled carefully. Consider these points:
- Leave type visibility — should team feeds show "sick leave" or just "absent"? Many employees don't want colleagues knowing they're off sick versus on holiday.
- Token security — treat feed URLs like passwords. Don't paste them in Slack channels or shared documents.
- Regeneration — if someone leaves the company or a token leaks, regenerate it immediately.
- Scope — managers should see their team's leave. Employees should only see their own or a limited team view, depending on company policy.
How Leavely implements calendar sync
Leavely provides iCal calendar feeds for both individuals and teams:
- Personal feed — every employee gets their own iCal URL showing their approved leave.
- Team feed — managers get a feed showing all approved absences for their team or the entire organisation.
- Token-based security — each feed has a unique token. Regenerate it in one click if needed.
- Privacy controls — admins choose whether team feeds show leave types or just "absent".
- Works everywhere — standard iCal format compatible with Google Calendar, Outlook, Apple Calendar, and any other iCal-compatible app.
- Real-time updates — the feed reflects the latest approved leave whenever your calendar app refreshes.