Helpful tips for using Child Flows
Stephen Siciliano announced Child flows for Power Automate late last year. His blog also helped flow makers to understand key scenarios for this new feature. We were happy to see so many of you comment on, and show appreciation for this new opportunity. As a result of your feedback, this blog will highlight a few additional best practices and tips for using Child flows. If implemented, they will ensure that you can maximize usage for enterprise scale. I do recommend that you read Stephen’s blog firstly, as he sets a solid foundation on the patterns related to this feature, outlines the requirements for usage, and also walks you through your first Child flow tutorial.
Child flow essentials
- Helpful definitions:
- The parent flow – this flow can have any type of trigger, and will call into the other flow.
- The child flow – this is the flow that is nested inside the other that will contain the smaller task(s) you want to run.
- Parent and Child flows must reside together in a Solutions folder (learn more about Solutions here).
- Child flows may include variables from the Parent flows, and this transfer is facilitated by the prompts configured in the button trigger* on the Child flow.
*Please note that manual button flows which are solution-aware may be triggered via a Parent flow. However, they can not be triggered from the Power Automate mobile application. This is a known issue that we are working to resolve (learn more about button flows here).
Passing parameters from the Parent to the Child flow
We have received feedback asking for additional clarifications on how to pass parameters between the Parent and Child flows. Therefore, we’d like to clarify how this is done today in the scenario below.
EXAMPLE #1 – In this example, there are two SharePoint Online sites which are capturing documentation drafts for different projects. Each library has different work flow processes to drive the submission and authoring of documentation. However, as an enterprise, they have one standardized way to get them approved for posting on their public-facing website. This is a great opportunity to leverage a Child flow which can service multiple libraries, and ensure a consistent process in the whole tenant. I’ve included a video here to illustrate several takeaways for this feature. Can you find at least four takeaways in the video?
EXAMPLE #2 – Multiple Services calling the same Child Flow
Remember that the Parent flows don’t have to ressemble each other to leverage the same Child flow. In many cases, you’ll be able to share Child flows across your cloud services! In this next example, two unrelated parent flows, one in Teams, and the other in Virtual Agents, are leveraging the same Child flow for Account Owner notifications.
Teams Scenario: We are engaging third party vendors in the collection of leads during a large conference event. We want to leverage the Teams mobile app to facilitate data collection by frontline workers for leads who don’t have scannable business cards (there is definitely an opportunity to use AI here too). They are triggering a flow to post an Adaptive Card form whenever needed during the event (see left side of the screen shot below). Many channels are receiving lead notifications, and are processing these requests by preparing customized introduction packages. We have added additional value for the sales team by also calling a single Child flow to assign follow-up tasks to Account Owners in Dynamics. Since sending notifications, or creating activities, for Account Owners can be very helpful in qualifying leads, we’ve decided to reuse the same Child flow for our Virtual Agent conversations!
Virtual Agent Scenario: In parallel to the conference, and throughout the year, Virtual Agents are receiving questions on our products. As the conversation moves along, a flow is initiated to collect follow-up product interest. As a result, that flow will call the Child flow to inform Account Owners about that conversation. This further facilitates reuse of standard notification processes, and optimizes our Child flow to serve two different services (Teams and Virtual Agents). As a consequence, we’ve reduced the overhead of maintaining multiple flows.
Learn more about Adaptive Cards here and learn more about Virtual Agents here.
Important things to keep in mind
- The Child flow action will not be visible if you have not created the flow within a Solution. Therefore, if you don’t see the action, check that you are working within a Solution.
- Start the Child flow with a button trigger, and configure it to receive parameters from the parent (as shown in the video above).
- When sharing the Child flow, remember to share using ‘run-only‘ permissions, and using the flow owner’s embedded connection (i.e. the ‘use this connection’ option).
- Calling a Child flow from a Parent flow counts as only 1 flow in the Per Flow Licensing Plan. However, please note that it is possible that you will see a trial prompt in certain cases. This is a known issue that we are working to resolve. Please do proceed with the trial if prompted, as that issue will be resolved without any impact to your billing.
What’s coming next?
We are most definitely not done with this feature. For example, we are considering enabling this functionality for Power Apps button triggers (not fully supported today). What ideas do you have that could help us to extend opportunities for scale? Please add your own ideas directly on the ideas forum (and ask your peers and associates to vote them up too). We are paying close attention to those top ideas when prioritizing what we’re unlocking for you next! Thank you for your continued patience as we evolve the platform in response to your feedback.