Software empresarial para agentes de IA: cómo saber si está a la altura
Antes, un CRM con IA era un CRM con IA integrada. Con agentes como Claude Code, Codex y Cursor, cada vez más significa software empresarial que tu propio agente puede manejar: clientes, encargos, facturas y pagos. Eso plantea una pregunta antes que ninguna otra: ¿puede hacerlo de forma segura? En julio de 2025, el agente de IA del servicio de desarrollo Replit borró la base de datos de producción de un usuario durante un congelamiento de código explícito. Después afirmó que no era posible restaurarla, aunque existía una copia de seguridad. Replit reaccionó separando automáticamente las bases de datos de desarrollo y de producción (heise online, 25 jul 2025). La lección: una instrucción en un prompt no es un cerrojo. Que un agente pueda causar daño depende del software que maneja. En el software empresarial, un error no se queda en el código: llega a tu cliente. Los ocho criterios siguientes valen para cualquier software que pongas en manos de un agente. Al final ves cómo resuelve cada uno Time Momentum.
1. Una interfaz que el agente pueda leer
Un agente que hace clic por pantallas o extrae HTML está adivinando. Comprueba que haya una línea de comandos o una API que devuelva JSON y exponga su propio esquema: qué comandos existen, qué campos son obligatorios, qué valores se admiten. Los errores también deben ser legibles por máquina, con un código que le diga al agente si debe corregir la llamada, esperar o preguntarte.
Comprueba también la cobertura. Lo que solo funciona en la interfaz gráfica, el agente lo hace con rodeos o no lo hace.
2. Permisos separados
El agente necesita una clave propia que puedas revocar en cualquier momento, no tu contraseña. Mejor aún si la clave se canjea por un token de corta duración en lugar de viajar con cada petición.
Algunas acciones no deben estar en manos de un agente: crear claves nuevas, eliminar la cuenta, cambiar la contraseña. El software debería bloquearlas en el servidor para el acceso de agentes, no solo desaconsejarlas en la documentación.
3. Confirmación para todo lo irreversible
Una factura emitida no se puede retirar, solo anular. El software debería marcar esos pasos como destructivos y ejecutarlos solo con confirmación explícita. Esa confirmación tiene que vivir en la propia herramienta; una frase en el prompt no protegió la base de datos de Replit.
4. Simulación
Antes de que el agente cambie algo importante, debería poder mostrarte exactamente lo que enviaría: método, dirección, cuerpo. Así apruebas lo que has visto, no una intención descrita con palabras.
5. Idempotencia
Los agentes reintentan. Si se corta la conexión, el agente vuelve a intentarlo y, sin protección, el registro de tiempo o el pago acaba dos veces en el sistema. Comprueba si al crear un registro se acepta un ID propio con el que el servidor reconozca un reintento, y si las operaciones por lotes se completan del todo o no se ejecutan en absoluto. Donde un paso no deba repetirse, el error debería decirlo.
6. Registros trazables
Después quieres saber qué pasó. Eso significa que cada acción es un comando legible que puedes ejecutar tú mismo, que las peticiones se pueden registrar a demanda sin exponer la clave y que ves qué clave estuvo activa y cuándo. Una clave por agente lo deja inequívoco.
7. Deshacer
Los errores pasan. Lo que importa es cómo se corrigen: editar o eliminar borradores, corregir asientos, anular lo emitido, dejando constancia en lugar de sobrescribir en silencio. Lo ya facturado debería quedar bloqueado, para que una corrección en un sitio no cambie una factura cerrada.
8. Límites del plan
Cuando el agente choca con un límite, como una función fuera de tu plan o demasiadas peticiones, el software debería decirlo con claridad: con el motivo y si sirve esperar o tienes que decidir tú. Un agente que confunde un límite con un error sigue reintentando o busca un atajo.
Los ocho criterios en Time Momentum
Tu agente maneja Time Momentum con la línea de comandos tm.
- ¿Qué comandos existen y cuáles son destructivos?
tm --json - ¿Qué campos admite una factura?
tm schema invoices --json - Muéstrame la petición antes de emitirla
tm invoices finalize <invoice-id> --dry-run - Está bien, emítela
tm invoices finalize <invoice-id> --yes - Registra los 90 minutos de esta mañana
tm timers add --project-id <project-id> --started-at "today 09:00" --duration 1:30 --client-id <uuid> - Anula la factura
tm invoices cancel <invoice-id> --reason "Wrong service period" --yes - ¿Qué clave se usó por última vez?
tm api-keys list
El acceso para agentes forma parte de Pro.
| Criterio | En Time Momentum |
|---|---|
| 1. Interfaz | Cada operación de la API tiene exactamente un comando tm, y un test lo comprueba con cada cambio. Salida y errores en JSON, tm schema lista comandos y campos, y el código de salida le dice al agente si debe corregir la llamada, preguntarte, esperar o reintentar. |
| 2. Permisos separados | Una clave de API por agente, creada en la aplicación web y revocable en cualquier momento. tm la canjea por un token válido durante una hora; revocar la clave termina la sesión al instante. Crear claves y eliminar la cuenta están bloqueados en el servidor para este acceso. Una clave de lectura solo llega a determinadas rutas de lectura y a los temporizadores. |
| 3. Confirmación | Emitir, anular, eliminar y revocar están marcados como destructivos. En una terminal, tm pregunta; un agente necesita un --yes explícito, si no tm se detiene sin enviar nada. El servidor rechaza una factura electrónica a la que le faltan datos obligatorios, y se queda como borrador. |
| 4. Simulación | --dry-run muestra el método, la dirección y el cuerpo de la petición sin enviarla y sin la clave. |
| 5. Idempotencia | Los registros de tiempo admiten un ID propio (--client-id), así que los reintentos no crean duplicados. Un pago conjunto de varias facturas se registra del todo o no se registra. Si la creación de una factura falla cuando el borrador ya existe, el error indica con qué borrador continuar. |
| 6. Registros | Cada acción es un comando legible que puedes ejecutar tú mismo. --verbose registra cada petición, nunca la clave ni el token. La lista de claves muestra cuándo se usó cada una por última vez. No hay un registro de actividad separado por agente. |
| 7. Deshacer | Los borradores se pueden editar y eliminar, los pagos corregir o quitar. Por defecto, una factura emitida solo se puede anular, con su propio documento de anulación. El tiempo de facturas emitidas y de partes de horas cerrados queda bloqueado. |
| 8. Límites del plan | Una función Pro sin Pro devuelve upgrade_required con el nombre de la función; demasiadas peticiones devuelven rate_limited con un tiempo de espera. El código de salida le dice al agente si debe preguntarte o esperar. |
Lo que ningún software hace por ti
Da a cada agente su propia clave con los mínimos permisos necesarios, y una clave de lectura donde basta con leer. Permite lo irreversible solo cuando tú lo pidas y mira la simulación antes de aprobar. El acceso de agentes a Time Momentum forma parte de Pro.
Más sobre este tema
El mejor CRM para agentes de IA
Qué se entiende por un CRM para agentes de IA y dónde encajan los grandes CRM y Time Momentum.
Leer la guíaMCP vs. CLI para agentes de IA
Por qué una línea de comandos suele encajar mejor con los agentes que un servidor MCP.
Leer la guía
Preguntas frecuentes
¿Qué es un CRM con IA?
O bien un CRM con funciones de IA integradas, como borradores de correos o puntuación de leads, o bien un CRM que tu propio agente de IA puede manejar mediante una API, un servidor MCP o una línea de comandos. Esta guía trata del segundo tipo.
¿Por qué borró la base de datos el agente de Replit?
Según los informes, ejecutó el comando de base de datos npm run db:push durante un congelamiento de código, sin permiso. En ese momento, la vista previa, las pruebas y la producción compartían la misma base de datos (heise online). La instrucción de no cambiar nada solo existía en la conversación, no en el software.
¿Basta con decirle al agente que no borre nada?
No. Un prompt es una petición, no un cerrojo. Solo te protegen los límites que impone el servidor: permisos que faltan, confirmación obligatoria, datos facturados bloqueados.
¿Qué pasa si mi agente se equivoca en Time Momentum?
Editas o eliminas borradores, corriges pagos y anulas una factura emitida con su propio documento de anulación. El tiempo facturado sigue bloqueado en todo momento.
Deja que tu agente facture de forma segura
- 30 días de Pro
- Sin tarjeta de crédito
- Después sigues en Free