Intégration Odoo n8nAutomatiser Odoo avec n8n.
Tous tes enregistrements Odoo accessibles depuis un workflow, sans appel d'API écrit à la main. L'intégration Odoo n8n couvre 20 opérations sur 4 ressources : contacts, opportunités, activités et tout modèle de ta base. Aucun trigger Odoo dans n8n : un Schedule Trigger ou un autre outil lance l'exécution.
Avis vérifiés sur Trustpilot · Agence IA, automatisation & growth
Que couvre vraiment l'intégration Odoo n8n ?
L'intégration Odoo n8n tient dans un nœud livré avec n8n, qui lit et écrit des enregistrements dans une base Odoo via son API externe. Il expose 20 opérations réparties sur 4 ressources : Contact, Opportunity, Activity et Custom Resource, cette dernière visant n'importe quel modèle Odoo que tu désignes. Un seul credential, c'est-à-dire un identifiant de connexion enregistré une fois dans n8n, sert ensuite à tous les workflows, ces suites d'étapes automatisées que tu montes dans l'éditeur.
Trois montages reviennent souvent. Le premier alimente le CRM : un formulaire du site crée la fiche avec contact.create, puis opportunity.create ouvre l'affaire rattachée. L'équipe commerciale retrouve la piste dans Odoo, sans ressaisie et sans fichier intermédiaire.
Le deuxième relance. Chaque matin, opportunity.getAll sort les affaires ouvertes, un filtre garde celles qui n'ont pas bougé, et activity.create planifie l'appel de relance sur la fiche elle-même. Le rappel part par Gmail, le suivi reste dans Odoo, là où les commerciaux travaillent déjà.
Le troisième exporte. contact.getAll avec Return All enchaîne toutes les pages de l'API et déverse le résultat dans Supabase ou dans Microsoft Excel 365, la manière habituelle de construire un reporting que la base ne propose pas telle quelle. Des templates publiés vont plus loin : l'un résume les emails entrants et les enregistre en notes sur une opportunité commerciale (template 2336), l'autre importe les images produit depuis Google Drive (template 3181).
Custom Resource est la porte de sortie du nœud. Tu nommes le modèle Odoo dans Resource Name or ID, et les mêmes verbes s'appliquent : créer, lire, mettre à jour, supprimer, lister. Une facture, un article, une ligne de temps passent par là.
Les limites, maintenant. Il n'existe pas de nœud trigger Odoo, autrement dit aucun déclencheur ne part de la base elle-même. Deux relais : un Schedule Trigger qui appelle une opération de liste à intervalle fixe, ou le nœud Webhook de n8n, une URL qu'un service extérieur appelle. L'accès à l'API externe demande en plus un plan Odoo Custom, les plans One App Free et Standard le laissent fermé. Et quand une opération manque au nœud, le nœud HTTP Request appelle l'endpoint directement en réutilisant le même credential. Pour monter ces briques sans tâtonner, la Formation n8n les reprend une par une.
Comment connecter Odoo à n8n ?
- 01
Choisir la méthode d'authentification
Le nœud accepte deux credentials : API Key (Recommended) et Username & Password. Les deux demandent les mêmes quatre valeurs : Site URL, Username, Password or API key et Database name. Commence par vérifier le plan Odoo, parce que l'accès à l'API externe n'existe que sur un plan Custom. Sur One App Free ou Standard, la connexion sera refusée quoi que tu saisisses.
- 02
Générer la clé API dans Odoo
Ouvre Your Profile, puis Preferences, Account Security, Developer API Keys. Clique sur New API Key, donne une Description parlante du type n8n integration, puis Generate Key. Copie la valeur tout de suite et colle-la dans Password or API key côté n8n. Le Username à reprendre est celui affiché sur l'écran Change password d'Odoo, pas le nom que voient tes collègues.
- 03
Remplir le credential et l'enregistrer
Site URL reçoit l'adresse de ton serveur Odoo. Database name, c'est le nom de l'instance, celui qui indique à Odoo quelle base ouvrir quand plusieurs cohabitent sur un même serveur. Enregistre une fois depuis le menu Credentials : chaque nœud Odoo de chaque workflow le proposera ensuite dans sa liste déroulante, sans que la clé circule dans le workflow.
Ce que le nœud Odoo sait faire
Le nœud Odoo expose 20 opérations sur 4 ressources. Pour chacune : le nœud tel que tu le configures dans n8n, les champs obligatoires, et nos notes de terrain.
| Ressource | Create | Get | Get Many | Update | Delete |
|---|---|---|---|---|---|
| Activity | ✓ | ✓ | ✓ | ✓ | ✓ |
| Contact | ✓ | ✓ | ✓ | ✓ | ✓ |
| Custom Resource | ✓ | ✓ | ✓ | ✓ | ✓ |
| Opportunity | ✓ | ✓ | ✓ | ✓ | ✓ |
Sommaire des opérations
Activity
5 opérationsCreate an activity
activity.createCe que tu vois dans n8n
Notes & cas d'usage
Planifie une activité sur un enregistrement Odoo existant, comme un commercial programme un appel ou une tâche depuis la fiche.
Paramètres clés
- Linked Document Model : le modèle Odoo auquel l'activité se rattache, choisi dans la liste ou passé en expression, par exemple
{{ $json.model }}. - Linked Document : l'enregistrement visé à l'intérieur de ce modèle.
- Activity Type : le type d'activité à programmer, pris dans ceux définis dans Odoo.
- Additional Fields : le mapper où se remplissent les autres champs de l'activité.
Delete an activity
activity.deleteCe que tu vois dans n8n
Notes & cas d'usage
Supprime une activité programmée. L'enregistrement auquel elle était rattachée ne bouge pas, seule la tâche disparaît.
Paramètres clés
- Activity : l'activité à retirer, sélectionnée dans la liste ou passée en expression, souvent un identifiant récupéré par une étape de liste précédente.
Get an activity
activity.getCe que tu vois dans n8n
Notes & cas d'usage
Lit une seule activité et renvoie ses champs, ce dont une branche suivante a besoin avant de trancher.
Paramètres clés
- Activity : celle à récupérer.
- Fields to Include : dans Options, limite la réponse aux champs que tu nommes au lieu de renvoyer la fiche entière.
Get many activities
activity.getAllCe que tu vois dans n8n
Notes & cas d'usage
Liste les activités par lots, avec des filtres qui resserrent le résultat sur un modèle ou sur un enregistrement.
Paramètres clés
- Return All : coché, n8n parcourt toutes les pages de l'API ; décoché, Limit fixe le nombre d'activités renvoyées.
- Linked Document Model : dans Filters, ne garde que les activités rattachées à un modèle, par exemple
res.partner. - Linked Document ID : resserre encore, jusqu'à un seul enregistrement.
- Fields to Include : réduit les champs renvoyés.
Update an activity
activity.updateCe que tu vois dans n8n
Notes & cas d'usage
Modifie une activité déjà planifiée, plutôt que de la supprimer pour en recréer une.
Paramètres clés
- Activity : celle à modifier.
- Fields to Update : le mapper qui liste les champs à écraser ; ce qui n'y figure pas garde sa valeur.
Contact
5 opérationsCreate a contact
contact.createCe que tu vois dans n8n
Notes & cas d'usage
Ajoute un contact dans Odoo et le renvoie, identifiant compris, pour que le nœud suivant lui rattache une affaire ou une activité.
Paramètres clés
- Fields to Send : requis, le mapper où chaque champ Odoo reçoit sa valeur, saisie à la main ou reprise de l'item entrant avec une expression comme
{{ $json.email }}.
Delete a contact
contact.deleteCe que tu vois dans n8n
Notes & cas d'usage
Efface un contact de la base. Rien côté n8n ne le ramène, donc la branche qui appelle cette opération se place en général derrière une condition.
Paramètres clés
- Contact : la fiche à effacer, choisie dans la liste ou résolue par une expression.
Get a contact
contact.getCe que tu vois dans n8n
Notes & cas d'usage
Va chercher un contact et transmet ses champs à la suite du workflow.
Paramètres clés
- Contact : la fiche à lire.
- Fields to Include : dans Options, restreint la réponse aux champs choisis, ce qui garde une fiche chargée lisible pour les nœuds suivants.
Get many contacts
contact.getAllCe que tu vois dans n8n
Notes & cas d'usage
Renvoie des contacts en nombre, filtrés avec les opérateurs d'Odoo lui-même.
Paramètres clés
- Return All : coché, toutes les pages sont récupérées ; décoché, Limit arrête l'exécution à un nombre fixe de contacts.
- Field Name or ID, Operator et Value : le filtre, avec des opérateurs comme
like,inouchildOf. - Fields to Include : les champs que tu veux réellement en sortie.
Update a contact
contact.updateCe que tu vois dans n8n
Notes & cas d'usage
Écrit de nouvelles valeurs sur une fiche existante, champ par champ, en laissant le reste intact.
Paramètres clés
- Contact : la fiche à modifier.
- Fields to Update : le mapper ; seuls les champs listés là sont écrasés.
Custom Resource
5 opérationsCreate a record
custom.createCe que tu vois dans n8n
Notes & cas d'usage
Crée une ligne dans n'importe quel modèle Odoo, pas seulement dans les trois ressources nommées du nœud.
Paramètres clés
- Resource Name or ID : requis, le modèle Odoo sur lequel travailler.
- Fields to Send : requis, les valeurs de ce modèle, mappées une à une.
Delete a record
custom.deleteCe que tu vois dans n8n
Notes & cas d'usage
Supprime une ligne du modèle que tu désignes. Deux paramètres requis, parce que le nœud doit connaître le modèle avant de pouvoir y trouver la ligne.
Paramètres clés
- Resource Name or ID : le modèle concerné.
- Record : la ligne à supprimer.
Get a record
custom.getCe que tu vois dans n8n
Notes & cas d'usage
Lit une ligne dans un modèle quelconque et renvoie ses champs.
Paramètres clés
- Resource Name or ID : le modèle à interroger.
- Record : la ligne à récupérer.
- Fields to Include : ici, une liste de noms de champs séparés par des virgules, du type
name,email,phone, et non un sélecteur.
Get many records
custom.getAllCe que tu vois dans n8n
Notes & cas d'usage
Liste les lignes d'un modèle que tu nommes. C'est par là que commencent la plupart des workflows de reporting sur Odoo.
Paramètres clés
- Resource Name or ID : requis, le modèle à lire.
- Return All : coché, n8n parcourt tout le modèle ; décoché, Limit borne le lot.
- Fields to Include : une liste de noms de champs séparés par des virgules.
Update a record
custom.updateCe que tu vois dans n8n
Notes & cas d'usage
Met à jour une ligne dans n'importe quel modèle. Même logique que la mise à jour de contact, avec le modèle choisi à la main.
Paramètres clés
- Resource Name or ID : le modèle.
- Record : la ligne à modifier.
- Fields to Update : le mapper qui porte les nouvelles valeurs.
Opportunity
5 opérationsCreate an opportunity
opportunity.createCe que tu vois dans n8n
Notes & cas d'usage
Ouvre une affaire dans le pipe et la renvoie, prête à être reliée à un contact ou reprise par une activité.
Paramètres clés
- Fields to Send : requis, le mapper qui porte les champs de l'affaire, remplis à la main ou depuis l'item entrant avec une expression.
Delete an opportunity
opportunity.deleteCe que tu vois dans n8n
Notes & cas d'usage
Retire définitivement une affaire du pipe. L'opération ne prend qu'un paramètre, ce qui la rend facile à câbler par erreur : une condition juste avant reste une bonne habitude.
Paramètres clés
- Opportunity : l'affaire à supprimer, choisie dans la liste ou résolue par une expression du type
{{ $json.id }}, en général un identifiant lu par une étape précédente plutôt que saisi.
Get an opportunity
opportunity.getCe que tu vois dans n8n
Notes & cas d'usage
Récupère une affaire avec ses champs, pour que le workflow puisse embrancher selon ce qu'il y trouve.
Paramètres clés
- Opportunity : l'affaire à lire.
- Fields to Include : dans Options, limite la réponse aux champs nommés.
Get many opportunities
opportunity.getAllCe que tu vois dans n8n
Notes & cas d'usage
Renvoie les affaires par lots, filtrées avec la même liste d'opérateurs que les contacts.
Paramètres clés
- Return All : coché, toutes les pages reviennent ; décoché, Limit fixe la taille du lot.
- Field Name or ID, Operator et Value : le filtre, avec
greaterThenounotEqualparmi les opérateurs disponibles. - Fields to Include : les champs conservés en sortie.
Update an opportunity
opportunity.updateCe que tu vois dans n8n
Notes & cas d'usage
Fait avancer une affaire sans toucher au reste de la fiche. C'est l'opération qui traduit un événement extérieur en changement d'étape visible par toute l'équipe commerciale.
Paramètres clés
- Opportunity : l'affaire à modifier, désignée dans la liste ou par expression.
- Fields to Update : les champs à écraser ; tout le reste conserve sa valeur actuelle.
Besoin d'aide pour automatiser Odoo avec n8n ?
L'équipe te répond directement.
Chaque message est lu par une personne.
