Skip to main content
iVentureTeam

Odoo Discuss / Productivity widgets

Discuss and productivity widgets drive messaging, activities, followers and notifications — the chatter column and everything that schedules or logs a follow-up.

They tend to be composite widgets with their own sub-components, so the per-widget pages document which parts accept options and which are fixed.

20 widgets documented212 uses in Odoo coreVersions 16.0 → 20.0 verified per widget

Every discuss / productivity widget, by use in Odoo core

Odoo Discuss / Productivity widgets: name, purpose, field types and uses in Odoo core
WidgetWhat it doesField typesUses in core
many2one_avatar_userThe assignee field with a face: many2one_avatar_user renders a user link as an avatar with online presence and chat access, and wires up the Assign to me command.many2one157
html_mailThe editor behind Odoo's email bodies. html_mail is the html field retuned for mail clients: styles inlined on save, layouts email clients cannot render stripped out.html12
many2many_tags_emailThe email tags field is the recipient picker behind Odoo's share and invite dialogs: partner pills that show emails, accept Name <email> input, and can fix a bad address inline.many2many, one2many9
sms_widgetThe message box in Odoo's Send SMS dialog does live math while you type: sms_widget detects the character encoding, counts the characters, and tells you how many SMS segments, and therefore credits, the message will cost.text, char, html6
datetime-pickerDespite the name, datetime-picker is not something you put in a widget= attribute on a form view. It is a website side interaction that upgrades any frontend <input> carrying data-widget="datetime-picker" into Odoo's calendar picker.—4
html_composer_messageThe rich text area of Odoo's full email composer is its own field widget. html_composer_message tunes the HTML editor for writing messages: mentions, collapsed quotes, batch-only placeholders, and attachment syncing.html3
mail_composer_attachment_listThe attachment rows under Odoo's email composer are the mail_composer_attachment_list widget: a stripped-down many2many_binary that lists, opens and deletes, but never uploads.many2many3
selection_badge_iconsThe activity scheduling dialog in Odoo 19 picks the activity type from icon-labeled badges. That row of buttons is selection_badge_icons, a many2one-only twist on selection_badge.many2one3
shortcutOdoo 19's shortcut widget dresses a plain char field with a fixed :: prefix, so the canned response form reads exactly like what users will type in the Discuss composer.char3
text_scheduled_dateNew in Odoo 19, the text_scheduled_date widget renders the composer's Send Later button: a clock that opens a dialog with preset slots and a custom picker, then stores the choice in the wizard's scheduled_date field.char, text2
activity_model_selectorChoose a model, then choose a record: the two-step picker on the Schedule Activity wizard. Its cleverest part is protecting the summary you already typed from being wiped by the model change.char1
boolean_update_flagA checkbox that also answers a second question: did a human change this, or did the server? boolean_update_flag exists because an onchange cannot tell the difference.boolean1
calendar_event_notes_htmlThe rich text editor for meeting notes, with exactly one plugin taken out. In a narrow calendar panel, drag handles on every block were doing more harm than good.html1
integer_update_flagThe numeric twin of boolean_update_flag: an integer input that also records whether a human, rather than a recalculation, moved the number. It has one sharp edge above 999.integer1
many2manyattendeeAttendee avatars with a tick, a cross or a question mark on each, plus flags for missing emails and people who are already busy. All of it from one server call the widget makes itself.many2many1
many2manyattendeeexpandableThe attendee widget again, with a collapse. In a calendar popover there is no room for thirty avatars, so it shows the counts and lets you open the list when you want it.many2many1
portal_wizard_user_one2manyThe Grant Access dialog is one of the few places in Odoo where a double click can send two invitation emails. portal_wizard_user_one2many is the twenty-line widget that stops it.one2many1
question_page_one2manyThe survey question list looks like an ordinary embedded list until you add a section. question_page_one2many is the widget that makes sections behave, and it saves the whole survey behind your back on every edit.one2many, many2many1
radio_selection_with_filterRadio buttons that show only the choices this record is actually allowed to make. Small idea, and in Odoo 19 it changed contract in a way that silently breaks Odoo 18 views.selection1
survey_description_pageA text cell with two affordances bolted on: a button that opens the row, and a pencil marking section rows. Both depend on the widget around it, which is why it does nothing on its own.char, text1

Each widget page has the usage XML, Studio steps, every developer option, and a per-version compatibility table verified against the shipped Odoo source.

We use cookies to improve your experience

Essential cookies make the site work; with your permission we also use analytics to improve it. See our cookie policy.