El origen: ¿Cómo funciona el «Sales Agent» de Microsoft?

El viaje que voy a contar


Este blog cuenta mi viaje aprendiendo a desarrollar con IA desde cero. No soy experto en machine learning ni vengo del mundo de Data Science. llevo mas de 20 años trabajando con Business central de Microsoft. Lo que sé de IA lo he aprendido a base de probar, fallar y volver a intentar.


Todo empezó en verano de 2025 con una pregunta simple: ¿cómo funciona el Sales Agent que Microsoft desarrolló para Business Central? Soy de los que piensan que para entender bien como funcionan algunas aplicaciones interesantes, lo mejor es intentar replicarlo para entenderlo. Y esto es lo que quise hacer con el Agente de Ventas de Business Central. Y apartir de esta pregunta, desarrollé muchas herramientas que en algunos casos usa IA y en otras no. Ha sido un viaje con luces y sombras. Dudas, preguntas, enfados cuando un codigo funcionaba y al hacer un cambio minimo (a priori) dejaba de funcionar.

Voy a contarlo todo. Los aciertos, pero también los fracasos. Las herramientas que probé y descarté. Las decisiones que parecían buenas y resultaron ser callejones sin salida. Si estás pensando en explorar la IA desde un perfil técnico pero sin experiencia previa en este campo, quizás mi camino te ahorre algunos tropiezos.

Las dos fases del viaje
Mirando atrás, mi aprendizaje se divide claramente en dos etapas:


Fase 1: Exploración (Julio – Agosto 2025)
Los primeros pasos. Pruebas con la API de OpenAI, descubrimiento de N8N como herramienta de automatización visual, scripts básicos en Python copiados de tutoriales. En esta fase todo era experimental: probar cosas, ver qué pasaba, intentar entender conceptos nuevos. Funcionaba… más o menos. Lo suficiente para ver el potencial, pero no lo suficiente para llevarlo a un entorno real.


Septiembre 2025: El reset
Vacaciones. Si, aunque somos de IT y todo el mundo piensa que dormimos con el ordenador, a veces nos gusta apagarlo y desconectar un poco.


Fase 2: El salto serio (Desde mediados de Octubre 2025)
Volví con otra mentalidad. Ya no quería solo probar: quería construir algo real que pudiera funcionar para más de 20 empresas en múltiples países. Esto significó abandonar las herramientas «fáciles», apostar por IA local en lugar de depender de APIs externas (Coste, seguridad de datos, …), aprender Python de verdad, y desarrollar una arquitectura que pudiera escalar. Esta fase incluye varios intentos fallidos (un agente monolítico, una arquitectura multiagente que no funcionó) hasta llegar a algo que realmente funciona.

El índice del viaje
Este es el mapa de lo que voy a contar. Iré actualizando los enlaces a medida que publique cada artículo:
Publicados:

Bienvenido a mi bitácora de IA
Las 5 capas de la IA (y conceptos que son interesantes entender)

Fase 1: Exploración (Julio – Agosto 2025)

  1. El origen: ¿Cómo funciona el Sales Agent de Microsoft? ← Estás aquí
  2. Mis primeras pruebas: OpenAI, un PDF y muchas sorpresas
  3. N8N: automatización visual (y por qué no fue suficiente)
  4. LM Studio: la IA se muda a mi ordenador

Fase 2: El salto serio (Desde Octubre 2025)

  1. El salto a Python: cuando los workflows no escalan
  2. Mi primer agente: el monstruo monolítico
  3. MCP y multiagentes: cuando la moda no es la solución
  4. Vuelta a empezar: la arquitectura que funciona
  5. Y ahora que ?

El Sales Agent de Microsoft
Si trabajas con Business Central, probablemente hayas oído hablar del Sales Order Agent. Es una de las funcionalidades de Copilot que Microsoft ha desarrollado para el ERP, y cuando vi una demo por primera vez, entendí por qué genera tanto interés.
¿Qué hace exactamente?
El agente automatiza el proceso completo de captura de pedidos de venta. Monitoriza un buzón de correo y cuando detecta un email de un cliente solicitando productos, se pone a trabajar:

Analiza el email — Lee el asunto, el cuerpo y los adjuntos (PDFs, imágenes) para extraer los datos del pedido: qué productos quiere el cliente, qué cantidades, para cuándo los necesita…
Identifica al cliente — Busca la dirección de email del remitente en los contactos de Business Central para saber con quién está tratando.
Busca los productos — Localiza los artículos en el inventario usando descripciones, atributos, referencias, códigos de barras… Incluso puede encontrar productos a partir de descripciones vagas o incompletas.
Comprueba disponibilidad — Verifica si hay stock suficiente y calcula fechas de entrega realistas teniendo en cuenta la capacidad de producción y los tiempos de aprovisionamiento.
Genera una oferta de venta — Crea el documento en BC con todos los datos: artículos, cantidades, precios, impuestos, fechas de entrega, referencia del pedido del cliente…
Responde al cliente — Prepara un email con la oferta adjunta en PDF.
Gestiona la conversación — Si faltan datos o el cliente quiere modificar algo, el agente mantiene el intercambio de emails hasta resolver todas las dudas.
Convierte la oferta en pedido — Cuando el cliente confirma, transforma la oferta en pedido de venta.

Lo que me llamó la atención
Hay dos cosas del Sales Agent que me parecieron especialmente interesantes.
La primera es cómo interactúa con Business Central. No está «hardcodeado» con una lista fija de pasos. El agente usa IA para leer los metadatos de la interfaz (campos, acciones, tooltips…), navegar por las páginas como lo haría un usuario, y ejecutar acciones. Incluso puede intentar resolver errores de validación automáticamente leyendo el mensaje de error y ajustando los datos. Es como si alguien hubiera enseñado a una IA a usar Business Central.
La segunda es que no es 100% autónomo. Siempre requiere que un usuario de BC revise y apruebe los emails antes de enviarlos al cliente. Microsoft lo ha diseñado como un «agente con supervisión»: la IA hace el trabajo pesado, pero un humano tiene la última palabra. Esto me pareció muy sensato para un entorno empresarial.

La pregunta que lo cambió todo
Podría haberme quedado con la curiosidad y seguir con mi trabajo habitual. Pero había algo que me picaba: en mi empresa gestionamos más de 20 empresas de clientes en múltiples países repartidos por los 5 continentes. Nuestros clientes reciben pedidos por email constantemente. Facturas de proveedores. Confirmaciones de pedidos. Documentos que alguien tiene que abrir, leer, y picar manualmente en el sistema.
¿Y si pudiera hacer algo parecido al Sales Agent? No para venderlo, sino para entenderlo. Para aprender cómo funciona la IA por dentro. Y de paso, quizás automatizar alguna de esas tareas repetitivas que consumen horas cada semana.
Era julio de 2025 cuando me hice la pregunta: ¿podría replicar algo así yo mismo?
No tenía ni idea de Python. No sabía qué era un LLM más allá de haber usado ChatGPT alguna vez. No conocía las diferencias entre modelos, ni qué era un prompt bien estructurado, ni cómo se conecta una IA con un sistema externo.
Pero tenía curiosidad. Y tiempo para experimentar fuera del horario de trabajo.

Lo que no sabía entonces
Mirando atrás, me doy cuenta de lo ingenuo que era mi planteamiento inicial. Pensaba que sería cuestión de unas semanas: buscar un tutorial, copiar algo de código, conectarlo a Business Central y listo.
La realidad fue muy diferente.
Entre julio y agosto probé varias cosas: la API de OpenAI, herramientas de automatización visual como N8N, scripts básicos de Python. Conseguí hacer demos que funcionaban, pero nada que pudiera escalar a un entorno multi-empresa real.
Después vino septiembre. Vacaciones. Un mes entero desconectado, sin tocar un ordenador. A veces lo mejor que puedes hacer por un proyecto es olvidarte de él durante un tiempo.
A mediados de octubre retomé el proyecto, pero con otra perspectiva. Ya no quería demos: quería algo que funcionase de verdad. Eso me llevó a abandonar algunas herramientas, aprender otras desde cero, y cometer errores que me costaron semanas de trabajo. Pero también a construir una arquitectura que hoy está lista para dar el salto a producción.
Todo eso lo iré contando en los próximos artículos.

Próximo paso
Con la idea clara de lo que quería conseguir, empecé a buscar cómo hacerlo. Era julio y lo más obvio era usar la API de OpenAI, que en ese momento era lo que todo el mundo usaba … y recalco el tiempo verbal. Así que instalé Python, copié un ejemplo de internet, y lancé mi primera prueba: coger un PDF, enviarlo a GPT y pedirle que extrajera los datos.
¿El resultado? Sorpresas. Muchas sorpresas.
Siguiente: Mis primeras pruebas: OpenAI, un PDF y muchas sorpresas →

Deja un comentario