The email widget makes addresses actionable: a mailto: link in lists, an envelope button on forms. What it deliberately does not do, validate addresses beyond the browser's loose check, is just as important to know.
August 12, 2026Updated August 12, 20265 min read
| Studio name | |
|---|---|
| Technical name | email |
| Field types | char |
| Views | form (form.email variant), list, kanban |
| Form variant | form.email, which keeps the input and adds the envelope link |
| Module | web, present in every Odoo database |
| Used in core | 17 occurrences across 11 modules, including hr, calendar, crm, survey, account, event_booth |
| Versions | Odoo 20.0, Odoo 19.0, Odoo 18.0 |
| No-code setup | Yes, via Odoo Studio (Enterprise) |
| Alternatives | phone, url, CopyClipboardChar |
What the Email widget does
What this means for your team
Setting it up in Odoo Studio (no code)
What Studio cannot do here
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
placeholder_field | field name | Reads the input's placeholder text from another char field on the record instead of a static placeholder attribute.(since Odoo 19.0) |
Working examples
What the two templates actually render
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | In development | Not released. No changes on the development branch beyond the framework port; see below. |
| Odoo 19.0 | Verified | Verified against the shipped source and templates. |
| Odoo 18.0 | Verified | Identical except placeholder_field, which arrived in 19.0. Verified against the 18.0 source. |
Upgrading from Odoo 18? One addition: placeholder_field did not exist in 18.0. Everything else, both templates, both registrations, the type="email" input, is identical.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| Clicking an address does nothing | No mail client is registered for mailto: on the user's machine, common on corporate desktops using only webmail. Register the webmail as the mailto handler (browsers support this), or copy the address instead. |
| Invalid addresses keep appearing in the database | The browser's type=email check only guards interactive edits; imports and API writes bypass it, and the widget adds no validation. Add a Python constraint or an email verification step to your entry flows. |
| The envelope icon is missing on the form | The field is empty, the icon renders only when a value exists, or the view uses the base widget in an embedded list. Save a value; on forms make sure the field is rendered by the form (the form.email variant is picked automatically). |
| Mail opens with a strange recipient | The stored value contains extra text (display name, second address); the href links it verbatim. Clean the value to a single bare address; one field, one address. |
| Emails sent this way do not appear in the chatter | mailto opens the user's local client, entirely outside Odoo. Send from the record's chatter instead when history matters; the widget link is for quick personal mail. |
Email widget vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
email | Email addresses your team writes to | mailto link plus form envelope; validation intentionally left to browser and server |
| phone | Phone numbers with click to call | tel link, whitespace-stripped href, SMS action |
| url | Web links | New-tab anchor with scheme prefixing and custom link text |
CopyClipboardChar | Values users copy rather than send to | Copy button, no linking |
Frequently asked questions
How do I make email addresses clickable in Odoo?+
Does Odoo validate email addresses?+
Can I make the click open Gmail or Outlook web instead of a desktop app?+
Why use the widget instead of sending from the chatter?+
Can one field hold several addresses?+
What does placeholder_field do?+
Do your emails reach the inbox?
A clickable address is step one. Deliverability is the rest: SPF and DKIM on your sending domain, bounce handling, mail templates that render everywhere, and clean address data to begin with. We set up and repair the full Odoo mail stack for companies that live in their inbox.
Book a free consultation