Skip to content

[BUG] Timing between internal API calls causes Import-PnPFlow Failure #5164

@JDziurlaj

Description

@JDziurlaj

Reporting an Issue or Missing Feature

When using Import-PnPFlow as shown below, and error occurs

Import-PnPFlow -Environment (Get-PnPPowerPlatformEnvironment -Identity "redacted") -PackagePath "redacted\power\redacted.zip" -Name NewFlowName -Verbose
Import-PnPFlow: Import failed: One or more required fields are missing in 'properties'.`

Expected behavior

A Power Automate flow is created in the specified environment.

Actual behavior

I've isolated the issue to listImportOperations API call. When intercepting the initial call to https://api.bap.microsoft.com/providers/Microsoft.BusinessAppPlatform/environments/xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/listImportOperations/xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx?api-version=2016-11-01

{
    "id": "/providers/Microsoft.BusinessAppPlatform/environments/xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/packagingOperations/xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "type": "Microsoft.BusinessAppPlatform/environments/packagingOperations",
    "environmentName": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "properties": {
        "packageLink": {
            "value": "https://bapfeblobprodby.blob.core.windows.net/20251119t000000za0e281d82285829285573553895/xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.zip?skoid=xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&sktid=xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&skt=2025-11-19T12%3A00%3A00Z&ske=2025-11-26T12%3A00%3A00Z&sks=b&skv=2023-01-03&sv=2023-01-03&spr=https&st=2025-11-19T12%3A26%3A15Z&se=2025-11-19T12%3A46%3A15Z&sr=c&sp=rwl&scid=xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&sig=efXO49DKg2yUJaHLGfOfkJBZV2SdKQwTKeUEnqd6pbs%3D"
        },
        "details": {
            "packageTelemetryId": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        }
    }
}

However, if I replay the same call some time later, I get a complete payload

{
    "id": "/providers/Microsoft.BusinessAppPlatform/environments/xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/packagingOperations/xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "type": "Microsoft.BusinessAppPlatform/environments/packagingOperations",
    "environmentName": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "properties": {
        "status": "Succeeded",
        "packageLink": {
            "value": "https://bapfeblobprodby.blob.core.windows.net/20251119t000000ze343e4022285829285573553895?skoid=xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&sktid=xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&skt=2025-11-19T12%3A00%3A00Z&ske=2025-11-26T12%3A00%3A00Z&sks=b&skv=2023-01-03&sv=2023-01-03&spr=https&st=2025-11-19T12%3A26%3A19Z&se=2025-11-19T13%3A26%3A19Z&sr=c&sp=rl&scid=xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&sig=0P7O9FNUTJ%2FUVOOFHEPjb2DL%2FLaMmAYqwdz9Kgmy%2FCE%3D"
        },
        "details": {
            "createdTime": "2025-11-18T17:02:06.2556119Z",
            "packageTelemetryId": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        },
        "resources": {
            "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx": {
                "type": "Microsoft.Flow/flows",
                "status": "Succeeded",
                "suggestedCreationType": "Update",
                "creationType": "Existing, New, Update",
                "details": {
                    "displayName": "approval"
                },
                "configurableBy": "User",
                "hierarchy": "Root",
                "dependsOn": [
                    "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                    "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                    "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                    "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                    "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                    "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                    "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                    "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
                ]
            },
            "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx": {
                "id": "/providers/Microsoft.PowerApps/apis/shared_sharepointonline",
                "name": "shared_sharepointonline",
                "type": "Microsoft.PowerApps/apis",
                "status": "Succeeded",
                "suggestedCreationType": "Existing",
                "details": {
                    "displayName": "SharePoint",
                    "iconUri": "https://conn-afd-prod-endpoint-bmc9bqahasf3grgk.b01.azurefd.net/v1.0.1769/1.0.1769.4352/sharepointonline/icon.png"
                },
                "configurableBy": "System",
                "hierarchy": "Child",
                "dependsOn": []
            },
            "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx": {
                "id": "/providers/Microsoft.PowerApps/apis/shared_approvals",
                "name": "shared_approvals",
                "type": "Microsoft.PowerApps/apis",
                "status": "Succeeded",
                "suggestedCreationType": "Existing",
                "details": {
                    "displayName": "Standard approvals",
                    "iconUri": "https://conn-afd-prod-endpoint-bmc9bqahasf3grgk.b01.azurefd.net/v1.0.1774/1.0.1774.4397/approvals/icon.png"
                },
                "configurableBy": "System",
                "hierarchy": "Child",
                "dependsOn": []
            },       
            "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx": {
                "id": "/providers/Microsoft.PowerApps/apis/shared_office365",
                "name": "shared_office365",
                "type": "Microsoft.PowerApps/apis",
                "status": "Succeeded",
                "suggestedCreationType": "Existing",
                "details": {
                    "displayName": "Office 365 Outlook",
                    "iconUri": "https://conn-afd-prod-endpoint-bmc9bqahasf3grgk.b01.azurefd.net/v1.0.1777/1.0.1777.4410/office365/icon.png"
                },
                "configurableBy": "System",
                "hierarchy": "Child",
                "dependsOn": []
            },
            "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx": {
                "type": "Microsoft.PowerApps/apis/connections",
                "status": "Succeeded",
                "suggestedCreationType": "Existing",
                "creationType": "Existing",
                "details": {
                    "displayName": "redacted@example.com",
                    "iconUri": "https://conn-afd-prod-endpoint-bmc9bqahasf3grgk.b01.azurefd.net/v1.0.1769/1.0.1769.4352/sharepointonline/icon.png"
                },
                "configurableBy": "User",
                "hierarchy": "Child",
                "dependsOn": [
                    "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
                ]
            },
            "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx": {
                "type": "Microsoft.PowerApps/apis/connections",
                "status": "Succeeded",
                "suggestedCreationType": "Existing",
                "creationType": "Existing",
                "details": {
                    "displayName": "Standard approvals",
                    "iconUri": "https://conn-afd-prod-endpoint-bmc9bqahasf3grgk.b01.azurefd.net/v1.0.1774/1.0.1774.4397/approvals/icon.png"
                },
                "configurableBy": "User",
                "hierarchy": "Child",
                "dependsOn": [
                    "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
                ]
            },
            "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx": {
                "type": "Microsoft.PowerApps/apis/connections",
                "status": "Succeeded",
                "suggestedCreationType": "Existing",
                "creationType": "Existing",
                "details": {
                    "displayName": "Asana",
                    "iconUri": "https://conn-afd-prod-endpoint-bmc9bqahasf3grgk.b01.azurefd.net/releases/v1.0.1777/1.0.1777.4410/asana/icon.png"
                },
                "configurableBy": "User",
                "hierarchy": "Child",
                "dependsOn": [
                    "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
                ]
            },
            "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx": {
                "type": "Microsoft.PowerApps/apis/connections",
                "status": "Succeeded",
                "suggestedCreationType": "Existing",
                "creationType": "Existing",
                "details": {
                    "displayName": "redacted@example.com",
                    "iconUri": "https://conn-afd-prod-endpoint-bmc9bqahasf3grgk.b01.azurefd.net/v1.0.1777/1.0.1777.4410/office365/icon.png"
                },
                "configurableBy": "User",
                "hierarchy": "Child",
                "dependsOn": [
                    "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
                ]
            }
        }
    }
}

Which meets the requirements per

if (!(hasStatus && hasPackageLink && hasDetails && hasResources))

I'm hoping the addition of some delay/retry logic will allow this step to complete successfully.

What is the version of the Cmdlet module you are running?

3.1.218 nightly

Which operating system/environment are you running PnP PowerShell on?

  • Windows

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions