This article is part of the Working with Power Automate series I am writing on my experiences working with the Power Automate, which is part of the Power Platform from Microsoft. I also have a related series of articles on Power Automate with Microsoft Dynamics 365 BC.
As I’ve commented in other articles, solutions should be used when developing Power Automate flows, and in fact form part of the recommended application lifecycle management (ALM) scenario of moving a flow between Power Automate environments.
Environment variables are only available within a solution and are used to store parameter keys and values used within the flows of the solution. This separation of settings from functionality allows the behaviour of a flow to be changed without needing to amend the flow in the development environment and the solution redeployed to the production environment.
While you can and should use environment variables for all parameters used by flows within a solution, the two which I would say should always be created for a flow used with Business Central are the ones for the environment and company.
The main benefits of using environment variables are:
- Provide new parameter values while importing solutions to other environments.
- Store configuration for the data sources used in canvas apps and flows. For example, SharePoint Online site and list parameters can be stored as environment variables; therefore allowing you to connect to different sites and lists in different environments without needing to modify the apps and flows.
- Package and transport your customization and configuration together and manage them in a single location.
- Package and transport secrets, such as credentials used by different components, separately from the components that use them.
- One environment variable can be used across many different solution components – whether they’re the same type of component or different. For example, a canvas app and a flow can use the same environment variable. When the value of the environment variable needs to change, you only need to change one value.
- Additionally, if you need to retire a data source in production environments, you can simply update the environment variable values with information for the new data source. The apps and flows don’t require modification and will start using the new data source.
- Supported by SolutionPackager and DevOps tools enable continuous integration and continuous delivery (CI/CD).
- The environment variables can be unpacked and stored in source control. You may also store different environment variables values files for the separate configuration needed in different environments. Solution Packager can then accept the file corresponding to the environment the solution will be imported to.
More details on environment variables are available on < ahref='https://learn.microsoft.com/en-us/power-apps/maker/data-platform/environmentvariables'>Microsoft Learn.