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
¿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.
¿Cómo se conecta Odoo con n8n?
- 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.
- 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.
- 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.
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.
| Recurso | Create | Get | Get Many | Update | Delete |
|---|---|---|---|---|---|
| Activity | ✓ | ✓ | ✓ | ✓ | ✓ |
| Contact | ✓ | ✓ | ✓ | ✓ | ✓ |
| Custom Resource | ✓ | ✓ | ✓ | ✓ | ✓ |
| Opportunity | ✓ | ✓ | ✓ | ✓ | ✓ |
Índice de operaciones
Activity
5 operacionesCreate an activity
activity.createLo 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.
Delete an activity
activity.deleteLo 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.
Get an activity
activity.getLo 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.
Get many activities
activity.getAllLo 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.
Update an activity
activity.updateLo 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.
Contact
5 operacionesCreate a contact
contact.createLo 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 }}.
Delete a contact
contact.deleteLo 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.
Get a contact
contact.getLo 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.
Get many contacts
contact.getAllLo 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,inochildOf. - Fields to Include: los campos que quieres de verdad en la salida.
Update a contact
contact.updateLo 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í.
Custom Resource
5 operacionesCreate a record
custom.createLo 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.
Delete a record
custom.deleteLo 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.
Get a record
custom.getLo 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.
Get many records
custom.getAllLo 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.
Update a record
custom.updateLo 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.
Opportunity
5 operacionesCreate an opportunity
opportunity.createLo 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.
Delete an opportunity
opportunity.deleteLo 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 }}.
Get an opportunity
opportunity.getLo 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.
Get many opportunities
opportunity.getAllLo 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
greaterThenonotEqualentre los operadores disponibles. - Fields to Include: los campos que se conservan en la salida.
Update an opportunity
opportunity.updateLo 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.
¿Necesitas ayuda para automatizar Odoo con n8n?
El equipo te responde directamente.
Cada mensaje lo lee una persona.
