Llamar a flujos secundarios
Importante
Este contenido está archivado y no se actualiza. Para obtener la documentación más reciente, consulte la Documentación del producto Microsoft Power Platform. Para conocer los últimos planes de lanzamiento, consulte los planes de lanzamiento de Dynamics 365 y Microsoft Power Platform.
Habilitada para | Versión preliminar pública | Acceso previo | Disponibilidad general |
---|---|---|---|
Administradores, creadores o analistas automáticamente | - | - | 23 de octubre de 2019 |
Detalles de la característica
Hoy en día, las personas están creando flujos en Power Automate que necesitan docenas o cientos de pasos. Sin embargo, si intenta poner todas estas acciones en un flujo único, puede que dificulte la navegación y el mantenimiento de ese flujo. En su lugar, recomendamos separar sus pasos en flujos diferentes y más pequeños, así como llamar hacia delante y atrás entre estos flujos. Cada flujo más pequeño puede realizar una tarea única y discreta, que es más sencilla de leer y que facilitará la identificación de un problema si algo sale mal. Este enfoque es especialmente importante cuando desee reutilizar esa tarea en varios lugares de un flujo, o incluso en varios flujos.
Anteriormente, compartimos cómo un flujo podría llamar a otro con la acción y el desencadenador de HTTP. Esto es algo engorroso porque requiere copiar y pegar la URL HTTP del flujo. Más problemáticamente, con la introducción de soluciones para flujos, el enfoque HTTP ya no funciona si exporta e importa porque cuando copia un flujo de un entorno a otro, este sigue apuntando a la URL HTTP en el entorno anterior.
En octubre presentamos una nueva acción integrada denominada Ejecutar un flujo secundario que se ocupa automáticamente de estos problemas. Para empezar con esta acción, primero seleccione Soluciones en la navegación del lado izquierdo y, a continuación, elija una solución existente o cree una nueva. Después, cree (o edite) dos flujos:
- El flujo primario: este flujo puede tener cualquier tipo de desencadenador y llamará al otro flujo.
- El flujo secundario: este es el flujo que está anidado dentro del otro flujo y contiene las tareas más pequeñas que desea ejecutar.
Veamos un ejemplo en el que usted tiene un flujo secundario en el cual quiere crear o actualizar un contacto en Common Data Service basado en el nombre de ese contacto.
Crear el flujo secundario
En primer lugar, deberá crear el flujo secundario. En la actualidad, hay tres desencadenadores distintos que puede usar para los flujos secundarios:
- Desencadenar manualmente un flujo (debajo del botón de Flow para dispositivos móviles).
- Power Apps.
- Cuando se recibe una solicitud HTTP (disponible solo en el conector Premium de solicitud/respuesta HTTP).
Cuando seleccione el primer desencadenador, puede definir entradas que desea que el flujo secundario reciba del flujo primario. Por ejemplo, si el flujo secundario va a crear un contacto, necesitará el Nombre del contacto y el Correo electrónico del contacto. Seleccione Agregar una entrada y proporcione los detalles.
A continuación, creará la lógica que desea que ejecute el flujo secundario. Esta lógica puede contener tantos pasos como sea necesario. Tras sus pasos, debe devolver los datos al flujo primario. En este caso, puede usar una de las dos acciones siguientes:
- Responder a una Power App o un flujo (debajo del conector de Power Apps).
- Respuesta (en el conector Premium de solicitud/respuesta HTTP).
Al igual que con el desencadenador, puede definir tantas salidas como desea que se devuelvan del flujo secundario. En este ejemplo, podemos responder con el id. del contacto.
Dé un nombre descriptivo a su flujo y guárdelo. A continuación, debe probar el flujo secundario. Dado que puede desencadenar manualmente este flujo, es muy sencillo probarlo directamente dentro del diseñador. Pruébelo con un par de entradas diferentes y verifique que las salidas sean lo que espera.
Por último, si su flujo utiliza cualquier otra cosa que no sean acciones integradas o el conector Common Data Service (entorno actual), deberá actualizar el flujo para usar las conexiones incorporadas en el flujo. Para ello, seleccione el botón Atrás para acceder a la página de propiedades del flujo secundario y luego seleccione Editar en el icono Ejecutar solo usuarios.
En el panel que aparece, deberá seleccionar Usar esta conexión (<nombre de la conexión>) en lugar de Proporcionado por usuario de solo ejecución para cada conexión utilizada en el flujo.
Posteriormente, puede seleccionar Guardar. En este momento, no puede pasar conexiones del flujo primario al flujo secundario. Si lo hace, recibirá un error que indica que el nombre no se puede usar como flujo de trabajo secundario porque los flujos de trabajo secundarios solo admiten conexiones incorporadas.
Crear el flujo primario
Ahora puede crear el flujo primario en la misma solución en la que creó el flujo secundario. Simplemente cree un nuevo flujo. Como alternativa, puede incorporar un flujo existente a esa solución. Este flujo primario puede tener cualquier tipo de desencadenador.
Encuentre el lugar en su flujo desde el que desea llamar al flujo secundario y agregue la acción Ejecutar un flujo secundario, que se encuentra debajo del conector Flujos en la pestaña Integrado.
A continuación, debe elegir el flujo secundario que creó anteriormente. Como recordatorio, solo verá los flujos a los que tiene acceso que se encuentran en soluciones y que tienen uno de los tres desencadenadores mencionados anteriormente.
Después de seleccionar el flujo secundario, verá las entradas que definió. Tras la acción del flujo secundario, podrá usar cualquiera de las salidas de ese flujo secundario.
Cuando se ejecute el flujo primario, espere a que se complete el flujo secundario durante la vida útil del flujo (un año para los flujos que usan conexiones integradas y Common Data Service o 30 días para el resto de flujos).
Finalmente, puede guardar y probar este flujo. Cuando exporte la solución que contiene estos dos flujos y la importe a otro entorno, los nuevos flujos primario y secundario se vincularán automáticamente, por lo que no es necesario actualizar las URL.