Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
- Una aplicación de código de Power Apps inicializada. Consulte Inicio rápido: Creación de una aplicación de código mediante la CLI de npm.
- Flujo de Power Automate que es compatible con la solución y es un flujo instantáneo con el tipo de desencadenador de PowerApps . Si el flujo aún no está en una solución, consulte Incorporación de un flujo existente a una solución.
- El paquete npm
@microsoft/power-appsversión 1.1.1 o posterior.
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. |