{"id":3569,"date":"2019-11-04T04:00:11","date_gmt":"2019-11-04T12:00:11","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/environment-variables-available-in-preview\/"},"modified":"2025-06-11T08:01:26","modified_gmt":"2025-06-11T15:01:26","slug":"environment-variables-available-in-preview","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/environment-variables-available-in-preview\/","title":{"rendered":"Environment variables available in preview!"},"content":{"rendered":"<p>Applications and Flows often require different configuration settings across environments. Today we&#8217;re excited to announce the ability to <strong>transport your application configuration data from one environment to another with solutions! <\/strong>Historically, configuration data was stored in custom entities as record data and required various tools such as the <a href=\"https:\/\/docs.microsoft.com\/power-platform\/admin\/manage-configuration-data\">configuration migration utility<\/a> to migrate. While such tools still serve valid use cases, Environment variables offer a streamlined way to transport key-value pairs in a solution.\u00a0Because they&#8217;re solution components, they can be managed in source control along with your other customizations. As an added benefit,\u00a0<strong>performance is much better than using data import<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large\" height=\"1080\" src=\"https:\/\/powerapps-blog.azurewebsites.net\/web\/\/app\/uploads\/2019\/05\/Env-variable-create.gif\" width=\"1828\"\/><br \/>\n<em>At the time of this posting, Environment variables may not be available in all regions.\u00a0<\/em><\/p>\n<h2>When should I use Environment variables today?<\/h2>\n<p>The initial preview is targeted primarily for professional developers and administrators. You can still make use of them in canvas apps and flows today, however, these citizen developer experiences will become much simpler as we develop new interfaces.<\/p>\n<p>Some examples include:<\/p>\n<ul>\n<li>When an input parameter needs to change across environments and should not be hard-coded. For example, a URL that points to a different resource in development and production environments.<\/li>\n<li>If you&#8217;re building a solution where your customer is required to provide an input value.<\/li>\n<li>Application setup pages.<\/li>\n<li>When multiple components require the same input. Instead of entering that input multiple times, reference the environment variable. If the value needs to change, make an update in one place.<\/li>\n<li>If you need to update configuration values without modifying code or if the person managing the configuration is not familiar with coding. For example, a plugin that references a blob store location could be updating without directly modifying the plugin.<\/li>\n<\/ul>\n<p><span style=\"color: #666666; font-size: 1.25rem;\">What does the road map look like?<\/span><\/p>\n<p>The next step is for native integrations within canvas apps, flow, and custom connectors. For example, use an environment variable to store the SharePoint site URL and list. Those components would simply reference the environment variable instead of being written to the component directly. Values can then change from environment to environment or even within the same environment without editing the referencing component. Or you could define an environment variable and have a simple mechanism to reuse it in multiple steps or components. We have other ambitions as well, which will be communicated in the future.<\/p>\n<p><span style=\"color: #666666; font-size: 1.25rem;\">When shouldn&#8217;t I use Environment variables?<\/span><\/p>\n<ul>\n<li>To transport secure data such as passwords or other secrets.<\/li>\n<li>If several values are required for one definition.<\/li>\n<li>When relationships need to be formed between configuration entities and entities for record data. Environment variables are best suited for key-value pairs and new relationships cannot be created.<\/li>\n<\/ul>\n<h2>How they work<\/h2>\n<p>Environment variables can be managed through the <a href=\"https:\/\/make.powerapps.com\">modern solution interface<\/a> or <a href=\"https:\/\/docs.microsoft.com\/powerapps\/developer\/common-data-service\/work-with-data-cds\">through code<\/a>. A separate JSON file is created within your solution package, which can also be managed in source control. We also support export to Excel from a model-driven app. After creating Environment variables in Common Data Service for apps,\u00a0 you can consume them by retrieving data from the Environment Variable Definition and Environment Variable Value entities. To fetch a specific value, you can query by the &#8216;SchemName&#8217; as that is constant across environments.<\/p>\n<h3>Default value<\/h3>\n<p>This field is part of the Environment variable definition entity is not required. Set a default value for the value to be used in production or when the values should remain the same across different environments. The Environment variable definition will be represented in the customizations.xml in your solution file.<\/p>\n<h3>Value<\/h3>\n<p>This field is optional and is a part of the &#8220;Environment variable value&#8221; entity. Also known as a current value or override value. Set this when you&#8217;d like to override the default value in your current environment. Remove the value from your solution if you don&#8217;t want this value used in the next environment. While\u00a0it is typically unhealthy to modify solution components in production environments, you may enter a current value in the production environment without introducing unhealthy behaviors to the consuming component or the Environment variable definition.\u00a0<em>Note: a 1:1 relationship is currently enforced between the Environment variable definition and the Environment variable value. A value also cannot exist without a definition.<\/em><\/p>\n<p>Why is there a default value and a value? This allows you to service the definition and default value separately from the current value. It also allows us to extend the functionality in the future to support multiple values scoped to a specific run time context. A separate JSON file added to your solution file that stores the values.<\/p>\n<p><em>Note: The above is only a recommendation on how to use default values and values. If using both, you will need to handle the logic to determine which value should be used.\u00a0<\/em><\/p>\n<h3>Notifications<\/h3>\n<p>When Environment variables do not have any values, users with access to the variables will see a notification. This is a reminder to set the value(s) so that components dependent on variables do not fail. It also allows ISV&#8217;s to ship variables without values and the customer will be prompted to input the value(s). <em>Note: we recommend ISV&#8217;s build their own interfaces when customers are required to provide values. Notifications will help prevent failures if that step is skipped.\u00a0<\/em><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large\" height=\"1080\" src=\"https:\/\/powerapps-blog.azurewebsites.net\/web\/\/app\/uploads\/2019\/05\/Env-variable-catch.gif\" width=\"1828\"\/><\/p>\n<h2>Current limitations<\/h2>\n<ul>\n<li>Caching. Plugins will need to run a query to fetch the values.<\/li>\n<li>Canvas apps and flows can consume Environment variables just like entity record data. In the future we plan to build additional actions into canvas app and flow designers. This will simplify authoring and provide better visibility into environment variables being used by a specific app or flow.<\/li>\n<li>Key vault integration for secrets. Currently Environment variables should not be used to store secure data such as passwords and keys.<\/li>\n<li>Data types are validated in the modern solution interface only, but not currently on the server.<\/li>\n<\/ul>\n<h2>Example: Use Environment variables in a flow<\/h2>\n<p>As of this writing, environment variables can be retrieved in the same way as other Common Data Service or Dynamics 365 for Customer Engagement records via oData or fetchXML queries. The following demonstrates how to send an email to one address in a test environment and to a different email in your production environment without needing to modify the flow.\u00a0<em>Note: this has been simplified as a step-by-step process for demonstration purposes; you would likely build your flow to be more dynamic.<\/em><\/p>\n<h3>Create the Environment variable<\/h3>\n<ol>\n<li>Go to https:\/\/make.powerapps.com or https:\/\/flow.microsoft.com<\/li>\n<li>Go to <strong>Solutions<\/strong> and create a new solution.<\/li>\n<li>Create a <strong>new Environment variable<\/strong> and name it <strong>email<\/strong>.<\/li>\n<li>In the <strong>default value<\/strong> field enter the email address to be used in production. In the <strong>value<\/strong> field, enter a different email address to use for local testing in your development environment. Take note of the Name (ie: cb_Email). <em>This is the schema name and you will need it later.<\/em><\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"aligncenter wp-image-7064 size-medium\" height=\"300\" src=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2019\/11\/create-116x300.png\" width=\"116\"\/><\/p>\n<h3>Create the flow<\/h3>\n<ol>\n<li>Create a <strong>flow<\/strong> from the same solution used above. Select a trigger of your choice.<\/li>\n<li><strong>Initialize a variable<\/strong>. Set the <strong>Name<\/strong> to the <em>Schema Name<\/em> of your environment variable (step 4 above). <em>Initializing a variable is optional, but it demonstrates how to use a local variable to store either the default value or current value of the environment variable for use in subsequent steps.<\/em><\/li>\n<li>Make sure you&#8217;re using the &#8220;Common Data Service (current environment)&#8221; and add\u00a0a\u00a0<strong>&#8220;List records&#8221;<\/strong>\u00a0step.<\/li>\n<li>Select &#8220;Environment Variable Definitions&#8221; for <strong>Entity name<\/strong>.<\/li>\n<li>In the <strong>filter query<\/strong>, type schemaname eq &#8216;cb_Email&#8217; <em>(use the actual Schema Name of the Environment variable you created)<\/em>.<\/li>\n<li>Add a step <strong>Set variable.\u00a0<\/strong><\/li>\n<li>Set<strong> Name<\/strong> = cb_Email, which is the local variable created in step 2. Set <strong>Value = Default Value<\/strong> from the dynamic properties available from the list records step. <em>Note flow will add an &#8216;Apply to each&#8217; condition, but this will not loop through additional objects since you&#8217;ve already set the &#8216;List records&#8217; query to return one object.\u00a0<\/em><\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"wp-image-7077 size-medium aligncenter\" height=\"300\" src=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2019\/11\/Step2-210x300.png\" width=\"210\"\/><\/p>\n<p>\u00a0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"wp-image-7078 size-medium aligncenter\" height=\"211\" src=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2019\/11\/Step3-300x211.png\" width=\"300\"\/><\/p>\n<h3>Check if a current value exists<\/h3>\n<ol>\n<li>Add another <strong>List records<\/strong> step and choose Environment variable value for the entity. In the <strong>Filter query<\/strong>, enter\u00a0<em>_environmentvariabledefinitionid_value eq <\/em>and add the<em>\u00a0Environment\u00a0Variable Definition <\/em>from the<em> dynamic content <\/em>list<em>. Note, this will add another &#8216;Apply to each&#8217; condition.<\/em><\/li>\n<li>Add an action for <strong>Set variable<\/strong>. Select the same variable used previously ie: cb_Email. Then set <strong>Value<\/strong> to <em>Value<\/em> from the dynamic content under<em> List records 2.\u00a0<\/em><\/li>\n<li>At this point the flow has initialized a new local variable, set the value to the default value of the Environment variable (if present), then set the local variable value to the Environment variable value (if present). You now can create additional logic, or add a final send email step.<\/li>\n<li>Add a final step for <strong>Send email<\/strong>. In the To line, insert the local variable.<\/li>\n<li><strong>Save<\/strong> and <strong>Test<\/strong> the flow.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"size-medium wp-image-7081 aligncenter\" height=\"193\" src=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2019\/11\/Step4-300x193.png\" width=\"300\"\/><br \/>\n<img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"size-medium wp-image-7082 aligncenter\" height=\"300\" src=\"https:\/\/powerappsblogmedia.azureedge.net\/powerappsblog\/2019\/11\/Step5-258x300.png\" width=\"258\"\/><\/p>\n<h3>Migrate your solution<\/h3>\n<ol>\n<li>Navigate back to your solution. Since you want to use the default value of the Environment variable in your production environment, we&#8217;re going to <strong>remove the value<\/strong> from the solution so that it won&#8217;t be migrated. The current value will still be the value that&#8217;s used in your current environment, even though it&#8217;s not in your solution because it still exists in the Common Data Service database.<\/li>\n<li><strong>Export<\/strong> your solution and then <strong>import<\/strong> to another environment. Note you can also use the <a href=\"https:\/\/docs.microsoft.com\/powerapps\/developer\/common-data-service\/build-tools-overview\">PowerApps build tools<\/a> if you&#8217;d like to automate migration in Azure DevOps.<\/li>\n<\/ol>\n<p>\u00a0<\/p>\n<p><span style=\"font-size: 1rem;\">For the latest and detailed information about this feature, see the feature documentation at <\/span><a href=\"https:\/\/docs.microsoft.com\/powerapps\/maker\/common-data-service\/environmentvariables\" style=\"font-size: 1rem;\">Use environment variables<\/a><span style=\"font-size: 1rem;\">.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Power Platform customizations often require different input parameters and configuration across different environments. Environment variables feature in solutions provides a robust tool set for this automation. They allow you to define different input parameters across environments and manage the values outside of your apps or code.<\/p>\n","protected":false},"author":95,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","ms-ems-related-posts":[],"footnotes":""},"audience":[3378],"content-type":[3424],"job-role":[],"product":[3473],"property":[],"topic":[3421,3422],"coauthors":[2139],"class_list":["post-3569","post","type-post","status-publish","format-standard","hentry","audience-it-professional","content-type-news","product-power-apps","topic-application-modernization","topic-hyperautomation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Environment variables available in preview! - Microsoft Power Platform Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Environment variables available in preview! - Microsoft Power Platform Blog\" \/>\n<meta property=\"og:description\" content=\"Power Platform customizations often require different input parameters and configuration across different environments. Environment variables feature in solutions provides a robust tool set for this automation. They allow you to define different input parameters across environments and manage the values outside of your apps or code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/environment-variables-available-in-preview\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Power Platform Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-11-04T12:00:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-11T15:01:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/powerapps-blog.azurewebsites.net\/web\/\/app\/uploads\/2019\/05\/Env-variable-create.gif\" \/>\n<meta name=\"author\" content=\"Casey Burke\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@caseyburke21\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Casey Burke\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/\"},\"author\":[{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/casey-burke\/\",\"@type\":\"Person\",\"@name\":\"Casey Burke\"}],\"headline\":\"Environment variables available in preview!\",\"datePublished\":\"2019-11-04T12:00:11+00:00\",\"dateModified\":\"2025-06-11T15:01:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/\"},\"wordCount\":1581,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/powerapps-blog.azurewebsites.net\/web\/\/app\/uploads\/2019\/05\/Env-variable-create.gif\",\"keywords\":[\"Dataverse\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/\",\"name\":\"Environment variables available in preview! - Microsoft Power Platform Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/powerapps-blog.azurewebsites.net\/web\/\/app\/uploads\/2019\/05\/Env-variable-create.gif\",\"datePublished\":\"2019-11-04T12:00:11+00:00\",\"dateModified\":\"2025-06-11T15:01:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#primaryimage\",\"url\":\"https:\/\/powerapps-blog.azurewebsites.net\/web\/\/app\/uploads\/2019\/05\/Env-variable-create.gif\",\"contentUrl\":\"https:\/\/powerapps-blog.azurewebsites.net\/web\/\/app\/uploads\/2019\/05\/Env-variable-create.gif\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Environment variables available in preview!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\",\"name\":\"Microsoft Power Platform Blog\",\"description\":\"Innovate with Business Apps\",\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\",\"name\":\"Microsoft Power Platform Blog\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png\",\"width\":194,\"height\":145,\"caption\":\"Microsoft Power Platform Blog\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/person\/9197264c0e329b9c121460d02a7a0b63\",\"name\":\"Casey Burke\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/b55db13fb49afbecbe9b1bad1915b782b00c0b581dd077120586f2384f65e76c?s=96&d=mm&r=g8313cae7de836c0bf0eb43deb7876542\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b55db13fb49afbecbe9b1bad1915b782b00c0b581dd077120586f2384f65e76c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b55db13fb49afbecbe9b1bad1915b782b00c0b581dd077120586f2384f65e76c?s=96&d=mm&r=g\",\"caption\":\"Casey Burke\"},\"description\":\"Casey leads product for Power Platform application lifecycle management (ALM).\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/casey-burke-microsoft\/\",\"https:\/\/x.com\/caseyburke21\"],\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/caburk\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Environment variables available in preview! - Microsoft Power Platform Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/","og_locale":"en_US","og_type":"article","og_title":"Environment variables available in preview! - Microsoft Power Platform Blog","og_description":"Power Platform customizations often require different input parameters and configuration across different environments. Environment variables feature in solutions provides a robust tool set for this automation. They allow you to define different input parameters across environments and manage the values outside of your apps or code.","og_url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/environment-variables-available-in-preview\/","og_site_name":"Microsoft Power Platform Blog","article_published_time":"2019-11-04T12:00:11+00:00","article_modified_time":"2025-06-11T15:01:26+00:00","og_image":[{"url":"https:\/\/powerapps-blog.azurewebsites.net\/web\/\/app\/uploads\/2019\/05\/Env-variable-create.gif","type":"","width":"","height":""}],"author":"Casey Burke","twitter_card":"summary_large_image","twitter_creator":"@caseyburke21","twitter_misc":{"Written by":"Casey Burke","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#article","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/"},"author":[{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/casey-burke\/","@type":"Person","@name":"Casey Burke"}],"headline":"Environment variables available in preview!","datePublished":"2019-11-04T12:00:11+00:00","dateModified":"2025-06-11T15:01:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/"},"wordCount":1581,"commentCount":0,"publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#primaryimage"},"thumbnailUrl":"https:\/\/powerapps-blog.azurewebsites.net\/web\/\/app\/uploads\/2019\/05\/Env-variable-create.gif","keywords":["Dataverse"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/","name":"Environment variables available in preview! - Microsoft Power Platform Blog","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#primaryimage"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#primaryimage"},"thumbnailUrl":"https:\/\/powerapps-blog.azurewebsites.net\/web\/\/app\/uploads\/2019\/05\/Env-variable-create.gif","datePublished":"2019-11-04T12:00:11+00:00","dateModified":"2025-06-11T15:01:26+00:00","breadcrumb":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#primaryimage","url":"https:\/\/powerapps-blog.azurewebsites.net\/web\/\/app\/uploads\/2019\/05\/Env-variable-create.gif","contentUrl":"https:\/\/powerapps-blog.azurewebsites.net\/web\/\/app\/uploads\/2019\/05\/Env-variable-create.gif"},{"@type":"BreadcrumbList","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2019\/11\/04\/environment-variables-available-in-preview\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/"},{"@type":"ListItem","position":2,"name":"Environment variables available in preview!"}]},{"@type":"WebSite","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/","name":"Microsoft Power Platform Blog","description":"Innovate with Business Apps","publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization","name":"Microsoft Power Platform Blog","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","contentUrl":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","width":194,"height":145,"caption":"Microsoft Power Platform Blog"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/person\/9197264c0e329b9c121460d02a7a0b63","name":"Casey Burke","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/b55db13fb49afbecbe9b1bad1915b782b00c0b581dd077120586f2384f65e76c?s=96&d=mm&r=g8313cae7de836c0bf0eb43deb7876542","url":"https:\/\/secure.gravatar.com\/avatar\/b55db13fb49afbecbe9b1bad1915b782b00c0b581dd077120586f2384f65e76c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b55db13fb49afbecbe9b1bad1915b782b00c0b581dd077120586f2384f65e76c?s=96&d=mm&r=g","caption":"Casey Burke"},"description":"Casey leads product for Power Platform application lifecycle management (ALM).","sameAs":["https:\/\/www.linkedin.com\/in\/casey-burke-microsoft\/","https:\/\/x.com\/caseyburke21"],"url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/caburk\/"}]}},"bloginabox_animated_featured_image":null,"bloginabox_display_generated_audio":false,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Power Platform Blog","distributor_original_site_url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/3569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/users\/95"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/comments?post=3569"}],"version-history":[{"count":1,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/3569\/revisions"}],"predecessor-version":[{"id":130744,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/3569\/revisions\/130744"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/media?parent=3569"}],"wp:term":[{"taxonomy":"audience","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/audience?post=3569"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/content-type?post=3569"},{"taxonomy":"job-role","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/job-role?post=3569"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/product?post=3569"},{"taxonomy":"property","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/property?post=3569"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/topic?post=3569"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/coauthors?post=3569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}