Odoo 19.0 Community · Persistant

ir.actions.server : champs, relations et API

Le modèle ir.actions.server (« Action de serveur ») est un modèle persistant déclaré par le module Base, puis enrichi par 4 autres modules. Il expose 89 champs, dont 57 déclarés directement sur le modèle ; 5 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 19.

Fiche d'identité

Nom technique
ir.actions.server
Libellé
Action de serveur
Type
Persistant (models.Model)
Table SQL
ir_act_server
Module d'origine
Base (base)
Étendu par
mail, sms, base_automation, website
Tri par défaut (_order)
sequence,name,id
Hérite de (mixins)
ir.actions.actionsmail.threadmail.activity.mixin

Champs du modèle

57 champs propres, 26 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.

89 champs affichés sur 89

Nom techniqueLibelléTypeDétails
activity_date_deadline_rangeDate d'échéance dansinteger
calculé, stocké

ajouté par Discussion (mail)

activity_date_deadline_range_typeType d'échéanceselection
calculé, stocké

Valeurs : days (Jours), weeks (Semaines), months (Mois)

ajouté par Discussion (mail)

activity_noteNotehtml
calculé, stocké

ajouté par Discussion (mail)

activity_summaryTitrechar
calculé, stocké

ajouté par Discussion (mail)

activity_type_idType d'activitémany2one
calculé, stocké

ajouté par Discussion (mail)

activity_user_field_nameChamp d'utilisateurchar
calculé, stocké

ajouté par Discussion (mail)

activity_user_idResponsablemany2one
calculé, stocké

ajouté par Discussion (mail)

activity_user_typeType d'utilisateur

Utilisez 'Utilisateur spécifique' pour toujours assigner le même utilisateur aux activités. Utilisez 'Utilisateur dynamique' pour spécifier le nom du champs permettant de sélectionner l'utilisateur de l'enregistrement.

selection
calculé, stocké

Valeurs : specific (Utilisateur spécifique), generic (Utilisateur dynamique (sur base de l'enregistrement))

ajouté par Discussion (mail)

allowed_statesÉtats autorisésjson
calculé
automated_nameNom automatiséchar
calculé, stocké
available_model_idsModèles disponiblesmany2many
calculé
base_automation_idRègle d'automatisationmany2one

ajouté par Règles d'automatisation (base_automation)

child_idsActions enfants

Actions de serveur filles qui seront exécutées. Notez que la dernière valeur d'action retournée sera utilisée comme valeur globale de retour.

one2many

inverse : parent_id

codeCode Python

Écrivez le code Python que l'action exécutera. Certaines variables sont disponibles à l'utilisation ; de l'aide sur les expressions Python est disponible dans l'onglet Aide.

text
crud_model_idEnregistrement à créer

Préciser quel type d'enregistrement doit être créé. Renseigner uniquement ce champ pour préciser un modèle différent du modèle de base.

many2one
calculé, stocké
crud_model_nameNom du modèle ciblechar
lecture seule

related : crud_model_id.model

evaluation_typeType de valeurselection

Valeurs : value (Mettre à jour), sequence (Séquence), equation (Calculer)

followers_partner_field_nameChamp abonnéschar
calculé, stocké

ajouté par Discussion (mail)

followers_typeType d'abonnés

- Specific Followers: select specific contacts to add/remove from record's followers. - Dynamic Followers: all contacts of the chosen record's field will be added/removed from followers.

selection
calculé, stocké

Valeurs : specific (Abonnés spécifiques), generic (Abonnés dynamiques)

ajouté par Discussion (mail)

group_idsGroupes autorisés

Les groupes qui peuvent exécuter l'action serveur. Laisser vide pour autoriser tout le monde.

many2many
html_valueValeur HTMLhtml
ir_cron_idsAction planifiéeone2many

inverse : ir_actions_server_id

mail_post_autofollowInscrire les destinatairesboolean
calculé, stocké

ajouté par Discussion (mail)

mail_post_methodEnvoyer un e-mail commeselection
calculé, stocké

Valeurs : email (E-mail), comment (Message), note (Note)

ajouté par Discussion (mail)

model_idModèle

Modèle sur lequel se base l'exécution de l'action du serveur.

many2one
requis
model_nameNom de modèlechar

related : model_id.model

nameNomchar
calculé, stocké
parent_idAction parentmany2one
partner_idsPartenairemany2many
calculé, stocké

ajouté par Discussion (mail)

resource_refEnregistrementreference
selection_valueValeur personnaliséemany2one
sequenceSéquence

Pour de multiples actions, l'ordre d'exécution est fondé sur la séquence. Un chiffre faible signifie une priorité élevée.

integer
sequence_idSéquence à utilisermany2one
show_code_historyAfficher l’historique du codeboolean
calculé
sms_methodEnvoyer le SMS commeselection
calculé, stocké

Valeurs : sms (SMS (sans note)), comment (SMS (avec note)), note (Note uniquement)

ajouté par Passerelle SMS (sms)

sms_template_idModèle SMSmany2one
calculé, stocké

ajouté par Passerelle SMS (sms)

stateType

Type of server action. The following values are available: - 'Update a Record': update the values of a record - 'Create Activity': create an activity (Discuss) - 'Send Email': post a message, a note or send an email (Discuss) - 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': add or remove followers to a record (Discuss) - 'Create Record': create a new record with new values - 'Execute Code': a block of Python code that will be executed - 'Send Webhook Notification': send a POST request to an external system, also known as a Webhook - 'Multi Actions': define an action that triggers several other server actions

selection
requis

Valeurs : object_write (Mettre à jour l'enregistrement), object_create (Créer un enregistrement), object_copy (Dupliquer l’enregistrement), code (Exécuter le code), webhook (Envoyer une notification webhook), multi (Actions multiples)

template_idModèle d'e-mailmany2one
calculé, stocké

ajouté par Discussion (mail)

typeTypechar
update_boolean_valueValeur du booléenselection

Valeurs : true (Oui (vrai)), false (Non (Faux))

update_field_idChamp à mettre à jourmany2one
calculé, stocké
update_field_typeUpdate Field Typeselection
lecture seule

related : update_field_id.ttype

update_m2m_operationOpérations Many2manyselection

Valeurs : add (Ajouter), remove (Supprimer), set (Définir sur), clear (L'effacer)

update_pathChamp pour mettre à jour le chemin d'accès

Chemin d'accès au champ à mettre à jour, par ex. 'partner_id.name'

char
usageUtilisationselection
requis

Valeurs : ir_actions_server (Action de serveur), ir_cron (Action planifiée)

valueValeur

For Python expressions, this field may hold a Python expression that can use the same values as for the code field on the server action,e.g. `env.user.name` to set the current user's name as the value or `record.id` to set the ID of the record on which the action is run. For Static values, the value will be used directly without evaluation, e.g.`42` or `My custom name` or the selected record.

text
value_field_to_showChamp valeur à afficherselection
calculé

Valeurs : value (valeur), html_value (html_value), sequence_id (sequence_id), resource_ref (référence), update_boolean_value (update_boolean_value), selection_value (selection_value)

warningAvertissementtext
calculé
webhook_field_idsChamps webhook

Champs à envoyer dans la requête POST. L'id et le modèle de l'enregistrement sont toujours envoyés sous la forme '_id' et '_model'. Le nom de l'action qui a déclenché le webhook est toujours envoyé sous la forme '_name'.

many2many
webhook_sample_payloadExemple de charge utiletext
calculé
webhook_urlURL webhook

URL à laquelle envoyer la requête POST.

char
website_pathChemin du site webchar

ajouté par Site Web (website)

website_publishedDisponible sur le site web

Une action de code serveur peut être exécutée depuis le site web en utilisant un contrôleur dédié. L'adresse est <base>/website/action/<website_path>. Définissez ce champ sur True pour permettre aux utilisateurs d'exécuter cette action. S'il est défini sur True, l'action ne pourra pas être exécutée sur le site web.

boolean

ajouté par Site Web (website)

website_urlURL du site web

L'URL complète pour accéder au serveur via le site web.

char
calculé

ajouté par Site Web (website)

xml_idID externe

ID de l'action s'il est défini dans un fichier XML

char
calculé

ajouté par Site Web (website)

activity_calendar_event_idActivité suivante de l'événement du calendriermany2one
calculé

hérité de mail.activity.mixin

activity_date_deadlineDate limite de l'activité à venirdate
lecture seulecalculé

hérité de mail.activity.mixin

activity_exception_decorationIndicateur d’exception d’activité

Type d'activité d'exception enregistrée.

selection
calculé

Valeurs : warning (Alerte), danger (Erreur)

hérité de mail.activity.mixin

activity_exception_iconIcône

Icône pour indiquer une activité d'exception.

char
calculé

hérité de mail.activity.mixin

activity_idsActivitésone2many

inverse : res_id

hérité de mail.activity.mixin

activity_stateStatut de l'activité

Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities.

selection
calculé

Valeurs : overdue (En retard), today (Aujourd'hui), planned (Planifié)

hérité de mail.activity.mixin

activity_type_iconIcône de type d'activitéchar

related : activity_ids.icon

hérité de mail.activity.mixin

binding_model_idModèle de liaison

La définition d'une valeur rend cette action disponible dans la barre latérale pour le modèle donné.

many2one

hérité de ir.actions.actions

binding_typeType de liaisonselection
requis

Valeurs : action (Action), report (Rapport)

hérité de ir.actions.actions

binding_view_typesTypes de vues de liaisonchar

hérité de ir.actions.actions

has_messageA un messageboolean
calculé

hérité de mail.thread

helpDescription de l'action

Texte d'aide optionnel pour les utilisateurs décrivant la vue cible, son utilisation et sa finalité.

html
traduisible

hérité de ir.actions.actions

message_attachment_countNombre de pièces jointesinteger
calculé

hérité de mail.thread

message_follower_idsAbonnésone2many

inverse : res_id

hérité de mail.thread

message_has_errorErreur d'envoi du message

Si coché, certains messages ont une erreur de livraison.

boolean
calculé

hérité de mail.thread

message_has_error_counterNombre d'erreurs

Nombre de messages avec des erreurs d'envoi

integer
calculé

hérité de mail.thread

message_has_sms_errorErreur d'envoi SMS

Si coché, certains messages ont une erreur de livraison.

boolean
calculé

hérité de mail.thread

message_idsMessagesone2many

inverse : res_id

hérité de mail.thread

message_is_followerEst un abonnéboolean
calculé

hérité de mail.thread

message_needactionNécessite une action

Si coché, de nouveaux messages demandent votre attention.

boolean
calculé

hérité de mail.thread

message_needaction_counterNombre d'actions

Nombre de messages nécessitant une action

integer
calculé

hérité de mail.thread

message_partner_idsAbonnés (Partenaires)many2many
calculé

hérité de mail.thread

my_activity_date_deadlineÉchéance de mon activitédate
lecture seulecalculé

hérité de mail.activity.mixin

pathChemin d'accès à afficher dans l'URLchar

hérité de ir.actions.actions

rating_idsÉvaluationsone2many

inverse : res_id

hérité de mail.thread

website_message_idsMessages du site web

Historique de communication du site web

one2many

inverse : res_id

hérité de mail.thread

create_dateCréé ledatetime
lecture seuleautomatique
create_uidCréé parmany2one
lecture seuleautomatique
display_nameNom affichéchar
lecture seulecalculéautomatique
idIDinteger
lecture seuleautomatique
write_dateDernière mise à jour ledatetime
lecture seuleautomatique
write_uidDernière mise à jour parmany2one
lecture seuleautomatique

Relations

Modèles liés depuis ce modèle

Champs d'autres modèles qui pointent ici

Lire ce modèle par l'API

Exemple d'appel à l'API JSON-2 d'Odoo 19 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.

curl
curl -X POST "https://votre-instance.odoo.com/json/2/ir.actions.server/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: votre-base" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","model_id","state","usage","activity_type_id"],"limit":5}'
Python (requests)
import requests

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

res = requests.post(
    f"{BASE_URL}/ir.actions.server/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","model_id","state","usage","activity_type_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • L'accès à l'API externe est réservé à la formule Custom d'Odoo.
  • XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
  • Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.

Citer cet outil

Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.

<a href="https://aidoo.ai/fr/outils/explorateur-modeles-odoo/ir-actions-server">ir.actions.server (Odoo 19.0)</a>

Sources

Données vérifiées le 23 septembre 2026 · Odoo 19.0 Community

Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons

Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.