28 julio, 2026

VISUALIZACIÓN DEL CLIMA ORGANIZACIONAL CON POWER APPS, POWER AUTOMATE, AZURE GPT Y FLUX

He vuelto a profundizar un poco en la IA y en las cosas que podemos hacer con ella, ya no solo automatizar, sino crear nuevas experiencias y nuevas formas de presentar la informacion.

Imaginad lo siguiente, un departamento de una empresa, por ejemplo Recursos Humanos, y en sus distintas áreas: HR Business Partners, Talent Acquisition, Learning & Development, Compensation & Benefits, People Operations, Employee Relations, HR Systems…

Me he imaginado los comentarios de las personas que trabajan en cada uno de esos subdepartamentos y he querido construir el siguiente flujo:

  • Selecciono un subdepartamento.
  • Filtro sus comentarios.
  • Los envío a Azure, a un modelo GPT Mini desplegado, para obtener un análisis del clima.
  • Ese análisis se transforma en un prompt que vuelve a Azure, esta vez a FLUX, para componer una imagen que represente cómo se sienten esas personas.

    Para expresarlo he utilizado una metáfora sencilla y muy clara: el clima.

Todas esas opiniones de los departamentos las hemos subido a un SharePoint que vamos a leer utilizando un flujo:

Y este sería el flujo, y ya lo advierto, es largo. Os iré colocando los códigos debajo de cada imagen para que no tengáis que escribirlos:

{
    "type": "array",
    "items": {
        "type": "object",
        "properties": {
            "Value": {
                "type": "string"
            }
        },
        "required": [
            "Value"
        ]
    }
}
concat('SubDepartment eq ''', items('Aplicar_a_cada_uno')?['Value'], '''')

El prompt os lo dejo aquí. Es igual que esté en inglés o español, lo interpretará igualmente.

trim(
  replace(
    replace(
      replace(
        replace(
          replace(
            replace(
              replace(
                replace(
                  string(body('Select_Comments')),
                  '"}, {"text":"',
                  '\n\n---\n\n'
                ),
                '"},{"text":"',
                '\n\n---\n\n'
              ),
              '"},\n {"text":"',
              '\n\n---\n\n'
            ),
            '"},\r\n {"text":"',
            '\n\n---\n\n'
          ),
          '[{"text":"',
          ''
        ),
        '{"text":"',
        ''
      ),
      '"}]',
      ''
    ),
    '"}',
    ''
  )
)
body('HTTP_GPT')?['choices']?[0]?['message']?['content']
trim(
  last(
    split(
      outputs('Compose_GPT_Content'),
      'Image Description for Generation'
    )
  )
)

{
    "type": "object",
    "properties": {
        "created": {
            "type": "integer"
        },
        "data": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "b64_json": {
                        "type": "string"
                    }
                },
                "required": [
                    "b64_json"
                ]
            }
        }
    },
    "required": [
        "data"
    ]
}
first(body('Análisis_del_archivo_JSON_2')?['data'])?['b64_json']

Como habéis visto, he dejado incluido el código de las expresiones, ya que de otro modo sería complicado replicar el proceso paso a paso. El resto de acciones las omito porque se trata de elementos dinámicos que podéis adaptar y seleccionar según vuestras propias necesidades.

Este flujo se encarga de generar una imagen y devolverla directamente a la aplicación. La ejecución del flujo se lanza desde Power Apps mediante la pulsación de un botón. En el botón de la aplicación debemos incluir el siguiente código, que se encarga de preparar los datos, llamar al flujo y construir la imagen a partir del contenido recibido:

Set(varImg;Blank());;
Set(varPrompt;Blank());;
Set(
    varDeptosJSON;
    JSON(
        ForAll(
            ComboBox1.SelectedItems;
            { Value: Value }
        );
        JSONFormat.Compact
    )
);;

Set(
    varResp;
    FLUJO_GenerarImagenDepartamento_FLUX.Run(varDeptosJSON)
);;

Set(
    varImg;
    "data:image/png;base64," & varResp.imgbase64
);;

Set(
    varPrompt;
    varResp.promptflux
);;

En la imagen en la propiedad Image, vamos a poner:

varImg

Y en el label para mostrar el texto:

varPrompt

El resultado es que vamos a obtener imágenes positivas asociadas con el verano y la primavera, y negativas con el invierno y el otoño:

A continuación os dejo algunas imágenes y los comentarios en los que se basan y en los que GPT ha trasladado el mensaje a Flux:

En el caso de


Y si selecciono los ocho departamentos y analizo todos los comentarios, obtengo una primavera temprana, donde tenemos energía y alta presión y retos visibles.

Os dejo una nota sobre el modelo:

El modelo clasifica el clima organizacional en estaciones como metáfora del estado estructural del departamento.
La estación representa el contexto general (por ejemplo, otoño como etapa de desgaste), mientras que el estadio dentro de la estación (temprano, sostenido, tardío) refleja la intensidad percibida en el momento del análisis.

Dado que el análisis se basa en lenguaje natural y percepciones cualitativas, es normal que el estadio pueda oscilar ligeramente entre ejecuciones (por ejemplo, entre otoño temprano y otoño sostenido), especialmente cuando los comentarios se sitúan en una zona intermedia entre ambos niveles.

Esta variación no implica un cambio real del clima, sino una diferencia en la ponderación de los mismos factores.
La estación dominante se mantiene estable y debe considerarse el principal indicador del estado organizacional.

Espero que sea de utilidad y sirva para futuros proyecto o análisis.

Comparte este post

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies