Ressources · Intégration n8n

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

Pourquoi automatiser

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.

Connexion

Comment connecter Odoo à n8n ?

  1. 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.

  2. 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.

  3. 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.

Actions

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.

Matrice ressources × opérations
RessourceCreateGetGet ManyUpdateDelete
Activity✓✓✓✓✓
Contact✓✓✓✓✓
Custom Resource✓✓✓✓✓
Opportunity✓✓✓✓✓

Activity

5 opérations
01

Create an activity

activity.create

Ce 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é.
Cas d'usage
une affaire sans mouvement depuis une semaine se voit attribuer un appel planifié, et le rappel vit dans Odoo plutôt que dans la tête de quelqu'un.
02

Delete an activity

activity.delete

Ce 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.
Cas d'usage
une affaire se conclut, et les relances qu'un workflow avait planifiées dessus disparaissent dans la même exécution, au lieu de vieillir dans la liste des commerciaux.
03

Get an activity

activity.get

Ce 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.
Cas d'usage
avant de republier un rappel dans un canal d'équipe, on relit l'activité concernée et on n'envoie que ce que l'équipe doit lire.
04

Get many activities

activity.getAll

Ce 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.
Cas d'usage
un récapitulatif de tout ce qui est prévu sur le pipe, préparé avant la réunion commerciale.
05

Update an activity

activity.update

Ce 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.
Cas d'usage
un rendez-vous se décale, et le workflow inscrit la nouvelle date sur l'activité au lieu de laisser un rappel qui pointe le mauvais jour.

Contact

5 opérations
06

Create a contact

contact.create

Ce 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 }}.
Cas d'usage
une inscription en ligne remplit le CRM sans que personne ne retape un nom, et la même exécution ouvre l'opportunité correspondante.
07

Delete a contact

contact.delete

Ce 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.
Cas d'usage
une demande de suppression arrive, le workflow retire la fiche correspondante et garde la trace de l'opération ailleurs, hors du CRM.
08

Get a contact

contact.get

Ce 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.
Cas d'usage
un ticket de support porte un identifiant Odoo, le nœud lit la fiche derrière, et la réponse au client part avec le bon nom.
09

Get many contacts

contact.getAll

Ce 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, in ou childOf.
  • Fields to Include : les champs que tu veux réellement en sortie.
Cas d'usage
un export nocturne de la base clients vers un entrepôt de données, pour sortir le reporting des fichiers qui traînent.
10

Update a contact

contact.update

Ce 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.
Cas d'usage
un numéro corrigé dans l'outil de support remonte dans Odoo, et le CRM cesse de diverger de l'endroit où la donnée est vraiment tenue à jour.

Custom Resource

5 opérations
11

Create a record

custom.create

Ce 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.
Cas d'usage
un article, une tâche de projet ou une ligne de temps créés depuis un workflow, sans attendre qu'une ressource dédiée apparaisse dans le nœud.
12

Delete a record

custom.delete

Ce 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.
Cas d'usage
une ligne créée deux fois par une exécution ratée disparaît via la branche de rattrapage, avant que quelqu'un ne repère le doublon dans Odoo.
13

Get a record

custom.get

Ce 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.
Cas d'usage
lire une ligne de facture pour décider si le workflow envoie une relance de paiement ou se tait.
14

Get many records

custom.getAll

Ce 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.
Cas d'usage
sortir chaque matin les factures ouvertes et les pousser dans le tableau que la compta ouvre déjà tous les jours.
15

Update a record

custom.update

Ce 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.
Cas d'usage
une quantité de stock recalculée dans un autre système est réécrite chaque nuit sur la fiche article, pour que le catalogue colle à ce qu'il y a en rayon.

Opportunity

5 opérations
16

Create an opportunity

opportunity.create

Ce 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.
Cas d'usage
un lead entrant qualifié devient une affaire à la bonne étape dans la minute, au lieu d'attendre le vendredi après-midi et le moment où quelqu'un trouve le temps.
17

Delete an opportunity

opportunity.delete

Ce 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.
Cas d'usage
un traitement de doublons garde l'affaire la plus ancienne et supprime la copie née d'un formulaire envoyé deux fois, pour que les prévisions arrêtent de compter deux fois le même chiffre.
18

Get an opportunity

opportunity.get

Ce 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.
Cas d'usage
avant d'envoyer un devis, relire l'affaire et vérifier l'étape où elle se trouve, pour que le document corresponde à ce qui a été discuté.
19

Get many opportunities

opportunity.getAll

Ce 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 greaterThen ou notEqual parmi les opérateurs disponibles.
  • Fields to Include : les champs conservés en sortie.
Cas d'usage
une revue de pipe hebdomadaire assemblée toute seule à partir des affaires qui ont changé d'étape.
20

Update an opportunity

opportunity.update

Ce 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.
Cas d'usage
un document signé détecté dans une boîte mail pousse l'affaire à l'étape de clôture, et le workflow prévient l'équipe dans le canal où elle discute déjà.
Besoin d'aide

Besoin d'aide pour automatiser Odoo avec n8n ?

L'équipe te répond directement.

Chaque message est lu par une personne.

FAQ

Odoo et n8n, les questions qui reviennent

01L'intégration Odoo n8n est-elle gratuite ?
Côté n8n, oui. Le nœud Odoo est livré avec n8n : rien à installer, rien à payer en plus, que le workflow tourne sur n8n Cloud ou sur une instance auto-hébergée en Community Edition sous licence Sustainable Use. La condition se trouve du côté d'Odoo : l'accès à l'API externe, celle que le nœud interroge, est réservé à un plan Custom. Les plans One App Free et Standard la laissent fermée, et un workflow construit dessus échouera à l'authentification, quel que soit le soin apporté au credential.
02Quels identifiants faut-il pour connecter Odoo à n8n ?
Deux méthodes fonctionnent : une clé API, recommandée par la documentation, ou un couple nom d'utilisateur et mot de passe. Les deux credentials demandent les mêmes quatre valeurs : le Site URL de ton serveur Odoo, le Username exactement tel qu'il apparaît sur l'écran Change password, le Password or API key, et le Database name, autrement dit le nom de l'instance. La clé se génère dans Odoo sous Your Profile, Preferences, Account Security, Developer API Keys, puis New API Key. Copie-la tout de suite, puis enregistre-la dans le menu Credentials de n8n : tous tes workflows la reprendront dans une liste déroulante.
03Quelles sont les limites du nœud Odoo dans n8n ?
Le nœud couvre 20 opérations sur 4 ressources : Contact, Opportunity, Activity et Custom Resource. Tout ce qui sort des trois ressources nommées passe par Custom Resource, où tu saisis toi-même le modèle Odoo et retrouves les mêmes verbes : créer, lire, mettre à jour, supprimer, lister. Deux points à connaître avant de construire. Les opérations de liste ne renvoient qu'un lot borné tant que Return All n'est pas activé ; activé, n8n enchaîne les pages de l'API à ta place. Et quand un endpoint n'est pas modélisé du tout, le nœud HTTP Request l'appelle directement en réutilisant le même credential Odoo.
04n8n peut-il réagir en temps réel à un changement dans Odoo ?
Pas tout seul. n8n n'a pas de nœud trigger Odoo, donc rien de ce qui se passe dans la base ne démarre un workflow. Deux montages remplacent ça. Le premier est un Schedule Trigger, un nœud qui se déclenche à intervalle fixe, appelle une opération de liste comme Get many contacts ou Get many opportunities, puis compare ce qui revient avec ce que l'exécution précédente avait enregistré. Le second est le nœud Webhook de n8n, une URL qu'un service extérieur peut appeler, y compris une automatisation configurée côté Odoo. Celui-là réagit dès l'appel, mais il faut le paramétrer dans Odoo d'abord.
05n8n ou Make pour Odoo ?
Ça dépend de l'endroit où la donnée a le droit de vivre et de la manière dont tu veux que la facture se construise. Make est hébergé par son éditeur, sans option d'auto-hébergement, et se facture à l'opération : simple au départ, prévisible tant que le volume ne bouge pas. n8n tourne sur son offre hébergée ou sur tes propres serveurs, avec Docker ou npm, et un workflow se comporte pareil dans les deux cas. Ça compte quand une base Odoo contient des données clients que tu préfères garder chez toi. La logique visuelle diffère aussi : remonte le même petit scénario sur les deux avant de trancher.