Skip to content

UI crashes in the Logic App designer when a workflow contains a "Call workflow in this logic app" action in environments with many workflows #1541

Description

@HeritierLucMinani

Describe the Bug

In Logic Apps Standard, opening and editing a workflow that contains a "Call workflow in this logic app" action causes severe UI degradation in the designer and eventually a full crash after a small number of open/edit attempts.

Network analysis shows that every time this action is rendered, the designer issues:

  • A first request that lists every workflow in the Logic App.
  • A second batch of requests that downloads the full definition of each workflow returned by step 1.
  • In a Logic App that contains many workflows (and especially workflows with large definitions), the volume of data fetched on every designer load saturates the browser, generates request throttling, and ultimately crashes the designer.

The issue does not occur when a workflow does not contain a "Call workflow in this logic app" action - in that case the designer is stable and responsive.

This is a major blocker for us because most of our workflows rely on a shared child workflow (e.g. a centralized Logger workflow), so almost every workflow in the Logic App can trigger this error.

Plan Type

Standard

Steps to Reproduce the Bug or Issue

  • Create a Logic App Standard resource.
  • Add a large number of workflows to it (we reproduced the issue with ~60 workflows, each containing a significant number of actions). The issue is not reproducible with only a handful of workflows because the data volume stays below the throttling threshold.
  • Create a simple test workflow with just three blocks:
    • HTTP Request trigger
    • A Call workflow in this logic app action targeting any other workflow in the same Logic App
    • HTTP Response
  • Open the test workflow in the designer.
  • Repeatedly open or refresh the tab repeatedly.
  • Observe the Network tab of the browser dev tools: each open triggers a list-workflows request followed by a workflow-definition request for every workflow in the Logic App.
  • After ~6–7 open/edit attempts, the designer becomes unresponsive and eventually crashes.

Workaround we currently use: replace the Call workflow in this logic app action with an HTTP action that POSTs directly to the child workflow's invoke URL (via a parameter). This avoids the global workflow-listing/definition-loading and the designer stays stable.

Workflow JSON

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "contentVersion": "1.0.0.0",
        "triggers": {
            "manual": {
                "type": "Request",
                "kind": "Http"
            }
        },
        "actions": {
            "Response": {
                "type": "Response",
                "kind": "Http",
                "inputs": {
                    "statusCode": 200
                },
                "runAfter": {
                    "Call_workflow_in_this_logic_app": [
                        "SUCCEEDED"
                    ]
                }
            },
            "Call_workflow_in_this_logic_app": {
                "type": "Workflow",
                "inputs": {
                    "host": {
                        "workflow": {
                            "id": "Test-Heri"
                        }
                    }
                },
                "runAfter": {}
            }
        },
        "outputs": {},
        "parameters": {
            "$connections": {
                "type": "Object",
                "defaultValue": {}
            }
        }
    },
    "kind": "Stateful"
}

Screenshots or Videos

Image

Additional context

When this issue occurs, the throttling impacts the entire Azure subscription, rather than being isolated to the specific Logic App Standard resource.

Current Workaround: We are currently forced to replace the native "Call workflow" action with a standard HTTP action (calling the child workflow's trigger URL directly) to prevent the designer from fetching the global definitions. Because the resulting throttling takes down the subscription's API quota, a permanent optimization to how the designer handles this specific action is urgently needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions