Use environment variables in solution custom connectors (preview)

Applications often require different configuration settings or input parameters when deployed to different environments. Environment variables store the parameter keys and values, which can then serve as input to various other application objects. You can also use environment variables in solution custom connectors to update key custom connector properties such as Host, Base URL, Client ID, Client Secret, Login Url, Refresh Url, and more. For a detailed tutorial, you can also read this blog.

Use an environment variable in a custom connector

When a custom connector is created or updated, the values of environment variables will be used to create the custom connector. The custom connector uses the value of the environment variables during save time. When an environment variable is updated, custom connectors need to be resaved to use the updated environment variable value.

  1. Sign in to Power Apps or Power Automate.

  2. Select a solution from the list. Or, if you need to create a new custom connector in a solution, go to Create custom connectors in solutions.

  3. Select the newly created or existing solution from the list.

  4. Select Environment variables.

  5. Select New > More > Environment variable.

    Screenshot of the new environment variable menu.

  6. Enter the environment variable name, which contains the publisher Id prefix. (Don't use the name in the Display name field.)

    The following example uses SharePoint Site URL. You can create other environment variable values for other settings like OAUTH Client ID, Resource, and others.

    Screenshot of the environment variable name.

    Environment variables can use the following syntax in custom connector fields:
    @environmentVariables("{{environmentVariableName}}")

    Example
    @environmentVariables("cr49f_SharePointSiteURL_7weem")

    Screenshot of the Environment variables screen.

  7. (Optional) To use the values from environment variables in the Host and Base URL fields, do the following:

    1. Select New > Automation > Custom connector.

      Screenshot of the new custom connector menu.

    2. On the General tab, enter the environment variable syntax to refer to an environment variable.

      Screenshot of the General tab.

  8. (Optional) To use the values from environment variables in any of the fields in the Security tab, do the following:

    1. Select New > Automation > Custom connector.

    2. On the Security tab, enter the environment variable syntax to refer to an environment variable. To learn more, go to Specify authentication type:

      Screenshot of the Security tab.

    Note

    Environment variables with the data type Secret can now be used in custom connectors. You need to configure the Azure Key Vault using the steps outlined here. In the security configuration UI, the value is masked. You will need to use the following syntax: @environmentVariables("{{environmentVariableName}}")

    Important

    An environment variable created for Client Secret as Text isn't secure. These values aren't encrypted. The recommendation is to use Azure Key Vault as mentioned above.

  9. (Optional) On the Definition tab, add any necessary actions, triggers, or policies. Currently, environment variables aren't supported in actions, triggers, or policies.

Use new values for environment variables while importing solutions

If you'd like to use new values for environment variables while importing solutions, you can remove the value from your solution before exporting the solution. This ensures the existing value will remain in your development environment, but won't get exported in the solution. This approach allows a new value to be provided while importing the solution into other environments.

To use new values:

  1. Export the solution. This step is where you'll remove the value, as mentioned in the previous paragraph.

  2. Import the solution to a new environment.

You won't be prompted for new values during solution import if the environment variables already have either a default value or value present. This happens when values are part of your solution, or are already present in the target environment.

To learn more, go to How do I remove a value from an environment variable?

Provide feedback

We greatly appreciate feedback on issues with our connector platform, or new feature ideas. To provide feedback, go to Submit issues or get help with connectors and select your feedback type.