Recursos · Integración n8n

Integración Odoo n8nAutomatiza Odoo con n8n.

Cada registro de Odoo al alcance de un flujo de trabajo, sin escribir una sola llamada a la API. La integración Odoo n8n reúne 20 operaciones en 4 recursos: contactos, oportunidades, actividades y cualquier modelo de tu base. n8n no trae trigger de Odoo: arranca con un Schedule Trigger o con otra app.

Reseñas verificadas en Trustpilot · Agencia de IA, automatización y growth

Por qué automatizar

¿Qué cubre de verdad la integración Odoo n8n?

La integración Odoo n8n cabe en un solo nodo, incluido con n8n, que lee y escribe registros en una base de Odoo a través de su API externa. Expone 20 operaciones repartidas en 4 recursos: Contact, Opportunity, Activity y Custom Resource, este último apuntando a cualquier modelo de Odoo que tú indiques. Un único credential, es decir unas credenciales guardadas una vez en n8n, sirve después para todos los flujos de trabajo.

Hay tres montajes que se repiten. El primero llena el CRM: un formulario de la web crea la ficha con contact.create y después opportunity.create abre la oportunidad asociada. Comercial encuentra el registro en Odoo sin volver a teclear nada.

El segundo persigue lo que está parado. Cada mañana opportunity.getAll saca las oportunidades abiertas, un filtro se queda con las que llevan días sin moverse y activity.create programa la llamada sobre la propia ficha. El aviso sale por Slack y el seguimiento se queda dentro de Odoo, donde el equipo ya trabaja.

El tercero exporta. contact.getAll con Return All encadena todas las páginas de la API y vuelca el resultado en Google Sheets o en Airtable, que es la forma habitual de montar un informe que la base no ofrece tal cual. Las plantillas publicadas van más lejos: una resume los correos entrantes y los guarda como notas en una oportunidad de venta (plantilla 2336), otra importa las imágenes de producto desde Google Drive (plantilla 3181).

Custom Resource es la puerta de salida del nodo. Indicas el modelo de Odoo en Resource Name or ID y se aplican los mismos verbos: crear, leer, actualizar, borrar y listar. Una factura, un artículo o una línea de horas pasan por ahí.

Ahora los límites. No existe nodo trigger de Odoo, así que nada arranca desde la propia base. Los dos relevos son un Schedule Trigger que llama a una operación de listado cada cierto intervalo, o el nodo Webhook de n8n, una URL que un servicio externo puede llamar. El acceso a la API externa además exige un plan Custom de Odoo, porque los planes One App Free y Standard la dejan cerrada. Y cuando falta un endpoint en el nodo, el nodo HTTP Request lo llama directamente reutilizando el mismo credential. Si quieres montarlo sin ir a tientas, el Curso n8n recorre estas piezas una a una.

Conexión

¿Cómo se conecta Odoo con n8n?

  1. 01

    Elige el método de autenticación

    El nodo admite dos credentials: API Key (Recommended) y Username & Password. Los dos piden los mismos cuatro valores: Site URL, Username, Password or API key y Database name. Antes de nada revisa el plan de Odoo, porque el acceso a la API externa solo existe en un plan Custom. Con One App Free o Standard la conexión se rechaza escribas lo que escribas.

  2. 02

    Genera la clave API en Odoo

    Entra en Your Profile, luego Preferences, Account Security, Developer API Keys. Pulsa New API Key, ponle una Description reconocible del tipo n8n integration y dale a Generate Key. Copia el valor en ese momento y pégalo en Password or API key dentro de n8n. El Username que vale es el que aparece en la pantalla Change password de Odoo, no el nombre que ven tus compañeros.

  3. 03

    Rellena el credential y guárdalo

    Site URL recibe la dirección de tu servidor de Odoo. Database name es el nombre de la instancia, el que le dice a Odoo qué base abrir cuando conviven varias en un mismo servidor. Guárdalo una vez desde el menú Credentials y cada nodo de Odoo de cada flujo lo ofrecerá en su desplegable, sin que la clave circule dentro del flujo.

Acciones

Lo que sabe hacer el nodo de Odoo

El nodo Odoo expone 20 operaciones en 4 recursos. Para cada una: el nodo tal como lo configuras en n8n, los campos obligatorios y nuestras notas de campo.

Activity

5 operaciones
01

Create an activity

activity.create

Lo que ves en n8n

Notas y casos de uso

Programa una actividad sobre un registro que ya existe en Odoo, igual que un comercial agenda una llamada desde la ficha.

Parámetros clave

  • Linked Document Model: el modelo de Odoo al que se engancha la actividad, elegido en la lista o pasado como expresión, por ejemplo {{ $json.model }}.
  • Linked Document: el registro concreto dentro de ese modelo.
  • Activity Type: el tipo de actividad que se programa, entre los definidos en Odoo.
  • Additional Fields: el mapper donde se rellenan los demás campos.
Casos de uso
una oportunidad que lleva una semana quieta recibe una llamada agendada sola, y el recordatorio vive en Odoo y no en la memoria de alguien.
02

Delete an activity

activity.delete

Lo que ves en n8n

Notas y casos de uso

Elimina una actividad programada. El registro al que estaba enganchada no se toca, solo desaparece la tarea.

Parámetros clave

  • Activity: la actividad que se retira, elegida en la lista o pasada como expresión, casi siempre un identificador que trajo un listado anterior.
Casos de uso
se cierra una venta y las llamadas de seguimiento que un flujo había agendado encima se limpian en la misma ejecución, sin envejecer en la lista del comercial.
03

Get an activity

activity.get

Lo que ves en n8n

Notas y casos de uso

Lee una actividad y devuelve sus campos, que es justo lo que necesita una rama posterior antes de decidir nada.

Parámetros clave

  • Activity: la que se quiere recuperar.
  • Fields to Include: dentro de Options, deja la respuesta en los campos que nombras en vez de devolver la ficha entera.
Casos de uso
antes de repetir un recordatorio en un canal de equipo se relee la actividad y solo se envía lo que hay que leer.
04

Get many activities

activity.getAll

Lo que ves en n8n

Notas y casos de uso

Lista actividades por lotes, con filtros que estrechan el resultado a un modelo o a un registro.

Parámetros clave

  • Return All: activado, n8n recorre todas las páginas de la API; desactivado, Limit fija cuántas actividades vuelven.
  • Linked Document Model: en Filters, deja solo las actividades enganchadas a un modelo, por ejemplo res.partner.
  • Linked Document ID: estrecha más, hasta un único registro.
  • Fields to Include: recorta los campos devueltos.
Casos de uso
un resumen de todo lo previsto en el embudo, preparado antes de la reunión semanal.
05

Update an activity

activity.update

Lo que ves en n8n

Notas y casos de uso

Cambia una actividad ya agendada en lugar de borrarla y crear otra.

Parámetros clave

  • Activity: la que se modifica.
  • Fields to Update: el mapper con los campos que se sobrescriben; lo que no aparece ahí conserva su valor.
Casos de uso
se mueve una reunión y el flujo escribe la fecha nueva en la actividad, en vez de dejar un aviso que apunta al día equivocado.

Contact

5 operaciones
06

Create a contact

contact.create

Lo que ves en n8n

Notas y casos de uso

Añade un contacto en Odoo y lo devuelve con su identificador, para que el nodo siguiente le enganche una oportunidad o una actividad.

Parámetros clave

  • Fields to Send: obligatorio, el mapper donde cada campo de Odoo recibe su valor, escrito a mano o tomado del item entrante con una expresión como {{ $json.email }}.
Casos de uso
un alta desde la web llena el CRM sin que nadie reescriba un nombre, y la misma ejecución abre la oportunidad que va detrás.
07

Delete a contact

contact.delete

Lo que ves en n8n

Notas y casos de uso

Borra un contacto de la base. Nada en n8n lo devuelve, así que la rama que llama a esta operación suele ir detrás de una condición.

Parámetros clave

  • Contact: la ficha que se borra, elegida en la lista o resuelta con una expresión.
Casos de uso
llega una petición de supresión, el flujo retira la ficha correspondiente y deja constancia del borrado fuera del CRM.
08

Get a contact

contact.get

Lo que ves en n8n

Notas y casos de uso

Trae un contacto y pasa sus campos al resto del flujo.

Parámetros clave

  • Contact: la ficha que se lee.
  • Fields to Include: dentro de Options, limita la respuesta a los campos que eliges, algo que mantiene legible una ficha muy cargada.
Casos de uso
un ticket de soporte lleva un identificador de Odoo, el nodo lee la ficha que hay detrás y la respuesta sale con el nombre correcto.
09

Get many contacts

contact.getAll

Lo que ves en n8n

Notas y casos de uso

Devuelve contactos en bloque, filtrados con los operadores del propio Odoo.

Parámetros clave

  • Return All: activado, se recogen todas las páginas; desactivado, Limit corta en un número fijo de contactos.
  • Field Name or ID, Operator y Value: el filtro, con operadores como like, in o childOf.
  • Fields to Include: los campos que quieres de verdad en la salida.
Casos de uso
una exportación nocturna de la base de clientes hacia un almacén de datos, para sacar los informes de los ficheros sueltos.
10

Update a contact

contact.update

Lo que ves en n8n

Notas y casos de uso

Escribe valores nuevos en una ficha existente, campo a campo, y deja el resto como estaba.

Parámetros clave

  • Contact: la ficha que se modifica.
  • Fields to Update: el mapper; solo se sobrescriben los campos que aparecen ahí.
Casos de uso
un teléfono corregido en la herramienta de soporte vuelve a Odoo, y el CRM deja de alejarse del sitio donde el dato se mantiene de verdad.

Custom Resource

5 operaciones
11

Create a record

custom.create

Lo que ves en n8n

Notas y casos de uso

Crea una fila en cualquier modelo de Odoo, no solo en los tres recursos con nombre propio del nodo.

Parámetros clave

  • Resource Name or ID: obligatorio, el modelo de Odoo sobre el que se trabaja.
  • Fields to Send: obligatorio, los valores de ese modelo, mapeados uno a uno.
Casos de uso
un artículo, una tarea de proyecto o una línea de horas creados desde un flujo, sin esperar a que aparezca un recurso dedicado en el nodo.
12

Delete a record

custom.delete

Lo que ves en n8n

Notas y casos de uso

Borra una fila del modelo que indiques. Dos parámetros obligatorios, porque el nodo necesita saber el modelo antes de poder localizar la fila.

Parámetros clave

  • Resource Name or ID: el modelo afectado.
  • Record: la fila que se elimina.
Casos de uso
una línea duplicada por una ejecución fallida se retira desde la rama de recuperación, antes de que nadie vea el duplicado en Odoo.
13

Get a record

custom.get

Lo que ves en n8n

Notas y casos de uso

Lee una fila de un modelo cualquiera y devuelve sus campos.

Parámetros clave

  • Resource Name or ID: el modelo que se consulta.
  • Record: la fila que se recupera.
  • Fields to Include: aquí es una lista de nombres de campo separados por comas, del tipo name,email,phone, y no un selector.
Casos de uso
leer una línea de factura para decidir si el flujo manda un aviso de cobro o se queda callado.
14

Get many records

custom.getAll

Lo que ves en n8n

Notas y casos de uso

Lista las filas de un modelo que tú nombras. Por ahí empiezan casi todos los flujos de informes sobre Odoo.

Parámetros clave

  • Resource Name or ID: obligatorio, el modelo que se lee.
  • Return All: activado, n8n recorre el modelo entero; desactivado, Limit acota el lote.
  • Fields to Include: una lista de nombres de campo separados por comas.
Casos de uso
sacar cada mañana las facturas abiertas y llevarlas a la hoja que administración ya abre todos los días.
15

Update a record

custom.update

Lo que ves en n8n

Notas y casos de uso

Actualiza una fila en cualquier modelo. Misma lógica que la actualización de contacto, con el modelo elegido a mano.

Parámetros clave

  • Resource Name or ID: el modelo.
  • Record: la fila que se modifica.
  • Fields to Update: el mapper con los valores nuevos.
Casos de uso
una cantidad de stock recalculada en otro sistema se reescribe cada noche sobre la ficha de producto, para que el catálogo coincida con lo que hay en almacén.

Opportunity

5 operaciones
16

Create an opportunity

opportunity.create

Lo que ves en n8n

Notas y casos de uso

Abre una oportunidad en el embudo y la devuelve, lista para enlazarla con un contacto o para que una actividad la recoja.

Parámetros clave

  • Fields to Send: obligatorio, el mapper con los campos de la oportunidad, rellenados a mano o desde el item entrante con una expresión.
Casos de uso
un lead entrante ya cualificado entra como oportunidad en la etapa correcta al minuto, y no el viernes por la tarde cuando alguien saca tiempo.
17

Delete an opportunity

opportunity.delete

Lo que ves en n8n

Notas y casos de uso

Saca una oportunidad del embudo de forma definitiva.

Parámetros clave

  • Opportunity: la oportunidad que se elimina, elegida en la lista o resuelta con una expresión del tipo {{ $json.id }}.
Casos de uso
una pasada de duplicados conserva la oportunidad más antigua y borra la copia que creó un formulario enviado dos veces, para que la previsión deje de contar dos veces lo mismo.
18

Get an opportunity

opportunity.get

Lo que ves en n8n

Notas y casos de uso

Recupera una oportunidad con sus campos, para que el flujo pueda ramificar según lo que encuentre.

Parámetros clave

  • Opportunity: la que se lee.
  • Fields to Include: dentro de Options, limita la respuesta a los campos que nombras.
Casos de uso
antes de mandar un presupuesto se relee la oportunidad y se comprueba la etapa, para que el documento diga lo que de verdad se habló.
19

Get many opportunities

opportunity.getAll

Lo que ves en n8n

Notas y casos de uso

Devuelve oportunidades por lotes, filtradas con la misma lista de operadores que los contactos.

Parámetros clave

  • Return All: activado, vuelven todas las páginas; desactivado, Limit fija el tamaño del lote.
  • Field Name or ID, Operator y Value: el filtro, con greaterThen o notEqual entre los operadores disponibles.
  • Fields to Include: los campos que se conservan en la salida.
Casos de uso
una revisión semanal del embudo montada sola con las oportunidades que cambiaron de etapa.
20

Update an opportunity

opportunity.update

Lo que ves en n8n

Notas y casos de uso

Hace avanzar una oportunidad sin tocar el resto de la ficha.

Parámetros clave

  • Opportunity: la oportunidad que se modifica.
  • Fields to Update: los campos que se sobrescriben; todo lo demás conserva su valor actual.
Casos de uso
un documento firmado detectado en el correo empuja la oportunidad a la etapa de cierre, y el flujo avisa al equipo en el canal donde ya habla.
Necesitas ayuda

¿Necesitas ayuda para automatizar Odoo con n8n?

El equipo te responde directamente.

Cada mensaje lo lee una persona.

FAQ

Odoo y n8n, las dudas que se repiten

01¿La integración Odoo n8n es gratuita?
Por el lado de n8n, sí. El nodo de Odoo viene incluido con n8n, así que no hay nada que instalar ni nada extra que pagar, tanto si el flujo corre en n8n Cloud como en una instancia autoalojada en Community Edition con licencia Sustainable Use. La condición está en Odoo: el acceso a la API externa, la que consulta el nodo, solo se abre en un plan Custom. Los planes One App Free y Standard la mantienen cerrada, y un flujo montado sobre ellos fallará en la autenticación por muy bien rellenado que esté el credential.
02¿Qué credenciales hacen falta para conectar Odoo con n8n?
Funcionan dos métodos: una clave API, que la documentación recomienda, o un usuario con su contraseña. Los dos credentials piden los mismos cuatro valores: el Site URL de tu servidor de Odoo, el Username tal cual aparece en la pantalla Change password, el Password or API key y el Database name, es decir el nombre de la instancia. La clave se genera dentro de Odoo en Your Profile, Preferences, Account Security, Developer API Keys y después New API Key. Cópiala en ese momento y guárdala desde el menú Credentials de n8n, donde cualquier flujo la elige en un desplegable.
03¿Qué límites tiene el nodo de Odoo en n8n?
El nodo cubre 20 operaciones en 4 recursos: Contact, Opportunity, Activity y Custom Resource. Todo lo que queda fuera de los tres recursos con nombre pasa por Custom Resource, donde escribes tú el modelo de Odoo y recuperas los mismos verbos: crear, leer, actualizar, borrar y listar. Dos detalles antes de montar nada. Las operaciones de listado devuelven un lote acotado mientras Return All esté desactivado; activado, n8n encadena las páginas de la API por ti. Y cuando un endpoint no está modelado en el nodo, el nodo HTTP Request lo llama directamente reutilizando el mismo credential de Odoo.
04¿Puede n8n reaccionar en tiempo real a un cambio en Odoo?
Por sí solo no. n8n no tiene nodo trigger de Odoo, así que nada de lo que ocurre dentro de la base arranca un flujo. Hay dos montajes que lo sustituyen. El primero es un Schedule Trigger, un nodo que se dispara cada cierto intervalo, llama a una operación de listado como Get many contacts o Get many opportunities y compara lo que vuelve con lo que guardó la ejecución anterior. El segundo es el nodo Webhook de n8n, una URL que puede llamar cualquier servicio externo, incluida una automatización configurada en Odoo. Ese reacciona en cuanto llega la llamada, pero hay que prepararlo antes en Odoo.
05¿n8n o Make para Odoo?
Depende de dónde pueden vivir los datos y de cómo quieres que se forme la factura. Make lo aloja su editor, sin opción de autoalojamiento, y cobra por operación: cómodo al empezar y previsible mientras el volumen no se mueva. n8n corre en su oferta alojada o en tus propios servidores con Docker o npm, y un flujo se comporta igual en ambos casos. Eso pesa cuando una base de Odoo guarda datos de clientes que prefieres tener en casa. La lógica visual también difiere, así que reconstruye el mismo escenario pequeño en las dos antes de decidir.