Aidoo AI

Escribir en Odoo

aidoo_create, aidoo_write, aidoo_workflow, aidoo_execute y aidoo_delete: qué acota realmente una escritura, los modos por lotes y cómo abrir la escritura sin correr riesgos.

6 min de lecturaActualizado el 7 de agosto de 2026

Pasar de la lectura a la escritura cambia la naturaleza de la herramienta: una respuesta errónea se corrige, una escritura aplicada permanece. Por eso ningún permiso de escritura se concede por defecto.

Qué acota realmente una escritura

La única barrera del servidor son tus permisos

En cada llamada, Aidoo comprueba que tu clave lleva el permiso requerido, que el modelo y los campos no están bloqueados, y que la herramienta solo invoca el método de Odoo al que está ligada. Estos controles se ejecutan en el servidor: el asistente no puede sortearlos. Todo lo demás depende de tu cliente y de tu atención.

La aprobación en la conversación. Claude o ChatGPT te muestra la llamada y sus argumentos, y espera tu consentimiento. Es tu mejor punto de control sobre los valores, pero pertenece al cliente: puesto en «Permitir siempre», desaparece. Consulta Conectarse con Claude.

Los hints, como salvaguarda de calidad. Si el modelo afectado tiene un hint, la herramienta devuelve tus instrucciones al asistente en lugar de escribir, y le pide que revise sus valores. Es lo que hace que se aplique una regla del tipo «toda actividad debe asignarse al comercial del cliente, nunca al usuario actual».

Esto orienta al asistente, no lo obliga

La devolución de los hints vive en la herramienta MCP, no en el servidor: es el asistente quien decide confirmar. Cuenta con ello para la exactitud de los valores, nunca como barrera de seguridad. Lo que acota lo posible son los permisos y el bloqueo de modelos.

aidoo_create

Crea uno o varios registros.

  • Unitario: model + values
  • Por lotes: model + values_list, una lista de diccionarios

En modo por lotes, todo sale en una sola llamada a Odoo. Es más rápido y, sobre todo, más coherente: Odoo aplica sus restricciones al conjunto.

Crea los tres contactos siguientes en Odoo: María Dubois ([email protected]), Pablo Martín ([email protected]) y Sofía Bernal ([email protected]), todos vinculados a la empresa Ejemplo SA.

aidoo_write

Modifica registros existentes.

  • Unitario: ids + values, los mismos valores para todos los identificadores
  • Por lotes: batch, una lista de {ids, values}, cada grupo recibe sus propios valores

El modo por lotes devuelve el detalle grupo a grupo: si falla el tercero, sabes cuál y por qué, y los dos primeros quedan aplicados.

Archivar en lugar de eliminar

Poner active a false retira el registro de las vistas sin destruir la información ni romper los documentos que lo referencian. En la práctica totalidad de los casos, es la respuesta correcta a «elimina este contacto».

aidoo_workflow

Dispara una acción de negocio de Odoo: los botones de tus pantallas. Confirmar un presupuesto, validar una factura, recibir una transferencia.

Parámetros: model, ids, action. Solo se aceptan los métodos con prefijo action_ o button_; el servidor rechaza todo lo demás.

Confirma el presupuesto S00042.

La ventaja frente a aidoo_write: la acción dispara toda la lógica de Odoo asociada, asientos contables, movimientos de stock, secuencias, correos. Modificar el campo state a mano no haría nada de eso y dejaría tu base incoherente.

Nunca fuerces un estado por escritura directa

Si el asistente te propone poner state a sale con aidoo_write, recházalo y pide la acción de negocio. Un presupuesto «confirmado» sin los asientos asociados es una bomba de relojería contable.

aidoo_execute

Llama a un método arbitrario de Odoo: la salida de emergencia para lo que las demás herramientas no cubren.

Parámetros: model, method, args, kwargs.

Los métodos que duplicarían una herramienta dedicada están bloqueados: create, write, unlink, read, search_read, read_group, fields_get, export_data, load, import_data. De lo contrario, una clave con execute podría sortear la ausencia de create o de delete.

Es la herramienta más potente del catálogo. Merece una decisión consciente, no una casilla marcada «por si acaso».

aidoo_delete

Elimina definitivamente (unlink). Sin papelera, sin deshacer.

La única operación sin vuelta atrás

Odoo se niega a menudo a eliminar un registro referenciado en otro sitio: eso es una protección, no un fallo. Cuando lo acepta, la información se pierde. Mantén este permiso cerrado en producción y ábrelo puntualmente para una limpieza identificada.

Abrir la escritura sin correr riesgos

Empieza por el entorno de pruebas

Si dispones de una copia de tu base, activa create y write únicamente en el entorno staging. Los permisos se configuran por separado en cada entorno.

Escribe tus reglas de negocio en los hints

Antes de abrir la escritura, documenta tus convenciones en el hint del modelo: campos obligatorios, valores prohibidos, a quién hay que asignar. Estas instrucciones se reinyectan en cada intento de escritura, antes de ejecutar.

Consulta Hints y aprendizaje.

Abre modelo a modelo, no en bloque

Bloquea los modelos sensibles, asientos contables, nóminas, usuarios, aunque el permiso write esté concedido. El bloqueo por modelo se aplica antes que el permiso.

Revisa el registro la primera semana

El registro de peticiones muestra cada escritura: quién, qué, cuándo y con qué valores. Es la mejor forma de comprobar lo que el asistente hace realmente, antes de ampliar su alcance.

Diagnóstico

«Permission create is required»

El permiso no está concedido a tu clave en ese entorno. Se configura en Claves API.

Página Claves API de Aidoo: una fila por clave, con su usuario, su prefijo, sus permisos y un botón Editar.
Cada clave lleva sus propios permisos, modificables en cualquier momento.

Si no puedes concederlo, un flujo de trabajo guardado puede realizar la operación: validado una vez al crearlo, se ejecuta después con el permiso workflow.

«Access Denied» del lado de Odoo

El permiso de Aidoo está, pero tu cuenta de Odoo no tiene derecho a escribir en ese modelo. La solución está en Odoo, no en Aidoo: añade el grupo que falta a tu cuenta.

La escritura ha funcionado pero nada cambia en Odoo

Mira la empresa activa y los filtros de tu vista. Un registro creado en otra empresa no aparece en la pantalla actual.

El asistente da vueltas pidiendo confirmación

El hint del modelo contiene una instrucción que el asistente no consigue satisfacer: un valor obligatorio del que no dispone, por ejemplo. Abre el hint y comprueba que sea aplicable; suele ser una regla escrita para un caso particular y aplicada a todos.

Siguiente paso