Skip to main content
iVentureTeam

Odoo Website / Marketing widgets

Website and marketing widgets power Odoo's site builder, forms, campaigns and link tracking — the pieces that connect a visitor's click to a record in the database.

Most are view-level widgets rather than plain field renderers, so the per-widget pages note where each one can actually be mounted before you reach for it.

21 widgets documented45 uses in Odoo coreVersions 16.0 → 20.0 verified per widget

Every website / marketing widget, by use in Odoo core

Odoo Website / Marketing widgets: name, purpose, field types and uses in Odoo core
WidgetWhat it doesField typesUses in core
website_redirect_buttonThe website redirect button turns the is_published flag into a header button that reads Published or Unpublished and jumps straight to the record's public page.boolean11
im_livechat.rating_percentageUnusual entry in the widget inventory: im_livechat.rating_percentage is not a field widget at all. It is a formatter that turns Livechat's 1 to 5 rating scale into a 0 to 100 percentage inside pivot and graph reports.integer, float6
EventMailTemplateReferenceFieldThe template picker on Odoo's event communication lines is a tuned reference widget: EventMailTemplateReferenceField preselects the first template model, marks mail templates with an envelope, and refuses to open records from readonly rows.reference, char4
boolean_phoneNew in Odoo 19, boolean_phone is the smallest kind of widget: a boolean that renders a phone icon when true and nothing at all when false, built to show which livechat agents are currently in a call.boolean2
char_emojisThe char_emojis widget is a standard single-line text input with one addition: an emoji button that opens Odoo's full emoji picker and inserts the chosen emoji at the cursor.char, text2
event_icon_selectionevent_icon_selection turns a field's value into an icon, and its configuration is unlike any other widget on this site: the options dictionary itself is the icon map, with every key you write becoming a supported value.char, text, selection2
event_state_selectionEvents in Odoo carry a fourth kanban state, Cancelled, and event_state_selection is the widget built around it: icon-based states in a fixed order, a divider isolating the cancel action, and one surprising omission inherited from how it skips its parent's setup.selection2
website_publish_buttonThe Published smart button that turns into red Unpublish when you hover it is two parts: a server method and this widget. website_publish_button renders the label; it toggles nothing itself.boolean2
x2_many_media_viewerThe Add Media gallery on eCommerce products is a one2many wearing a media manager. x2_many_media_viewer swaps the usual Add row for Odoo's image and video dialog, and can transcode every upload to WebP.one2many, many2many2
CopyClipboardJobLinkButtonA copy button for a job posting's link, with a notification confirming the copy rather than a silent state change.char1
chatbot_steps_one2manyThe steps list in Odoo's chatbot builder. Saving the whole script after every step sounds heavy-handed until you try building a script without it.one2many1
chatbot_triggering_answers_widgetTags for the answers that trigger a chatbot step, filtered to the script you are editing. It does that by writing into the user's own context, which is an unusually blunt way to pass a filter.many2many1
image_radioA selection field rendered as clickable pictures. The images are matched to values by position, and the radio group has a hardcoded name, which is where both of its failure modes come from.selection1
mailing_filterA relation picker with two extra icons: save the current recipient domain as a favorite, or drop the one you loaded. On the Odoo 20 development branch the whole idea is replaced.many2one1
mass_mailing_htmlThe email designer inside Odoo: themes, snippets, an iframe preview and a code view. It is the rich text editor with several features deliberately switched off, because email is not the web.html1
slide_category_one2manyThe content tab of an eLearning course is one relation pretending to be two: sections and lessons. This widget is the renderer that keeps them apart.one2many, many2many1
stat_infoOne core view writes widget="stat_info" on a stat button. Nothing registers that name, and a button would not look it up even if something did. Two reasons for the same outcome: nothing happens.—1
text_emojisThe multi-line text field with an emoji button attached. Small feature, and the only reason it exists is that social and marketing copy without emoji reads like a memo.text, char1
video_previewThe live video preview in Odoo's product media dialog is video_preview: a field widget that trusts a server-computed embed and simply frames it 16:9. All the intelligence, and all the platform support, lives server side.html1
website_urlsOne core view asks for widget="website_urls". Nothing in Odoo registers that name, in any version we checked. The field still renders, and this page explains exactly why.char1
x2_many_imageThe image tile in Odoo's product media kanban is not the plain image widget. x2_many_image swaps the file picker for the media dialog, and quietly disables three inherited options while doing it.binary, many2one1

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.