Référence des outils
Chaque outil sauf connection_info reçoit aussi l'argument agent : l'agent qui exécute l'appel. Avec 1 agent, l'argument est facultatif. Un outil qui modifie des données accepte seulement les agents qui peuvent modifier des données. Une recette s'exécute par run_recipe ou run_write_recipe ; list_recipes donne les recettes approuvées.
Votre connexion
connection_info
Lit des données
Afficher les entreprises de cette connexion, avec leur Odoo et vos agents dans chacune.
Chercher des modèles et des champs
odoo_schema_search
Lit des données
Rechercher dans les modèles et champs de l'agent avant de choisir un modèle.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
query |
string |
oui | Mots à rechercher. |
limit |
integer |
non | Nombre maximal de résultats. |
odoo_models
Lit des données
Lister les modèles que l'agent peut utiliser, par application.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
app |
string |
non | Seulement les modèles de cette application. |
query |
string |
non | Seulement les modèles qui correspondent. |
limit |
integer |
non | Nombre maximal de modèles. |
offset |
integer |
non | Nombre d'éléments à ignorer. |
odoo_fields
Lit des données
Lister les champs d'un modèle que l'agent peut utiliser.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
model |
string |
oui | Nom technique du modèle. |
names |
string[] |
non | Seulement ces champs. |
detail |
"compact" | "full" |
non | Complet ajoute les valeurs, relations et notes. |
include_technical |
boolean |
non | Renvoyer aussi les champs techniques. |
limit |
integer |
non | Nombre maximal de champs. |
offset |
integer |
non | Nombre d'éléments à ignorer. |
Lire des données
odoo_search
Lit des données
Rechercher des enregistrements d'un modèle et les renvoyer avec le nombre total.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
model |
string |
oui | Nom technique du modèle. |
domain |
any[] |
non | Conditions que les enregistrements doivent remplir. |
fields |
string[] |
non | Champs à renvoyer ; vide signifie tous. |
limit |
integer |
non | Nombre maximum d'enregistrements ; sans valeur, tous les enregistrements. |
offset |
integer |
non | Nombre d'enregistrements à ignorer. |
order |
string |
non | Ordre de tri. |
odoo_read
Lit des données
Lire des enregistrements par leurs id.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
model |
string |
oui | Nom technique du modèle. |
ids |
integer[] |
oui | Id des enregistrements. |
fields |
string[] |
non | Champs à renvoyer ; vide signifie tous. |
odoo_aggregate
Lit des données
Regrouper les enregistrements et renvoyer les agrégats par groupe.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
model |
string |
oui | Nom technique du modèle. |
groupby |
string[] |
oui | Champs de regroupement. |
aggregates |
string[] |
oui | Agrégats sous la forme champ:fonction. |
domain |
any[] |
non | Conditions que les enregistrements doivent remplir. |
limit |
integer |
non | Nombre maximal de groupes. |
odoo_report
Lit des données
Renvoyer un rapport d'enregistrements en fichier PDF.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
report_name |
string |
oui | Nom technique du rapport. |
ids |
integer[] |
oui | Id des enregistrements. |
Calculer
odoo_compute
Lit des données
Exécuter un court script Python sur les données de l'agent et renvoyer seulement son résultat.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
code |
string |
oui | Script Python ; la variable result est la réponse. odoo.search(model, domain, fields, limit=None, offset=0, order=None) renvoie un dict avec records et count, et chaque enregistrement sans limit : ne lisez donc pas par page. odoo.read(model, ids, fields), odoo.aggregate(model, domain, groupby, aggregates) et odoo.fields(model) lisent les mêmes données que les outils. Le dict inputs contient les entrées ; pandas et numpy sont disponibles. |
inputs |
object |
non | Valeurs que le script lit comme entrées. |
Modifier des données
odoo_create
Modifie des données
Créer 1 ou plusieurs enregistrements et renvoyer leurs id.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
model |
string |
oui | Nom technique du modèle. |
values |
object | object[] |
oui | Valeurs des champs d'1 enregistrement, ou une liste pour plusieurs. |
odoo_write
Modifie des données
Modifier les champs d'enregistrements.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
model |
string |
oui | Nom technique du modèle. |
ids |
integer[] |
oui | Id des enregistrements. |
values |
object |
oui | Valeurs des champs. |
odoo_call
Modifie des données
Exécuter une méthode de modèle que l'agent autorise.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
model |
string |
oui | Nom technique du modèle. |
method |
string |
oui | Nom d'une méthode de modèle autorisée. |
ids |
integer[] |
non | Id des enregistrements, le cas échéant. |
kwargs |
object |
non | Arguments nommés. |
odoo_post_message
Modifie des données
Publier un message sur un enregistrement et renvoyer l'id du message.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
model |
string |
oui | Nom technique du modèle. |
id |
integer |
oui | Id de l'enregistrement. |
body |
string |
oui | Message en HTML. |
internal |
boolean |
non | True pour une note interne. |
Exporter et importer des fichiers
odoo_export
Lit des données
Exporte des enregistrements vers un fichier Excel ou CSV et renvoie un lien de téléchargement.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
model |
string |
oui | Nom technique du modèle. |
fields |
string[] |
oui | Chemins de champ, comme name, partner_id/name ou partner_id/id. |
domain |
any[] |
non | Conditions que les enregistrements doivent remplir. |
file_format |
object |
non | xlsx ou csv. |
header |
"labels" | "fields" |
non | labels pour les personnes ; fields pour un fichier à réimporter. |
order |
string |
non | Ordre de tri. |
limit |
integer |
non | Nombre maximum d'enregistrements ; sans valeur, tous les enregistrements. |
odoo_import
Modifie des données
Importe un fichier CSV ou Excel avec l'import d'Odoo : chaque ligne, ou aucune si 1 ligne échoue.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
model |
string |
oui | Nom technique du modèle. |
file |
string |
non | Texte CSV, ou un fichier XLSX en base64 ; la ligne 1 est l'en-tête. |
file_format |
object |
non | csv ou xlsx. |
resource_uri |
string |
non | Un fichier d'une réponse précédente, comme un export. |
fields |
string[] |
non | Chemin de champ par colonne ; vide ignore une colonne ; rien utilise l'en-tête. |
Recettes
list_recipes
Lit des données
Liste les recettes approuvées de l'agent, avec leurs paramètres et l'outil qui les exécute.
run_recipe
Lit des données
Exécute une recette approuvée qui lit seulement des données, et renvoie son résultat.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
recipe |
string |
oui | Nom d'une recette approuvée, issu de list_recipes. |
params |
object |
non | Paramètres conformes au schéma de la recette. |
run_write_recipe
Modifie des données
Exécute une recette approuvée qui modifie des données, et renvoie son résultat.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
recipe |
string |
oui | Nom d'une recette approuvée, issu de list_recipes. |
params |
object |
non | Paramètres conformes au schéma de la recette. |
propose_recipe
Modifie des données
Proposer une recette : une suite fixe d'appels d'outils qu'un administrateur peut publier comme 1 outil.
| Argument | Type | Obligatoire | Description |
|---|---|---|---|
slug |
string |
oui | Nom du nouvel outil : minuscules, chiffres, tirets bas. |
description |
string |
oui | 1 phrase qui dit ce que fait la recette. |
parameters_schema |
object |
oui | Schéma JSON de type object pour l'entrée. |
steps |
object[] |
oui | Les appels d'outils dans leur ordre. |
output_template |
string |
oui | Modèle du résultat. |