Skip to main content
iVentureTeam

Odoo 20 Calendar Release Notes

All 11 Calendar changes from the official Odoo 20 release notes, explained in plain words with a screenshot from a live Odoo 20 database, plus where to find each one and what it means for your upgrade.

Planning the move? See our Odoo upgrade services, the Odoo 20 upgrade guide or get a number from the migration cost calculator.

New feature 5Enhancement 6In Community 9Enterprise only 2
Type
Edition

Change 1 of 11

Browse other calendars

EnhancementCommunity

View other people's calendars from the sidebar.

Official Odoo 20 release note

In plain words

The Calendar side panel has a "Meet with" field. Add one or more colleagues there and their meetings are shown next to yours, each person in their own color. Odoo 19 already had an attendee filter; Odoo 20 reworks it into this simpler "Meet with" picker.

Calendar > CalendarMarc Demo added under "Meet with"; his meeting "Requirements review" now shows in the week view in his color.

Where to find it

  1. Calendar > Calendar.
  2. In the side panel, under "Meet with", type Marc Demo and select him.

For users

Type a colleague's name under "Meet with" to see their calendar beside yours. The selection resets when the view is reloaded.

For developers

The attendee filter section is now AttendeeCalendarFilterSection with a MultiRecordSelector ("+ Add guests") instead of the old many2manyattendeeexpandable filter list.

Upgrading from Odoo 19

None for data. Custom JS that patched the Odoo 19 attendee filter section must be reviewed.

Change 2 of 11

Detection of times in "All day" event titles

New featureCommunity

When a new event is created from the "All day" section, Calendar automatically interprets the time in the title (e.g., 2 PM Meeting), and correctly places it in the calendar.

Official Odoo 20 release note

In plain words

When you click in the "All day" row and type a title such as "2 PM Client call", Odoo reads the time in the title, turns off "All day" and places the event at 2:00 PM to 3:00 PM. Ranges like "9-10" or "14:30-16:00" also work.

Calendar > Calendar (quick create)After typing "2 PM Client call" in an all-day slot, the event switched to Sep 20, 2:00 PM to 3:00 PM and "All day" is unticked.

Where to find it

  1. Calendar > Calendar, Week view.
  2. Click an empty cell of the all-day row.
  3. Type "2 PM Client call" as title and press Tab.

For users

Quick-create an all-day event with a time in its title and it becomes a timed event automatically.

For developers

New onchange calendar.event._onchange_name_extract_time() and _parse_time_from_title() (regex plus babel time parsing, in the user's time zone). It only runs with the is_quick_create_form context and when allday is set.

Upgrading from Odoo 19

None.

Change 3 of 11

Google and Outlook synchronization

EnhancementCommunity

Partly confirmed in the Odoo 20 source code. Parts of this note could not be traced.

Calendar synchronization with Google Calendar and Microsoft Outlook is now significantly faster and more reliable.

Official Odoo 20 release note

In plain words

Many changes rework the Google and Outlook sync: cleaner sync flows, a "Sync unsuccessful / Try again" message when a sync fails, the synced email address shown on the Stop Sync button, and the option to switch the linked account. The speed gain itself cannot be measured here. The screenshot shows the sync buttons that appear once Google and Outlook credentials are configured.

Calendar > CalendarThe header shows "Synchronize with Outlook / Google" once credentials are set. Dummy credentials were used for this shot, so no real sync ran.

Where to find it

  1. Configure Google and Outlook client credentials (Settings > Integrations).
  2. Open Calendar > Calendar: the "Synchronize with Outlook / Google" buttons appear in the header.

For users

Sync errors are reported in the Calendar header with a retry button; the Stop Sync button shows which account is synced.

For developers

Sync flows in google_calendar and microsoft_calendar were refactored (shared sync base, account switching, error state in the calendar model).

Upgrading from Odoo 19

Check custom code that overrides the Google or Outlook sync methods; several were moved or renamed.

  • A real Google or Outlook account cannot be connected in this test database, and "faster" cannot be measured: Not verified from the supplied source code as a speed claim.

Change 4 of 11

Google Calendar sync

New featureCommunity

Work locations set in Google Calendar are now reflected in Odoo Calendar.

Official Odoo 20 release note

In plain words

A new module, HR Calendar with Google Calendar (hr_calendar_google, installed automatically with hr_calendar and google_calendar), reads the working location (home, office, other) that users set in Google Calendar and copies it to their work location in Odoo. A daily scheduled action keeps it up to date.

Settings > Technical > Scheduled ActionsThe daily scheduled action "HR Calendar Google: sync working locations" added by the new module.

Where to find it

  1. Activate developer mode.
  2. Settings > Technical > Scheduled Actions, search "working locations".

For users

Work locations set in Google Calendar appear on the employee's work location in Odoo (for example in the Calendar week header).

For developers

New auto-install module hr_calendar_google with cron "HR Calendar Google: sync working locations" (res.users.cron_sync_working_locations).

Upgrading from Odoo 19

Auto-installs when hr_calendar and google_calendar are present.

  • The actual sync needs a connected Google account, so only the scheduled action that runs it is shown.

Change 5 of 11

Linked records

EnhancementCommunity

Link a Calendar event to any record in Odoo.

Official Odoo 20 release note

In plain words

The meeting form has an editable "Linked to" field. Pick a model (Lead, Task, Sales Order, ...) and a record to attach the meeting to it. In Odoo 19 the link was only shown, read-only, when the meeting was created from that record.

Calendar > Meetings > Demo follow-up (linked)The "Linked to" field set to Lead / Quote for 12 Tables.

Where to find it

  1. Calendar > open a meeting in full form.
  2. Set "Linked to" to Lead and pick an opportunity.

For users

Link any meeting to any Odoo record from the meeting form.

For developers

New computed/inverse Reference field calendar.event.res_record ("Linked to") over res_model_id / res_id.

Upgrading from Odoo 19

None. Existing res_model/res_id values show up in the new field.

Change 6 of 11

Manage and share availabilities

EnhancementEnterprise only

Manage and share a link to your availabilities or appointments from the Calendar app.

Official Odoo 20 release note

In plain words

The Calendar app now has a "Share my calendar" button in the control panel, and a "Booking Pages" section in the side panel. Add your appointment types there, then copy their invite link, open their settings or edit their slots straight from the calendar.

Calendar > CalendarBooking Pages in the side panel, with the copy-link, settings and remove buttons of Online Cooking Lesson. "Share my calendar" is at the top left.

Where to find it

  1. Calendar > Calendar.
  2. Side panel > Booking Pages > "+ Add Booking Pages", pick Online Cooking Lesson.
  3. Hover the entry to see the link, settings and remove buttons.

For users

Share your availability link or a booking page link without leaving Calendar.

For developers

The appointment calendar side panel gets a Booking Pages AutoComplete plus hover actions (copy URL, configure, remove).

Upgrading from Odoo 19

None.

Change 7 of 11

Manage pending activities

New featureCommunity

Visualize and manage pending activities via the Calendar app.

Official Odoo 20 release note

In plain words

The Calendar shows your pending activities as a "N pending activities" item at the top of each day (toggle with "My Activities" in the side panel). Click it to list the activities and mark them done, reschedule or edit them directly.

Calendar > CalendarThe popover lists the three activities due that day, each with reschedule, done and edit buttons.

Where to find it

  1. Calendar > Calendar, Week view.
  2. Click "3 pending activities" on Friday.

For users

Your to-dos appear in the calendar next to your meetings and can be handled from a popover.

For developers

New activity model/renderer for the attendee calendar; res.users.settings stores the "My Activities" toggle.

Upgrading from Odoo 19

None.

Change 8 of 11

Mobile calendar redesign

EnhancementCommunity

Navigate the Calendar app more easily on mobile devices thanks to improved touch interactions and better use of screen space.

Official Odoo 20 release note

In plain words

On a phone the Calendar uses a compact layout: the active calendars sit in a thin strip above the grid (tap it to open the full panel), day headers are narrower and all-day items show as short chips, so more of the day grid fits on screen. Swiping between periods is also smoother.

Calendar (phone)The compact filter strip and the narrow week header with pending-activity chips on a phone-sized screen.

Where to find it

  1. Open Calendar on a phone (or a phone-sized browser).

For users

Easier Calendar use on phones.

For developers

Mobile SCSS and the mobile filter panel were reworked; custom mobile calendar styling may need a check.

Upgrading from Odoo 19

None.

Change 9 of 11

Multiple calendars in one place

New featureCommunity

Create and manage multiple calendars in Odoo, including shared team calendars.

Official Odoo 20 release note

In plain words

Each user can now have several calendars. Under "My Calendars" click "+ Add a calendar" to create one, give it a color and default privacy, and share it with colleagues. Shared calendars, such as a team calendar, appear in every member's list.

Calendar > Calendar"My Calendars" lists the personal calendar and a shared "Sales Team Calendar", with "+ Add a calendar" below.

Where to find it

  1. Calendar > Calendar.
  2. Side panel > My Calendars > "+ Add a calendar" > Create Calendar.

For users

Create personal and team calendars and toggle them in the side panel.

For developers

New models calendar.calendar (name, default privacy, share_user_ids) and calendar.user (membership with owner/writer role, color, filter state); calendar.event gets calendar_id.

Upgrading from Odoo 19

New tables. Every user gets a primary calendar; events are attached to calendars during upgrade.

Change 10 of 11

Non-recurring appointments

EnhancementEnterprise only

Manage and create openings for non-recurring appointments more easily from both the Appointments and Calendar apps.

Official Odoo 20 release note

In plain words

An appointment type now has a simple Schedule choice: "Repeats Weekly" or "Does not repeat". With "Does not repeat", click "Create Slots" to draw one-off openings in the calendar. The same slot editor is reachable from the Booking Pages in the Calendar app.

Appointments > Appointments > Product Demo (one-off)Schedule set to "Does not repeat" with the "Create Slots" link; the one-off slot is listed below.

Where to find it

  1. Appointments > Appointments > open or create an appointment type.
  2. Set Schedule to "Does not repeat", then click "Create Slots".

For users

Setting up one-off appointment slots takes a single choice and a few drags in the calendar.

For developers

New computed field appointment.type.category_slot_scheduling (weekly / flexible) mapped to the category field by an onchange.

Upgrading from Odoo 19

None.

Change 11 of 11

Sync multiple Google calendars

New featureCommunity

You can now sync multiple Google calendars with Odoo, with changes reflected both ways.

Official Odoo 20 release note

In plain words

With multiple calendars, Google sync works per calendar. The Calendars list has a "Google Sync" switch on each calendar, so several Google calendars can be kept in sync with their Odoo counterparts in both directions. Outlook sync was adapted the same way.

Calendar > CalendarsThe "Google Sync" switch on each calendar: on for the personal calendar, off for the Sales Team Calendar.

Where to find it

  1. Calendar > Calendar > side panel > "+ Add a calendar" > All calendars.

For users

Choose which of your calendars are synced with Google.

For developers

google_calendar adds google_sync_enabled on calendar.calendar / calendar.user and syncs each calendar separately (imported shared calendars can have no owner).

Upgrading from Odoo 19

Existing Google sync is attached to the primary calendar.

  • No Google account is connected in this database, so the switch is shown but no calendars are imported.

See all 585 Odoo 20 changes across 52 apps

Odoo 20 Calendar: common questions

What is new in Odoo 20 Calendar?

The official Odoo 20 release notes list 11 Calendar changes (5 new features, 6 enhancements). They include Browse other calendars, Detection of times in "All day" event titles, Google and Outlook synchronization, Google Calendar sync and more.

Are the Odoo 20 Calendar changes available in Community edition?

9 of the 11 changes are in Odoo 20 Community (and Enterprise). 2 are Enterprise only. Each change on this page is labeled with its edition.

Do Odoo 20 Calendar changes affect my customizations when upgrading from Odoo 19?

5 of the 11 changes have something to check when upgrading from Odoo 19, for example Browse other calendars, Google and Outlook synchronization, Google Calendar sync. Each change on this page has an "Upgrading from Odoo 19" note. Test custom modules on a copy of your database before moving production.

How do I upgrade Calendar to Odoo 20?

Restore a copy of your database, run the Odoo 20 upgrade on the copy, fix any custom modules that extend Calendar, then test your main Calendar flows with real users before switching production. iVentureTeam runs Odoo upgrades end to end, including custom module migration and user testing.

Odoo services for this

More Odoo 20 release notes

Planning your Odoo 20 move

Want these Calendar changes in your database?

We upgrade Odoo databases with their customizations and data intact, and test every custom module against the new version before go-live.