If you are building or maintaining a solution that uses one big or multiple Power Automate flows, you are maybe wondering: What is the best choice, one big flow that does everything or several littler flows that do the same thing as the big one?

Since I am a developer, first of all, I am used to use object statements and object models. What does it mean?

  • To manage an item/object life cycle, using a flag that allows determining the statement of this item.
    For example:

    Statement Description
    1 Created (default value)
    2 Waiting for approbation
    3 Approved
    4 Rejected
    5 Ready
    -1 Closed
  • The object model consists in splitting the code/flow by logical context

Before beginning

Before you get started, it is important to be aware of the limits of Power Automate and the functional scope of this service:

  1. Power Automate is a service especially scoped for the final users. That means that the flows work with the user account credentials and accesses. In other words, this kind of automation should not be used for application tasks. For application tasks automation, prefer the usage of Logic Apps
  2. The performance varies in accordance with the user account license type (E3, E5, Premium, etc.)
  3. The available connector varies in accordance with the user account license. You can quickly be struggling because you can not perform some actions that can seem simple (ex: HTTP requests)
  4. The maximal number of triggers per user account. For a basic license (example: E3), 2 000 triggers per day. That can seem huge, but for a big application or an application used by a lot of users, this limit can be quickly reached
  5. Duration and retention history limits are 30 days per-flow
  6. and so much more...

Check the Microsoft documentation for more information about the services:

Use Case: one big flow

One Power Automate flow activity diagram

Pros Cons
One flow to manage and maintain A lot of actions in the same flow
No actions duplication Longer execution time (timeout risk)
No external statement (metadata) Complicate debugging
Sequential actions in order Difficult even not possible to execute a part of flow only
If the same flow is too often used, Microsoft can disable it at any moment
Can reach the limit of nesting depth

Use Case: multiple flows

You may also be interested in