Adición de flujos de Power Automate a una aplicación de código (versión preliminar)

En este artículo se muestra cómo detectar, agregar, invocar y quitar flujos en la nube de Power Automate desde una aplicación de código de Power Apps mediante la CLI de npm.

Importante

Solo se admiten los flujos que usan el desencadenador de Power Apps . No se pueden agregar flujos con otros tipos de desencadenadores a una aplicación de código. Estos tipos de desencadenadores no admitidos incluyen flujos programados, automatizados o instantáneos con desencadenadores que no son de Power Apps.

Prerrequisitos

Nota:

Los comandos flow solo están disponibles en la CLI basada en npm (npx power-apps). No están disponibles en los comandos de Power Platform CLI ().

Paso 1: Enumerar los flujos disponibles

Ejecute el siguiente comando para enumerar todos los flujos compatibles con la solución en el entorno actual:

npx power-apps list-flows

El comando genera una tabla de flujos disponibles:

Name                    Status   Modified On   Flow ID
──────────────────────────────────────────────────────────────────────────────
Approval Workflow       Started  2026-01-15    a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
Send Notification       Started  2026-02-01    b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2

Total flows: 2

Nota:

Solo se muestran los flujos compatibles con la solución. Si falta un flujo, consulte: Creación de un flujo de nube en una solución

Para filtrar los resultados por nombre, use la --search opción :

npx power-apps list-flows --search approval

Copie el valor de Flow ID para el flujo que desea agregar.

Paso 2: Agregar un flujo a la aplicación de código

Ejecute el siguiente comando y reemplace <flow-id> por el valor del paso anterior:

npx power-apps add-flow --flow-id <flow-id>

Example:

npx power-apps add-flow --flow-id a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1

Cuando el comando se realiza correctamente, la CLI confirma que se ha agregado el flujo:

Flow added successfully.

Sugerencia

Ejecutar de nuevo add-flow con el mismo ID de flujo es idempotente. Úselo para recoger los cambios en la definición del flujo (nuevos parámetros, conexiones actualizadas, etc.) sin limpiar manualmente los archivos antiguos.

¿Qué hace?add-flow

El comando descarga la definición de OpenAPI del flujo, genera archivos TypeScript fuertemente tipados en el proyecto y actualiza power.config.json con las referencias de conexión del flujo.

Importante

La persona que ejecuta add-flow debe tener acceso para leer el flujo y para las conexiones subyacentes del flujo (por ejemplo, una conexión de Office 365 Outlook). Si falta acceso a una conexión necesaria, el comando produce un error de autorización.

Archivos generados

Después de ejecutar add-flow, la CLI crea los siguientes archivos en el proyecto (los nombres de archivo se derivan del nombre para mostrar del flujo):

src/
  services/
    ApprovalWorkflowService.ts   ← generated service class with typed methods
  models/
    ApprovalWorkflowModel.ts     ← generated TypeScript types for inputs/outputs
schemas/
  logicflows/
    ApprovalWorkflow.Schema.json ← flow's OpenAPI schema (do not edit manually)

La entrada siguiente también se agrega a power.config.json:

"<uuid>": {
  "id": "/providers/microsoft.powerapps/apis/shared_logicflows",
  "displayName": "Logic flows",
  "dataSources": ["ApprovalWorkflow"],
  "workflowDetails": {
    "workflowEntityId": "<dataverse-entity-guid>",
    "workflowDisplayName": "Approval Workflow",
    "workflowName": "<flow-id>",
    "dependencies": {
      "shared_office365": "<dependency-uuid>"
    }
  }
}

Paso 3: Llama al flujo desde tu aplicación

La clase de servicio generada expone un Run método estático. La firma exacta depende de si el desencadenador del flujo define parámetros de entrada.

Flujo con parámetros de entrada

import { ApprovalWorkflowService } from './services/ApprovalWorkflowService';

const result = await ApprovalWorkflowService.Run({
  requester: 'Alex',
  amount: 1500,
});

if (result.success) {
  console.log('Flow triggered. Response:', result.data);
} else {
  console.error('Flow failed:', result.error);
}

Flujo sin parámetros de entrada

import { SendNotificationService } from './services/SendNotificationService';

const result = await SendNotificationService.Run();

if (result.success) {
  console.log('Flow triggered.');
}

El result objeto tiene la siguiente forma:

Propiedad Tipo Descripción
success boolean true si el flujo se desencadenó correctamente.
data (varía) Carga de respuesta especificada del flujo, si existe.
error Error (opcional) Detalles del error cuando success es false.

Nota:

La definición de OpenAPI determina los tipos exactos de entrada y salida. Abra el archivo de servicio generado para ver los tipos específicos del flujo. Los parámetros marcados x-ms-visibility: internal con un valor predeterminado se insertan automáticamente en el generador de código y no se exponen en la firma del método.

Actualización de un flujo

Si la definición del flujo cambia (por ejemplo, su autor agrega un nuevo parámetro o actualiza las referencias de conexión), vuelva a ejecutarse add-flow con el mismo identificador de flujo para recoger la definición más reciente y volver a generar los archivos de servicio:

npx power-apps add-flow --flow-id a1b2c3d4-e5f6-7890-abcd-ef1234567890

El comando coincide con el flujo por su workflowEntityId y reutiliza el UUID existente en power.config.json, por lo que no se requiere ninguna limpieza manual.

Eliminación de un flujo

Para eliminar un flujo de su aplicación de código, utilice remove-flow. Puede identificar el flujo por su nombre de origen de datos (como aparece en power.config.json) o por su identificador de flujo original:

Por nombre del origen de datos:

npx power-apps remove-flow --flow-name ApprovalWorkflow

Por identificador de flujo:

npx power-apps remove-flow --flow-id a1b2c3d4-e5f6-7890-abcd-ef1234567890

El comando:

  • Elimina el flujo de power.config.json.
  • Regenera todos los servicios de modelo.

Implementación de la aplicación

Después de agregar flujos y comprobar la aplicación localmente con npm run dev, compile e implemente como de costumbre:

npm run build
npx power-apps push

Limitaciones y consideraciones

Tenga en cuenta las siguientes limitaciones y consideraciones al agregar flujos a una aplicación de código.

Limitación Detalles
Flujos manuales activados solo por PowerApps Solo se admiten flujos manuales que usan el desencadenador de PowerApps . Los flujos con otros tipos de desencadenador (flujos programados, automatizados o instantáneos con desencadenadores que no son de PowerApps) no se admiten y no funcionan correctamente en una aplicación de código.
Solo flujos conscientes de la solución El list-flows comando muestra solo los flujos que pertenecen a una solución. Para agregar un flujo que no sea de solución, agréguelo primero a una solución.
Se requiere acceso del fabricante El creador que se ejecuta add-flow debe tener acceso al flujo y a las conexiones subyacentes del flujo. Si falta acceso a una conexión necesaria, se produce un error en el comando.
Permisos de Dataverse necesarios en tiempo de ejecución Los usuarios finales deben tener permisos suficientes de Dataverse para invocar flujos. Asigne el rol de seguridad de App Opener (o equivalente). Consulte Configuración de la seguridad del usuario en un entorno.
Actualización manual necesaria para los cambios de flujo Si cambia la definición del flujo, vuelva a ejecutarse add-flow con el mismo identificador de flujo. La aplicación no detecta automáticamente los cambios de flujo.
Solo la CLI de npm Estos comandos no están disponibles en pac code.