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 technique | Libellé | Type | Détails |
|---|---|---|---|
| activity_date_deadline_range | Date d'échéance dans | integer | calculé, stocké ajouté par Discussion ( |
| activity_date_deadline_range_type | Type d'échéance | selection | calculé, stocké Valeurs : ajouté par Discussion ( |
| activity_note | Note | html | calculé, stocké ajouté par Discussion ( |
| activity_summary | Titre | char | calculé, stocké ajouté par Discussion ( |
| activity_type_id | Type d'activité | many2one | calculé, stocké ajouté par Discussion ( |
| activity_user_field_name | Champ d'utilisateur | char | calculé, stocké ajouté par Discussion ( |
| activity_user_id | Responsable | many2one | calculé, stocké ajouté par Discussion ( |
| activity_user_type | Type 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 : ajouté par Discussion ( |
| allowed_states | États autorisés | json | calculé |
| automated_name | Nom automatisé | char | calculé, stocké |
| available_model_ids | Modèles disponibles | many2many→ ir.model | calculé |
| base_automation_id | Règle d'automatisation | many2one | ajouté par Règles d'automatisation ( |
| child_ids | Actions 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 : |
| code | Code 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_id | Enregistrement à 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→ ir.model | calculé, stocké |
| crud_model_name | Nom du modèle cible | char | lecture seule related : |
| evaluation_type | Type de valeur | selection | Valeurs : |
| followers_partner_field_name | Champ abonnés | char | calculé, stocké ajouté par Discussion ( |
| followers_type | Type 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 : ajouté par Discussion ( |
| group_ids | Groupes autorisés Les groupes qui peuvent exécuter l'action serveur. Laisser vide pour autoriser tout le monde. | many2many | |
| html_value | Valeur HTML | html | |
| ir_cron_ids | Action planifiée | one2many→ ir.cron | inverse : |
| link_field_id | Champ de lien Préciser un champ utilisé pour lier l'enregistrement nouvellement créé à l'enregistrement utilisé par l'action serveur. | many2one | |
| mail_post_autofollow | Inscrire les destinataires | boolean | calculé, stocké ajouté par Discussion ( |
| mail_post_method | Envoyer un e-mail comme | selection | calculé, stocké Valeurs : ajouté par Discussion ( |
| model_id | Modèle Modèle sur lequel se base l'exécution de l'action du serveur. | many2one→ ir.model | requis |
| model_name | Nom de modèle | char | related : |
| name | Nom | char | calculé, stocké |
| parent_id | Action parent | many2one | |
| partner_ids | Partenaire | many2many | calculé, stocké ajouté par Discussion ( |
| resource_ref | Enregistrement | reference | |
| selection_value | Valeur personnalisée | many2one | |
| sequence | Sé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_id | Séquence à utiliser | many2one | |
| show_code_history | Afficher l’historique du code | boolean | calculé |
| sms_method | Envoyer le SMS comme | selection | calculé, stocké Valeurs : ajouté par Passerelle SMS ( |
| sms_template_id | Modèle SMS | many2one | calculé, stocké ajouté par Passerelle SMS ( |
| state | Type 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 : |
| template_id | Modèle d'e-mail | many2one | calculé, stocké ajouté par Discussion ( |
| type | Type | char | |
| update_boolean_value | Valeur du booléen | selection | Valeurs : |
| update_field_id | Champ à mettre à jour | many2one | calculé, stocké |
| update_field_type | Update Field Type | selection | lecture seule related : |
| update_m2m_operation | Opérations Many2many | selection | Valeurs : |
| update_path | Champ pour mettre à jour le chemin d'accès Chemin d'accès au champ à mettre à jour, par ex. 'partner_id.name' | char | |
| update_related_model_id | Mettre à jour le modèle associé | many2one→ ir.model | calculé, stocké |
| usage | Utilisation | selection | requis Valeurs : |
| value | Valeur 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_show | Champ valeur à afficher | selection | calculé Valeurs : |
| warning | Avertissement | text | calculé |
| webhook_field_ids | Champs 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_payload | Exemple de charge utile | text | calculé |
| webhook_url | URL webhook URL à laquelle envoyer la requête POST. | char | |
| website_path | Chemin du site web | char | ajouté par Site Web ( |
| website_published | Disponible 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_url | URL du site web L'URL complète pour accéder au serveur via le site web. | char | calculé ajouté par Site Web ( |
| xml_id | ID externe ID de l'action s'il est défini dans un fichier XML | char | calculé ajouté par Site Web ( |
| activity_calendar_event_id | Activité suivante de l'événement du calendrier | many2one | calculé hérité de mail.activity.mixin |
| activity_date_deadline | Date limite de l'activité à venir | date | lecture seulecalculé hérité de mail.activity.mixin |
| activity_exception_decoration | Indicateur d’exception d’activité Type d'activité d'exception enregistrée. | selection | calculé Valeurs : hérité de mail.activity.mixin |
| activity_exception_icon | Icône Icône pour indiquer une activité d'exception. | char | calculé hérité de mail.activity.mixin |
| activity_ids | Activités | one2many | inverse : hérité de mail.activity.mixin |
| activity_state | Statut de l'activité Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities. | selection | calculé Valeurs : hérité de mail.activity.mixin |
| activity_type_icon | Icône de type d'activité | char | related : hérité de mail.activity.mixin |
| binding_model_id | Modèle de liaison La définition d'une valeur rend cette action disponible dans la barre latérale pour le modèle donné. | many2one→ ir.model | hérité de ir.actions.actions |
| binding_type | Type de liaison | selection | requis Valeurs : hérité de ir.actions.actions |
| binding_view_types | Types de vues de liaison | char | hérité de ir.actions.actions |
| has_message | A un message | boolean | calculé hérité de mail.thread |
| help | Description 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_count | Nombre de pièces jointes | integer | calculé hérité de mail.thread |
| message_follower_ids | Abonnés | one2many | inverse : hérité de mail.thread |
| message_has_error | Erreur d'envoi du message Si coché, certains messages ont une erreur de livraison. | boolean | calculé hérité de mail.thread |
| message_has_error_counter | Nombre d'erreurs Nombre de messages avec des erreurs d'envoi | integer | calculé hérité de mail.thread |
| message_has_sms_error | Erreur d'envoi SMS Si coché, certains messages ont une erreur de livraison. | boolean | calculé hérité de mail.thread |
| message_ids | Messages | one2many | inverse : hérité de mail.thread |
| message_is_follower | Est un abonné | boolean | calculé hérité de mail.thread |
| message_needaction | Nécessite une action Si coché, de nouveaux messages demandent votre attention. | boolean | calculé hérité de mail.thread |
| message_needaction_counter | Nombre d'actions Nombre de messages nécessitant une action | integer | calculé hérité de mail.thread |
| message_partner_ids | Abonné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 |
| path | Chemin d'accès à afficher dans l'URL | char | hérité de ir.actions.actions |
| rating_ids | Évaluations | one2many | inverse : hérité de mail.thread |
| website_message_ids | Messages du site web Historique de communication du site web | one2many | inverse : hérité de mail.thread |
| create_date | Créé le | datetime | lecture seuleautomatique |
| create_uid | Créé par | many2one | lecture seuleautomatique |
| display_name | Nom affiché | char | lecture seulecalculéautomatique |
| id | ID | integer | lecture seuleautomatique |
| write_date | Dernière mise à jour le | datetime | lecture seuleautomatique |
| write_uid | Dernière mise à jour par | many2one | lecture seuleautomatique |
Relations
Modèles liés depuis ce modèle
- base.automation : base_automation_id
- ir.actions.server : child_ids, parent_id
- ir.cron : ir_cron_ids
- ir.model : available_model_ids, crud_model_id, model_id, update_related_model_id
- ir.model.fields : link_field_id, update_field_id, webhook_field_ids
- ir.model.fields.selection : selection_value
- ir.sequence : sequence_id
- mail.activity.type : activity_type_id
- mail.template : template_id
- res.groups : group_ids
- res.partner : partner_ids
- res.users : activity_user_id
- sms.template : sms_template_id
Champs d'autres modèles qui pointent ici
- ir.actions.server : parent_id
- ir.actions.server.history : action_id
- ir.cron : ir_actions_server_id
- server.action.history.wizard : action_id
- website.snippet.filter : action_server_id
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 -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}'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
- Code source du modèle sur GitHub
- Documentation Odoo 19 : ORM API
- Documentation Odoo 19 : API externe JSON-2
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.