Joint Calendar

Product not available

Search for our apps in the Odoo Store

The tool to combine and to show various Odoo events on a single joint calendar or on a few configurable super calendars


  • At the moment we accept only PayPal payments from individuals
  • The price includes all required Odoo dependencies to start
  • You receive source code as a link to download zip archives

Joint / Unified / Super calendar to combine Odoo documents

Have a few calendars to organize various and multiple activities

With this Odoo tool you can combine and place an unlimited number of events on a single calendar or on a few calendars. These events might be of different types: CRM cases, project tasks, phone calls, customers' birthdays, thus, any sort of documents which have a date inside. Due to flexible configuration rules, Odoo administrator simply sets calendars up, while users enjoy their daily routine without excess clicking and multiple windows opened.

Key features

Have as many joint calendars as you wish. Each super calendar is available under a separate menu item.

Include as many event types in this particular calendar as you like. They are shown simultaneously on a single view.   

Calendars are updated regularly. By default it is once an hour, but you may change frequency of updates.

From a super event, users might access a parent activity for extended information. 

It is possible to create a stand-alone joint event. Such activities are not linked to any parents, but they would not disappear when a calendar was refreshed. 

Joint event modification leads to a real-time change of a related activity. Change of a parent will change a super calendar with the next update.

Generate different calendars for different user groups. Odoo administrator fully controls access rights to events. 

New! Sync joint events with Google calendars using this app. These 2 modules let you show any Odoo event in your Google calendars.

Configure pop-up alarms and email notifications for each joint calendar. It let you easily assign reminders for any Odoo document

Odoo may even show the same document twice (e.g. with different start date, name or end date), if an event is found by two independent rules.

Alarms for any Odoo activity

Use the tool to configure customized alarms for any Odoo activity. Remind sales people about next actions by CRM cases. Warn employees about tasks deadlines. Notify factory workers about new manufacturing orders. It is possible to do with joint calendar by yourself without any programming.

  • Indicate default alarms as the setting of this super calendar (in the same way as in Odoo standard meetings)
  • Assign any period of time: from 5 minutes to multiple days
  • Configure alarms as a pop-up reminder in Odoo or as an email notification
  • Each attendee (including portal users!) would be pre-warned for a required activity.

Access rights: private & public

Joint calendar provides an efficient way to control data safety:

  • Rules to generate super events and calendar settings are accessed only by Odoo administrators
  • Ordinary users might observe only calendars they have right to: either public ones or in case they belong to one of calendar user groups. If there were no rights, a related menu would not be shown
  • In case a user had no right to a parent document (definite crm case, task, meeting, etc.), he/she would be able to read, change or delete such an object. Access rights for joint events equal rights for parent objects.
  • If you created a super event manually, you can define whether it is private (for attendees only) or public (available for everybody).

Installation and configuration

The tool is ready to be installed in any Community or Enterprise Odoo database.

To configure a joint calendar, you should set a few rules up. These rules serve as criteria to find particular Odoo objects. Have a look at examples of CRM cases, tasks and meeting above. Then, try to make your own rule (hover a cursor over a field label to look at a hint):

  • 'Model' defines which Odoo document to search for. For example, an opportunity, a sale order, a project task, etc.
  • 'Name' indicates which joint event title would be shown in a super calendar view. In the most cases, it is a name, a reference or a subject
  • 'Start date' is used to apply date and time of a final event. Odoo objects might have various date fields, but you might select any
  • 'Stop date' works in the same way as the start date
  • 'Attendees' regulate who are participants of a joint event. Usually, a responsible person is used (user_id), but you might assign even followers (basically, any 'res.partner' or 'res.users' field of a parent object). Attendees would receive notifications by an event
  • 'Whole date' is a boolean column of a parent document, which defines whether a joint event lasts a whole day. It is used, for example, in case of Odoo meetings, which might be both a few-hours long and a whole-day events.
  • 'Always whole date' let users indicate that disregarding real time of an object, a joint event is for a whole day
  • 'Description' might be used to add notes for a super event. For example, some lead comments or meeting agenda
  • 'Domain' is the purely technical settings to avoid inclusion of undesired events. You should use here the Odoo-like domain in a format [('leaf', 'operator', 'key')]. For instance, to exclude certain stages of tasks: [('stage_id', 'not in', [5, 6])], where 5 & 6 are ids of real stages in use
  • 'Action' serves as a way to open a parent object from a joint event with correct views, defaults and context. It is in use, when a document has a few possible views, and you would like to show a specific one (compare, for example, product simple form and advanced one).

As soon as event rules are ready, create a joint calendar:

  1. Name your joint calendar
  2. Select previously introduced search criteria on the tab 'Rules' to combine various activities
  3. Define 'Privacy' as public (visible for everybody) or private (for certain user groups)
  4. In case a calendar is private, assign at least a single access group, which users might observe activities
  5. 'Related menu' is generated automatically, when you finish configuration. It is how menu would be shown in the 'Events' section
  6. 'Sequence' defines an order of calendars. The lesser, the closer to the top
  7. 'Active menu' is the setting to deactivate this joint calendar for a while
  8. Add a few 'Alarms' (pop-up or email notifications), which would be default to each super event
  9. The 'Limitations' settings let you optimize refreshing of calendars. When there are too many objects, it is reasonable to have events for a definite period. For example, 20 days before today and 30 days after. It will significantly speed the process up.
Now press the button 'Generate Events' and find your joint calendar under the menu unit 'Events'.
To change frequency of calendar refreshing: go to Settings > Technical > Automation > Scheduled Actions. Find the job 'Refresh Joint Events' and change the fields 'Interval number' & 'Interval Unit'.
To change a notification email: go to Settings > Technical > Email > Templates. Here find 'Joint Event Notification'. Be cautious with dynamic values put in brackets.