|
Odoo Jitsi integration · Calendar & Appointment · v16.0.1.1.0 Every Odoo appointment gets its own Jitsi Meet room.Your team meets in Jitsi, but Odoo keeps sending Discuss links — so someone pastes the real one in by hand. Tick one box and every Odoo appointment and calendar event arrives with its own Jitsi Meet room. See the 8 featuresWhy not Odoo's own call? Free, LGPL-3. No account, no key, no subscription to install it. |
|
| 01/06 | Overview | What it changes in your Odoo |
Three clicks, then never again
Set it up once. Every meeting after that is already a Jitsi room.
There is nothing to learn and nothing to remember. The module hooks into the fields Odoo already uses for video calls, so your team keeps clicking the same Join button they click today — it simply opens somewhere else.
1
Tick the boxSettings → Calendar. Switch on Jitsi Configuration, choose which company name the rooms are named after, and save. |
2
Book as usualCreate a meeting, or let a visitor book a slot on your website. Nothing about the booking flow changes for you or for them. |
3
The room is already thereA unique Jitsi Meet address lands in the event, on the Join button, and in the confirmation e-mail. Nobody pastes anything. |
|
3
clicks to configure,
once per database |
32
character random token,
a new one per meeting |
0
new models, 0 new
access rules, 2 fields |
€0
to buy, to renew,
and per user |
Before you install anything
Ask us whether it fits your Odoo — it takes one question
Not sure if your edition qualifies, or whether you should point the rooms at your own Jitsi server? Ask. A real person at Doodex answers, and the answer is free either way.
|
|
|
Scan a code with your phone, or type the address next to it — both reach the same place.
One tick in Settings. Every meeting after it opens in Jitsi.
No API key, no Jitsi account to register, no webhook, no cron job. The link is built inside Odoo from a random token and stored on the event like any other field.
| 02/06 | Use cases | Five teams, one setting |
Who this is for
Five places an Odoo booking becomes a video call
Each one names the exact Odoo app it runs through, so you can check whether your situation is actually covered rather than taking our word for it.
|
|
|
|
|
|
| 03/06 | Features | Eight features, in plain words |
Everything it does
Eight things it actually does
No screenshots in this section, on purpose — each feature names the exact Odoo field, method or template behind it instead, so you can check the claim against the source rather than against a picture. The recording at the top of the page shows the setup running end to end.
|
One switch, in the settings page you already knowThe module adds a Jitsi Configuration block to Settings → Calendar, right under the Google Calendar sync you have already seen. Two controls, no separate menu, no wizard.
|
|
A different room for every single meetingEach event gets its own 32-character random token, and the room address is built from it. Two meetings never land in the same room, so last month's participants cannot wander into today's call.
|
|
The Join button you already use — it just opens JitsiNo new button, no new habit. Odoo's own video-call field is filled with the Jitsi room, so the standard Join action on the meeting form takes everyone straight there, in a new tab.
|
|
The room address is in the e-mail Odoo already sendsThis is the part people forget and the part that actually saves the meeting. The module extends two of Odoo's own e-mail templates with a How to Join block, so the room travels with the invitation instead of in a follow-up message nobody reads.
|
|
Website bookings are covered, not just internal meetingsWhen a visitor books a slot through Odoo Appointment on your public website, the event Odoo creates goes through exactly the same path. The room is ready before the confirmation page finishes loading.
|
And three more
Control, exceptions and the way back out
The three features nobody advertises and everybody eventually needs.
|
An escape hatch for the meetings that need oneEvery event carries an Be clear on what this is: the module ships no checkbox for it on the meeting form. This is a hook for whoever administers your Odoo, not a control your end users will find. If you want it on the form, it is a one-line view change — ask us, or add the field yourself. |
|
Recurring meetings get one room eachSet a meeting to repeat weekly and every occurrence is issued its own token. Nobody joins the wrong week, and you do not have to remember to refresh anything between occurrences. |
|
Change your mind and nothing breaksUntick the global switch and new meetings go back to Odoo's built-in video call, immediately, with no migration and no cleanup. Uninstall the module and Odoo removes the two fields it added — it added nothing else to remove. |
Under the bonnet
What it actually adds to your database
Short list, on purpose. A module that touches little is a module that breaks little on your next Odoo upgrade.
|
|
|
|
|
|
|
|
Requirements
Everything you need to know before you click install
Including the two limits. We would rather you read them here than discover them on Tuesday.
|
|
|
|
|
|
|
|
|
|
|
|
| 04/06 | Why | The objection, answered head-on |
The obvious question
“Odoo 17 already has a video call. Why would I add this?”
Fair, and the honest answer is: if Odoo Discuss is where your meetings already happen, you do not need this module. Install it when the video tool your team actually uses is Jitsi — because then Odoo is quietly working against you four times a day.
Odoo sends a Discuss link. Your team sends a Jitsi link. Participants get both and pick wrong. |
Website booking, internal calendar entry, recurring stand-up — all of them come out as Jitsi. One tool, one habit. |
|||||||
Your guest is not going to install the Odoo app to take one call, so they join in a mobile browser — and a client on a train notices. |
Jitsi Meet is a free native app on iOS and Android. The link from your Odoo e-mail opens straight into it. |
|||||||
The call is tied to the machine running your ERP. Where the media goes is decided for you. |
Public |
|||||||
And they do it after Odoo already sent the confirmation e-mail, so the room lives in a second message the guest has to go find. |
The room is in the field, on the Join button and inside the confirmation e-mail before anyone thinks about it. |
Side by side
Your three real options
These are the three things an Odoo team actually does about video calls. Pick the column that describes you.
| Appointment Jitsi | Odoo's built-in call | Pasting a link by hand | |
|---|---|---|---|
| Where the call happens | Jitsi Meet | Odoo Discuss, on your Odoo server | Wherever your team meets |
| Work per meeting | None | None | About 30 seconds, every single time |
| Room address in the confirmation e-mail | Yes | Yes | No — it needs a second message |
| A different room per meeting | Yes, 32-character token | Yes | Only if somebody remembers |
| Guest needs an account to join | No | No | Depends on the tool |
| Native phone app for guests | Jitsi Meet, iOS and Android | Mobile browser | Depends on the tool |
| Recurring meetings handled | One room per occurrence | Yes | Usually one room reused for months |
| Can move to a server you control | One-line change · on the roadmap | It is already your server | Your choice |
| Price | €0, LGPL-3 | Included in Odoo | €0, plus the 30 seconds |
Odoo's built-in call is a perfectly good product — this table is about which room your invitations should point at, not about which video tool is better.
The number
Thirty seconds a meeting, and you can do the sum yourself
Pasting a room link into a meeting, then sending a follow-up message so the guest actually has it, takes about half a minute. Here is what that costs a year at three honest volumes. No hidden assumptions — it is 30 seconds × meetings × 12.
| 20 meetings a month, done by hand | every month, for ever |
| 2 h / year |
| 50 meetings a month, done by hand | every month, for ever |
| 5 h / year |
| 100 meetings a month, done by hand | every month, for ever |
| 10 h / year |
| Any volume, with Appointment Jitsi | configured once, then nothing |
| ~1 min, once |
The hours are the smaller half of it. The real cost of a hand-pasted link is the call that starts five minutes late because the guest was looking in the wrong e-mail.
If something breaks
What support means here, and what it does not
Support here means defects, not a subscription. If the module does something this page says it should not, tell us and we fix it. The module is free and so is that.
|
|
|
Still deciding
Two limits stand between this and perfect. Ask us about them.
Self-hosted Jitsi and per-company room names are the two things this version does not do. Both are small changes. If either one is a blocker for you, say so — it moves up the roadmap.
|
|
|
Scan a code with your phone, or type the address next to it — both reach the same place.
| 05/06 | FAQs | Twelve real questions |
Questions we actually get
Twelve questions, answered without hedging
Including the three whose honest answer is “no”.
Do I need Odoo Enterprise, or will this run on Community?
–
Do I need Odoo Enterprise, or will this run on Community?
You need Enterprise. The module depends on Odoo's
appointment app, which ships only with Odoo
Enterprise and Odoo Online. On Community, installation will
fail with a missing-dependency error rather than
half-working. If you are on Community and only need Jitsi
rooms on ordinary Calendar meetings, write to us —
that is a smaller module and we are interested in whether
people want it.
Do participants need a Jitsi account to join?
+
Do participants need a Jitsi account to join?
Your guests need no account — they open the address in a browser or the Jitsi Meet app, type a display name, and they are in.
But on the public meet.jit.si there is one
catch worth knowing up front:
the conference does not actually start until a signed-in
moderator joins. A guest who clicks the link before anyone
else sees a holding screen telling them so, and waits. The
moderator sign-in is free and one time per browser (Google,
GitHub or Facebook) — a policy Jitsi introduced in
August 2023. In practice whoever hosts the meeting signs in
once, and everybody else just clicks the link.
On a Jitsi server you run yourself, none of this applies — no sign-in, no moderator gate, no third party in the middle. It is the strongest argument for self-hosting, and it is the first item on our roadmap.
Can I point the rooms at my own Jitsi server instead of meet.jit.si?
+
Can I point the rooms at my own Jitsi server instead of meet.jit.si?
Not from Settings in this version. The base address
https://meet.jit.si is fixed in the code. It
is a single line, so the change is genuinely small —
it is on the roadmap as a proper setting, and in the
meantime Doodex can make the change and set up the Jitsi
server as a service. Book the 30 minutes above and we will
tell you what it costs before you commit to anything.
What happens to meetings that already exist when I install it?
+
What happens to meetings that already exist when I install it?
They keep whatever video address they have now. The module
does not go back and rewrite your history. To bring
existing meetings across, call
generate_jitsi_link() on them from a server
action — select the records in the list view and run
it. There is no per-meeting button for this out of the box;
see the note on Feature 06.
Can I keep some meetings on Odoo's built-in call?
+
Can I keep some meetings on Odoo's built-in call?
Yes, but not from the meeting form. Each event has
an is_jitsi field that overrides the global
default, and clear_jitsi_link() puts a single
meeting back on the standard Odoo Discuss link. Neither is
exposed as a checkbox out of the box, so exceptions are set
through a server action, an automation rule, or by adding
the field to your own form view. If per-meeting control
matters to you, say so — putting it on the form is a
small change.
How private is the room address?
+
How private is the room address?
Each room name contains a fresh 32-character random token, so it is not something anyone can guess or enumerate. But treat it the way you treat any meeting link: whoever holds the address can join the call. If a meeting is sensitive, set a room password in Jitsi once you are inside, or enable the lobby — both are Jitsi features and neither needs Odoo. Inside Odoo, the address is visible to exactly the people who can already see the meeting.
Does it change the e-mails Odoo sends?
+
Does it change the e-mails Odoo sends?
Yes, two of them. It extends Odoo's own
appointment.
(the booking confirmation) and
calendar.
(the meeting invitation and update) with a
How to Join block. Your layout, branding and wording
are otherwise untouched, and if an event has no Jitsi room
the block falls back to Odoo's standard video-call line.
Note that these are overrides of core templates: if you
have already customised those two templates yourself,
review them after installing.
Does it work with recurring meetings?
+
Does it work with recurring meetings?
Yes, and each occurrence gets its own room. That is deliberate: a single reused room means last month's participants can walk into this month's call. If you would rather one room served a whole series, that is a small change — ask us.
We run several companies in one database. Does that work?
+
We run several companies in one database. Does that work?
Partly, and here is the limit. The Company whose name goes into the room address is a single setting for the whole database, not one per company. So the meetings work fine across companies, but every room is named after the one company you picked. Per-company naming is on the roadmap. If you need it now, say so and we will scope it.
Where does our meeting data actually go? What about GDPR?
+
Where does our meeting data actually go? What about GDPR?
Odoo stores only the text of the room address — no recordings, no participant list, no video, no audio. The call itself never passes through your Odoo server at all: it flows through whichever Jitsi instance the address points at.
Today that address points at the public
meet.jit.si, operated by 8x8, so their terms
and their data handling apply to the call. If your
compliance position requires the video to stay inside your
own infrastructure or a specific jurisdiction, self-host
Jitsi — that is the whole reason self-hosting is the
first item on our roadmap, and it is a service Doodex
provides.
What happens if I uninstall it?
+
What happens if I uninstall it?
Odoo removes the two fields the module added,
jitsi_link and is_jitsi, and the
two e-mail template overrides revert to Odoo's originals.
There are no new tables, no new access rules and no
leftover menus, because the module never created any.
Existing meetings keep whatever value is currently in
Odoo's own videocall_location field — if
that is a Jitsi address you no longer want, clear it or let
Odoo recompute it.
It is free. So what is in it for Doodex?
+
It is free. So what is in it for Doodex?
Straight answer: this module is how you meet us. Doodex is an Odoo partner — we do implementation, customisation, migration and hosting, including Jitsi hosting. A free module that solves one problem properly is a better introduction than an advert. Install it, never contact us, and that is a perfectly good outcome; the licence is LGPL-3 precisely so that is a real option and not a trap.
| 06/06 | Releases | Public changelog & roadmap |
Kept in public
Every version, dated, including the fixes we are not proud of
The quiet question behind every free module is “will this still be maintained in a year?”. A changelog is the only honest answer to it, so this one stays on the page and gets a new entry every time the module changes.
| 16.0.1.1.0 | Current release |
| FIX | The room address now really appears in the confirmation e-mails. The template file was never registered in the module manifest, so Odoo had never loaded it and both e-mail overrides were silently dead. This was the module's headline feature and it had not worked since the first release. |
| IMP | The per-event is_jitsi field is now honoured. Previously the global setting applied to every event in the database regardless of the field's value. Note that the field still has no checkbox on the meeting form — it is driven from a server action or an automation. |
| FIX | Turning the global setting off now really turns Jitsi off. The stored value was being read as text, and any text counts as “on”, so unticking the box left the integration running. |
| FIX | Recurring meetings now get their own room per occurrence. Odoo creates recurrences in a batch, and the batch path skipped room creation entirely. |
| FIX | Company names containing a space or an accent now produce a valid address. Doodex Group used to put a literal space inside the URL. |
| IMP | Removed the startup warning Odoo printed on every install about the module not creating records in batch. |
| 16.0.1.0.0 | First release |
| NEW | The jitsi_link field on calendar.event, computed from the event's access token. |
| NEW | Jitsi Configuration in Settings → Calendar: the global switch and the Company field. |
| NEW | Odoo's Join action redirected to the Jitsi room. |
| NEW | generate_jitsi_link() and clear_jitsi_link() for server actions and automations. |
| Roadmap | Planned — not shipped, no promised date |
| PLAN | Your own Jitsi server, as a setting. The most requested item, and the smallest change. Ranked first. |
| PLAN | Per-company room names for multi-company databases. |
| PLAN | The per-event toggle on the meeting form. The is_jitsi field works but ships with no checkbox, so exceptions need a server action today. Putting it on the form is the smallest item on this list. |
| PLAN | Odoo 18 and Odoo 19. Ordered by how many people ask. |
| PLAN | Room options carried from Odoo — lobby on, start muted, a password per meeting. |
| PLAN | Jitsi embedded inside Odoo, so the call opens in a form view instead of a new tab. The groundwork exists in the repository but it is switched off and unsupported, so it is listed here rather than as a feature. |
Want one of these sooner? Tell us at odoo@doodex.net. Requests genuinely reorder this list.
Works great with
Other Doodex modules, built the same way
Different problems, same approach: narrow scope, a one-time price and the limits stated up front. Each one installs on its own.
Narrow scopeOne-time priceLimits stated up front
Doodex Growth Suite
Five CRM and marketing modules that do share one another's data: BizScan AI, Campaign Manager, Smart Dashboards, User Roles and Email Sync+. Sold as one suite.
Open on the Apps Store →Flow Survey Reader
Publish conditional surveys and forms straight from Odoo and keep every answer in your own database.
Open on the Apps Store →Flow Survey Builder
The drag-and-drop editor for those surveys: 25 question types, slide branching and full theming.
Open on the Apps Store →Last thing
Install it, or ask us first. Both are free.
Download it from this page and switch it on yourself — it takes about a minute and needs nothing from us. Or spend 30 minutes with a Doodex engineer first and find out whether it fits your Odoo before you touch your database.
|
|
|
Scan a code with your phone, or type the address next to it — both reach the same place.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Appointments (appointment)
• Calendar (calendar) • Discuss (mail) |
| Lines of code | 415 |
| Technical Name |
appointment_jitsi |
| License | LGPL-3 |
| Website | https://www.doodex.net/ |
Please log in to comment on this module