A department chair sends an invitation for Tuesday at 10 a.m. Outlook's Scheduling Assistant shows every instructor as free. Three decline within the hour: they teach at that time. The same thing happens with program committee meetings, appointments booked by academic advisors and workshops organized by the teaching and learning center.
It peaks at the start of each term, when teaching assignments are new, and it hits hardest the people whose schedules are hardest to guess: part-time faculty, instructors who teach on two campuses, and anyone whose sections changed after add/drop.
Why does Outlook show faculty as free when they're teaching?
Availability in Microsoft 365 is computed from each person's own mailbox calendar. The Scheduling Assistant in Outlook and in Teams, and other tools that read free/busy information, look at the events in that calendar and nothing else.
The teaching schedule is somewhere else. It sits in the SIS (Omnivox, Clara, COBA, Banner, PeopleSoft Campus Solutions, Workday Student or Jenzabar), and nothing writes it into Exchange Online. To the calendar system, a class is empty time.
The usual workarounds don't change that.
- ICS subscriptions don't count. A timetable subscribed from a URL appears in Outlook as a separate calendar. Its events are not part of the person's free/busy, so colleagues still see free time.
- Shared calendars are invisible to the tools. A department calendar showing every instructor's classes helps the people who open it. The Scheduling Assistant doesn't open it.
- Google Workspace works the same way. When Google Calendar helps find a time, it looks at people's primary calendars, not at a timetable in the SIS.
Teams adds no separate source. The Teams calendar is a view of the same Exchange Online mailbox, so the Scheduling Assistant in a Teams meeting invitation sees exactly what Outlook sees: nothing during class.
What does it cost?
The visible cost is the rescheduling loop: invitation, declines, new proposal, new declines. Every round costs the organizer time and delays the decision the meeting was meant to make.
The less visible cost falls on faculty. Some leave class early or miss a meeting they should attend. Part-time faculty, whose teaching hours vary most, are the ones most often scheduled out of department life.
Administrative staff absorb the rest. Before booking anything, they check each participant's timetable in the SIS by hand. That is skilled time spent on lookups, and the result goes stale as soon as the schedule changes.
Students feel it too. Booking pages that read an instructor's calendar to offer appointment slots will offer slots that fall during class, and the instructor then has to cancel and rebook by email.
What doesn't work
Asking faculty to block their teaching time by hand. Some do it carefully. Many don't have time in the week before classes. The blocks don't move when a room or time changes, recurring series often run past the end of term, and blocks that ignore holidays hide real availability.
Subscribing to the timetable as an ICS feed. The instructor sees their classes; their colleagues don't, because the subscription doesn't feed free/busy. The ICS feed vs calendar sync comparison covers its other limits.
Scheduling polls. Sending a poll before each meeting works, but it asks every instructor to retype their timetable, one meeting at a time, and the poll is out of date as soon as a section moves.
Department rules. "No meetings on Tuesday mornings" helps, but it doesn't fit everyone's timetable and does nothing for meetings with people outside the department.
How to fix it
Four approaches, compared on what matters to the people who book meetings:
| Approach | Seen by scheduling tools? | Follows SIS changes? | Effort each term |
|---|---|---|---|
| Faculty block time by hand | Yes | No | Every instructor |
| ICS subscription | No | After the app's refresh | Low |
| Shared department calendar | No | Only if someone updates it | Administrative staff |
| Native events from the SIS | Yes | Yes, on each sync | Set up once |
The fourth approach is the only one that is both visible and current. It takes six steps.
1. Get teaching assignments from the SIS
Include every instructor on each section, including co-teachers, lab instructors and substitutes, with one record per teaching session. Assignments are often finalized late, sometimes in the week before classes, so the sync has to keep running after the first push rather than run once.
2. Match each instructor to their account
Map SIS employee identifiers to Microsoft Entra ID or Google Workspace accounts. Part-time faculty are often hired close to the start of term, so plan for accounts that appear late.
3. Write sessions in the primary calendar, as busy
The events must land in the instructor's main calendar, not in a secondary one, and show as busy. Put the course code and room in the subject so the instructor's own view is useful too. Avoid "out of office" or tentative statuses: busy is the status that every scheduling tool reads the same way.
4. Keep details where they belong
What colleagues see beyond busy time depends on the institution's sharing settings: often only free/busy, sometimes the subject and location. Keep student names out of the events regardless.
5. Respect the academic calendar
No busy blocks on holidays, pedagogical days or reading week. Those are often the best days for department meetings, and they should look free.
6. Update on every change
When a section changes time or a substitute takes over, the busy block moves with it, out of one calendar and into the other.
What do instructors get out of it?
The fix is aimed at the people who book meetings, but instructors benefit first. Their teaching week appears in Outlook and Teams next to their meetings, with the room code for each session, so a lecturer who teaches on two campuses sees where to go without opening the SIS. Reminders fire before each class like any other appointment.
It also makes changes visible to the person most affected by them. When a section moves to another room or time, the instructor's own calendar shows it, instead of an email they may read after the fact.
How Calendo handles it
Calendo pushes class schedules from the SIS into the calendars faculty already use, not only students'. Each teaching session is written through the calendar API as a native event in the instructor's own calendar: Outlook, which is also the Teams calendar, for Microsoft 365 accounts, or Google Calendar for Google Workspace accounts. Because it is an event in the primary calendar rather than an overlay subscription, the teaching block shows as busy time to colleagues and to the tools that read free/busy. Details for Microsoft 365 are on the Outlook calendar sync and Microsoft Teams calendar sync pages; Google Workspace institutions can read the Google Calendar sync page.
When the SIS changes, the event follows within minutes: a new room or a new time updates the existing event, so the busy block moves with the class. The event also carries the room code and, for online and hybrid sessions, the Teams meeting link, which makes it useful to the instructor as well as visible to colleagues.
What Calendo doesn't do matters as much. It doesn't book, move or decline meetings, and it doesn't touch meetings already in the calendar. It makes teaching time visible, so the next meeting is planned around it. The same sync puts the timetable in students' calendars too, as described in how to sync class schedules to Outlook, Teams and Google Calendar, and keeps up with changes during the term, as explained in getting schedule changes to students in minutes.
Key takeaways
- Outlook and Teams compute availability from each person's own calendar, so a teaching schedule kept only in the SIS looks like free time.
- ICS subscriptions and shared department calendars don't feed free/busy, so they don't stop meetings being booked over classes.
- Native busy events written from the SIS into each instructor's primary calendar make teaching time visible to the tools that book meetings.
- Calendo makes teaching time visible; it doesn't book, move or decline meetings.
Make teaching time visible in Outlook and Teams
A 30-minute demo of teaching sessions from the SIS appearing in instructors' calendars as busy time and following every change.
Book a demoFrequently asked questions
Why does Outlook show instructors as free when they are teaching?
Outlook and Teams compute availability from the events in each person's own calendar. If the teaching schedule exists only in the student information system, nothing in the calendar marks those hours, so the Scheduling Assistant shows them as free. Writing each teaching session as a busy event in the instructor's primary calendar fixes it, and keeping it synced keeps it right.
Do ICS calendar subscriptions show as busy time in Outlook?
No. A calendar subscribed from an ICS link appears in Outlook as a separate calendar, and its events are not included in the person's free/busy information. The instructor sees their classes, but colleagues booking a meeting still see free time. To count as busy, the events have to be in the person's primary calendar.
Can colleagues see which course an instructor is teaching?
That depends on the institution's calendar sharing settings, not on the sync. Often colleagues see only that the person is busy; some settings also show the subject and location. Either way, class events should hold only the course code, title, room and meeting link, never student names, so they are safe at any sharing level.
Does Calendo cancel meetings that conflict with classes?
No. Calendo writes teaching sessions from the SIS into instructors' calendars as native events and keeps them updated when the schedule changes. It doesn't book, move or decline meetings, and it doesn't touch meetings already in the calendar. Its effect is preventive: once teaching time shows as busy, the next meeting is planned around it.





