Export Consumption workflows to a Standard logic app (Preview)

Note

This capability is in preview and is subject to the Supplemental Terms of Use for Microsoft Azure Previews.

Standard logic app workflows, which run in single-tenant Azure Logic Apps, offer many new and improved capabilities. For example, you get compute isolation, virtual network integration, and private endpoints along with App Services Environment hosting, local development and debugging using Visual Studio Code, low latency with stateless workflows, and more.

If you want the benefits from Standard workflows, but your workflows run in multi-tenant Azure Logic Apps, you can now move your Consumption workflows to single-tenant Azure Logic Apps. This switch makes sense in scenarios that require some of the Standard capabilities such as isolation and network integration, lower latency or better predictability of costs.

You can now export Consumption logic apps to a Standard logic app. Using Visual Studio Code and the latest Azure Logic Apps (Standard) extension, you export your logic apps as stateful workflows to a Standard logic app project. You can then locally update, test, and debug your workflows to get them ready for redeployment. When you're ready, you can deploy either directly from Visual Studio Code or through your own DevOps process.

Note

The export capability doesn't migrate your workflows. Instead, this tool replicates artifacts, such as workflow definitions, connections, integration account artifacts, and others. Your source logic app resources, workflows, trigger history, run history, and other data stay intact.

You control the export process and your migration journey. You can test and validate your exported workflows to your satisfaction with the destination environment. You choose when to disable or delete your source logic apps.

This article provides information about the export process and shows how to export your logic app workflows from an ISE to a local Standard logic app project in Visual Studio Code.

Known issues and limitations

  • The following logic apps and scenarios are currently ineligible for export:

    • Logic apps that use custom connectors
    • Logic apps that use the Azure API Management connector
  • The export tool doesn't export any infrastructure information, such as integration account settings.

  • The export tool can export logic app workflows with triggers that have concurrency settings. However, single-tenant Azure Logic Apps ignores these settings.

  • Logic apps must exist in the same region if you want to export them within the same Standard logic app project.

  • For now, connectors deploy as their managed versions, which appear in the designer under the Azure tab. The export tool will have the capability to export connectors that have a built-in, service provider counterpart, when the latter gain parity with their Azure versions. The export tool automatically makes the conversion when Azure connector is available to export as a built-in, service provider connector.

  • By default, connection credentials aren't cloned from source logic app workflows. Before your logic app workflows can run, you'll have to reauthenticate these connections after export.

Exportable operation types

Operation JSON type
Trigger Built-in: Http, HttpWebhook, Recurrence, manual (Request)

Managed: ApiConnection ApiConnectionNotification, ApiConnectionWebhook
Action Built-in: AppendToArrayVariable, AppendToStringVariable, Compose, DecrementVariable, Foreach, Http, HttpWebhook, If, IncrementVariable, InitializeVariable, JavaScriptCode, Join, ParseJson, Response, Scope, Select, SetVariable, Switch, Table, Terminate, Until, Wait

- Managed: ApiConnection, ApiConnectionWebhook

Prerequisites

Group logic apps for export

With the Azure Logic Apps (Standard) extension, you can combine multiple Consumption logic app workflows into a single Standard logic app project. In single-tenant Azure Logic Apps, one Standard logic app resource can have multiple workflows. With this approach, you can pre-validate your workflows so that you don't miss any dependencies when you select logic apps for export.

Consider the following recommendations when you select logic apps for export:

  • Group logic apps where workflows share the same resources, such as integration account artifacts, maps, and schemas, or use resources through a chain of processes.

  • For the organization and number of workflows per logic app, review Best practices and recommendations.

Export Consumption workflows to a local project

Select logic apps for export

  1. In Visual Studio Code, sign in to Azure, if you haven't already.

  2. In the left navigation bar, select Azure to open the Azure window (Shift + Alt + A), and expand the Logic Apps (Standard) extension view.

    Screenshot showing Visual Studio Code with 'Azure' view selected.

  3. On the extension toolbar, select Export Logic App....

    Screenshot showing Visual Studio Code and 'Logic Apps (Standard)' extension toolbar with 'Export Logic App' selected.

  4. After the Export tab opens, select your Azure subscription and region, and then select Next.

    Screenshot showing 'Export' tab and 'Select logic app instance' section with Azure subscription and region selected.

  5. Select the logic apps to export. Each selected logic app appears on the Selected logic apps list to the side. When you're done, select Next.

    Tip

    You can also search for logic apps and filter on resource group.

    Screenshot showing 'Select logic apps to export' section with logic apps selected for export.

    The export tool starts to validate whether your selected logic apps are eligible for export.

Review export validation results

  1. After export validation completes, review the results by expanding the entry for each logic app.

    • Logic apps that have errors are ineligible for export. You must remove these logic apps from the export list until you fix them at the source. To remove a logic app from the list, select Back.

      For example, SourceLogicApp2 has an error and can't be exported until fixed:

      Screenshot showing 'Review export status' section and validation status for logic app workflow with error.

    • Logic apps that pass validation with or without warnings are still eligible for export. To continue, select Export if all apps validate successfully, or select Export with warnings if apps have warnings.

      For example, SourceLogicApp3 has a warning, but you can still continue to export:

      Screenshot showing 'Review export status' section and validation status for logic app workflow with warning.

    The following table provides more information about each validation icon and status:

    Validation icon Validation status
    Success icon Item passed validation, so export can continue without problems to resolve.
    Failed icon Item failed validation, so export can't continue.

    The validation entry for the failed item automatically appears expanded and provides information about the validation failure.
    Warning icon Item passed validation with a warning, but export can continue with required post-export resolution.

    The validation entry for the item with a warning automatically appears expanded and provides information about the warning and required post-export remediation.
  2. After the Finish export section appears, for Export location, browse and select a local folder for your new Standard logic app project.

    Screenshot showing 'Finish export' section and 'Export location' property with selected local export project folder.

  3. If your workflow has managed connections that you want to deploy, which is only recommended for non-production environments, select Deploy managed connections, which shows existing resource groups in your Azure subscription. Select the resource group where you want to deploy the managed connections.

    Screenshot showing 'Finish export' section with selected local export folder, 'Deploy managed connections' selected, and target resource group selected.

  4. Under After export steps, review any required post-export steps, for example:

    Screenshot showing 'After export steps' section and required post-export steps, if any.

  5. Based on your scenario, select Export and finish or Export with warnings and finish.

    The export tool downloads your project to your selected folder location, expands the project in Visual Studio Code, and deploys any managed connections, if you selected that option.

    Screenshot showing the 'Export status' section with export progress.

  6. After this process completes, Visual Studio Code opens a new workspace. You can now safely close the export window.

  7. From your Standard logic app project, open and review the README.md file for the required post-export steps.

    Screenshot showing a new Standard logic app project with README.md file opened.

Post-export steps

Remediation steps

Some exported logic app workflows require post-export remediation steps to run on the Standard platform.

  1. From your Standard logic app project, open the README.md file, and review the remediation steps for your exported workflows. The export tool generates the README.md file, which contains all the required post-export steps.

  2. Before you make any changes to your source logic app workflow, make sure to test your new Standard logic app resource and workflows.

Integration account actions and settings

If you export actions that depend on an integration account, you have to manually set up your Standard logic app with a reference link to the integration account that contains the required artifacts. For more information, review Link integration account to a Standard logic app.

Project folder structure

After the export process finishes, your Standard logic app project contains new folders and files alongside most others in a typical Standard logic app project.

The following table describes these new folders and files added by the export process:

Folder File Description
.development\deployment LogicAppStandardConnections.parameters.json Azure Resource Manager template parameters file for deploying managed connectors
LogicAppStandardConnections.template.json Azure Resource Manager template definition for deploying managed connectors
LogicAppStandardInfrastructure.parameters.json Azure Resource Manager template parameters file for deploying Standard logic app resource
LogicAppStandardInfrastructure.template.json Azure Resource Manager template definition for deploying Standard logic app resource
.logs\export exportReport.json Export report summary raw file, which includes all the steps required for post-export remediation
exportValidation.json Validation report raw file, which includes the validation results for each exported logic app
README.md Markdown file with export results summary, including the created logic apps and all the required next steps

Next steps