Business Central y Power Automate: integración HTTP desde AL

Business Central y Power Automate

En muchos proyectos de Dynamics 365 Business Central es habitual integrar procesos con Power Automate, ya sea para notificaciones, integraciones externas o automatización de flujos empresariales.

Una de las formas más directas de hacerlo es mediante llamadas HTTP desde AL a un flujo de Power Automate con trigger When an HTTP request is received.

Aunque el enfoque es sencillo, existen algunos detalles importantes que pueden provocar errores difíciles de identificar si no se conocen bien las clases HTTP en AL.

En este artículo veremos:

  • Cómo realizar una llamada HTTP POST correctamente desde AL
  • Dónde deben declararse los headers
  • Un error muy común con Content-Type y cómo evitarlo

Enviar datos de Business Central a Power Automate por HTTP

Escenario

Queremos enviar información (por ejemplo, una factura registrada) desde Business Central a un flujo de Power Automate mediante una llamada HTTP POST con un cuerpo en formato JSON.
El flujo de Power Automate espera:

  • Método: POST
  • Header: Content-Type = application/json
  • Body: JSON válido

Estructura de una llamada HTTP en AL

Clases HTTP en Business Central

En AL trabajamos principalmente con estas clases:

  • HttpClient
  • HttpRequestMessage
  • HttpResponseMessage
  • HttpContent
  • HttpHeaders

Un punto clave es entender que:

  • Los headers del request y
  • Los headers del contenido (body)

👉 no son lo mismo.

Error común al usar Content-Type en AL

Añadir Content-Type en el lugar incorrecto

Un error habitual es intentar hacer algo como esto:

Business Central Power Automate HTTP

Esto provoca un error en tiempo de ejecución similar a:

No se puede realizar la operación solicitada en este contexto.

¿Por qué ocurre?

Porque Content-Type es un header del contenido, no del request.

En AL, Business Central no permite añadir headers de contenido (Content-Type, Content-Length, etc.) directamente a los headers del HttpRequestMessage.

Forma correcta de definir Content-Type

Usar HttpContent correctamente

El header Content-Type debe añadirse a los headers del HttpContent, no del request.

Ejemplo correcto usando HttpRequestMessage

Business Central Power Automate HTTP

Envío HTTP simplificado con HttpClient.Post

Alternativa más simple en integraciones AL

Si no necesitas manipular el request completo, esta opción suele ser más limpia y fácil de mantener.

Business Central Power Automate HTTP

Buenas prácticas en integraciones HTTP con AL

  • Construir JSON con JsonObject

Business Central Power Automate HTTP

  • Leer la respuesta cuando hay errores

Business Central Power Automate HTTP

  • Separar lógica técnica y funcional: Encapsula las llamadas HTTP en codeunits de integración, no directamente en páginas o acciones.

Conclusión: integración segura entre Business Central y Power Automate

La integración entre Business Central y Power Automate mediante HTTP es potente y flexible, pero requiere entender bien cómo AL maneja:

  • Requests
  • Content
  • Headers

Recordar que Content-Type pertenece al contenido y no al request evitará errores de ejecución difíciles de diagnosticar y ahorrará mucho tiempo en desarrollo.

ABD Consultoría, especialistas en integración con Microsoft

ABD

En ABD Consultoría y Soluciones Informáticas somos especialistas en proyectos de Dynamics 365 Business Central, Power Platform y Microsoft 365, ayudando a las empresas a automatizar procesos reales mediante integraciones seguras y escalables.

Acompañamos a nuestros clientes en todo el ciclo: desde el diseño funcional del proceso, hasta el desarrollo técnico en AL, la creación de flujos en Power Automate y la monitorización de integraciones críticas.

Si necesitas integrar Business Central con sistemas externos, APIs, plataformas cloud o flujos avanzados de Power Automate, en ABD te ayudamos a hacerlo de forma robusta, mantenible y alineada con las mejores prácticas de Microsoft.

Tabla de contenidos

Síguenos en Linkedin
Suscribete a la Newsletter




    Etiquetas