Odoo 20.0 Community · Persistent

mail.activity: fields, relations and API

The mail.activity model ("Activity") is a persistent model declared by the Discuss module, then extended by 6 other modules. It exposes 39 fields, 33 of them declared directly on the model. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 20 JSON-2 API call.

Model identity

Technical name
mail.activity
Label
Activity
Type
Persistent (models.Model)
SQL table
mail_activity
Origin module
Discuss (mail)
Extended by
phone_validation, calendar, crm, project, hr, website_slides
Default order (_order)
date_deadline ASC, id ASC
Display field (_rec_name)
summary

Model fields

33 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.

39 of 39 fields shown

Technical nameLabelTypeDetails
activeActiveboolean
activity_categoryActivity Categoryselection
read-only

related: activity_type_id.category

activity_decorationActivity Decorationselection
read-only

related: activity_type_id.decoration_type

activity_plan_idPlanmany2one
activity_template_idGenerated Frommany2one
activity_type_idActivity Typemany2one
attachment_idsAttachmentsmany2many
automatedAutomated activity

Indicates this activity has been created automatically and not by any user.

boolean
read-only
calendar_event_idCalendar Meetingmany2one

added by Calendar (calendar)

can_writeCan Writeboolean
computed
date_deadlineDue Datedate
requiredcomputed, stored
date_doneDone Datedate
computed, stored
feedbackFeedbacktext
iconIconchar
read-only

related: activity_type_id.icon

mail_template_idsMail Templatemany2many
read-only

related: activity_type_id.mail_template_ids

noteNotehtml
computed, stored
phonePhonechar
computed, stored
request_partner_idRequesting Partnermany2one

added by eLearning (website_slides)

res_access_createRes Access Createboolean
computed
res_access_readRes Access Readboolean
computed
res_access_writeRes Access Writeboolean
computed
res_idRelated Document IDmany2one_reference
res_modelRelated Document Modelchar
read-only

related: res_model_id.model

res_model_idDocument Modelmany2one
res_model_nameModelchar

related: res_model_id.display_name

res_nameDocument Namechar
read-onlycomputed, stored
role_idRolemany2one
computed, stored
stateStateselection
computed

Values: overdue (Overdue), today (Today), planned (Planned), done (Done)

summarySummarychar
computed, stored
technical_usageTechnical Usage

Technical identifier

selection
read-only

Values: none (Non Technical)

user_idAssigned tomany2one
computed, stored
user_tzTimezoneselection

related: user_id.tz

create_dateCreated ondatetime
read-onlyautomatic
create_uidCreated bymany2one
read-onlyautomatic
display_nameDisplay Namechar
read-onlycomputedautomatic
idIDinteger
read-onlyautomatic
write_dateLast Updated ondatetime
read-onlyautomatic
write_uidLast Updated bymany2one
read-onlyautomatic

Relations

Models linked from this model

Fields of other models pointing here

No Many2one or Many2many field of another model points to this model.

Reading this model through the API

Odoo 20 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.

curl
curl -X POST "https://your-instance.odoo.com/json/2/mail.activity/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: your-db" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["summary","date_deadline","state","activity_plan_id","activity_template_id"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}

res = requests.post(
    f"{BASE_URL}/mail.activity/search_read",
    headers=headers,
    json={"domain": [], "fields": ["summary","date_deadline","state","activity_plan_id","activity_template_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • External API access requires Odoo's Custom plan.
  • XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
  • The access rights and record rules of the key's user apply.

Cite this tool

Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.

<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/mail-activity">mail.activity (Odoo 20.0)</a>

Sources

Data verified on September 25, 2026 · Odoo 20.0 Community

Have an Odoo project, or want to put your ERP to work with AI? Let's talk

Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.