Skip to content

Logic App Standard Designer Having Issues with the Variables and Dataverse connector #4342

Closed
@aliiqbalvsi

Description

@aliiqbalvsi

Describe the Bug with repro steps

  1. Create Logic App Standard

  2. Create new Workflow in the Logic App

  3. Use "When a HTTP request is received" as trigger for the workflow

  4. Initialize a new variable of type Boolean

  5. Set the value of variable to false based on some condition

  6. Save the Workflow

  7. Go to the Overview tab

  8. Again go to the Designer

  9. Verify if the value of the variable is assign to false as we did in the step 5, it'll show empty which is wrong, in code view you can see the value false

What type of Logic App Is this happening in?

Standard (Portal)

Are you using new designer or old designer

New Designer

Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg

Yes

Workflow JSON

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "Check_if_address_exists_in_Dataverse_table": {
                "inputs": {
                    "headers": {
                        "accept": "application/json;odata.metadata=full",
                        "organization": "https://orgd2ffc45c.crm11.dynamics.com",
                        "prefer": "odata.include-annotations=*"
                    },
                    "host": {
                        "connection": {
                            "referenceName": "commondataservice"
                        }
                    },
                    "method": "get",
                    "path": "/api/data/v9.1/@{encodeURIComponent(encodeURIComponent('customeraddresses'))}",
                    "queries": {
                        "$filter": "ncfe_addressidcrm eq '@{body('Parse_Address_JSON')?['addressid']}'"
                    }
                },
                "runAfter": {
                    "Complete_the_message": [
                        "SUCCEEDED"
                    ]
                },
                "type": "ApiConnection"
            },
            "Complete_the_message": {
                "inputs": {
                    "parameters": {
                        "messageId": "@triggerBody()?['messageId']"
                    },
                    "serviceProviderConfiguration": {
                        "connectionName": "serviceBus",
                        "operationId": "completeMessage",
                        "serviceProviderId": "/serviceProviders/serviceBus"
                    }
                },
                "runAfter": {
                    "Parse_Address_JSON": [
                        "SUCCEEDED"
                    ]
                },
                "type": "ServiceProvider"
            },
            "DataverseAddressId_variable": {
                "inputs": {
                    "variables": [
                        {
                            "name": "DataverseAddressId",
                            "type": "string"
                        }
                    ]
                },
                "runAfter": {},
                "type": "InitializeVariable"
            },
            "Destination_variable": {
                "inputs": {
                    "variables": [
                        {
                            "name": "destination",
                            "type": "string"
                        }
                    ]
                },
                "runAfter": {
                    "ValidationEmailTemplate_variable": [
                        "SUCCEEDED"
                    ]
                },
                "type": "InitializeVariable"
            },
            "IsAddressCompletedAwarding_variable": {
                "inputs": {
                    "variables": [
                        {
                            "name": "IsAddressCompletedAwarding",
                            "type": "boolean",
                            "value": false
                        }
                    ]
                },
                "runAfter": {
                    "DataverseAddressId_variable": [
                        "SUCCEEDED"
                    ]
                },
                "type": "InitializeVariable"
            },
            "IsAddressCompletedBC_variable": {
                "inputs": {
                    "variables": [
                        {
                            "name": "IsAddressCompletedBC",
                            "type": "boolean",
                            "value": false
                        }
                    ]
                },
                "runAfter": {
                    "IsAddressCompletedAwarding_variable": [
                        "SUCCEEDED"
                    ]
                },
                "type": "InitializeVariable"
            },
            "Is_address_exists_in_Dataverse": {
                "actions": {
                    "Set_DataverseAddressId_value_from_Dataverse": {
                        "inputs": {
                            "name": "DataverseAddressId",
                            "value": "@{first(body('Check_if_address_exists_in_Dataverse_table')?['value'])?['CustomerAddressId']}"
                        },
                        "type": "SetVariable"
                    }
                },
                "else": {
                    "actions": {
                        "Check_if_all_the_required_fields_for_Awarding_API_have_values": {
                            "actions": {
                                "Set_IsAddressCompletedAwarding_True": {
                                    "inputs": {
                                        "name": "IsAddressCompletedAwarding",
                                        "value": true
                                    },
                                    "type": "SetVariable"
                                }
                            },
                            "else": {
                                "actions": {
                                    "Set_IsAddressCompletedAwarding_False": {
                                        "inputs": {
                                            "name": "IsAddressCompletedAwarding",
                                            "value": false
                                        },
                                        "type": "SetVariable"
                                    }
                                }
                            },
                            "expression": {
                                "and": [
                                    {
                                        "not": {
                                            "equals": [
                                                "@trim(string(body('Parse_Address_JSON')?['address1_line1']))",
                                                ""
                                            ]
                                        }
                                    }
                                ]
                            },
                            "type": "If"
                        },
                        "Check_if_all_the_required_fields_for_BC_API_have_values": {
                            "actions": {
                                "Set_IsAddressCompletedBC_True": {
                                    "inputs": {
                                        "name": "IsAddressCompletedBC",
                                        "value": true
                                    },
                                    "type": "SetVariable"
                                }
                            },
                            "else": {
                                "actions": {
                                    "Set_IsAddressCompletedBC_False": {
                                        "inputs": {
                                            "name": "IsAddressCompletedBC",
                                            "value": false
                                        },
                                        "type": "SetVariable"
                                    }
                                }
                            },
                            "expression": {
                                "and": [
                                    {
                                        "not": {
                                            "equals": [
                                                "@trim(string(body('Parse_Address_JSON')?['name']))",
                                                ""
                                            ]
                                        }
                                    }
                                ]
                            },
                            "runAfter": {
                                "Check_if_all_the_required_fields_for_Awarding_API_have_values": [
                                    "SUCCEEDED"
                                ]
                            },
                            "type": "If"
                        },
                        "Create_new_Address_in_Dataverse": {
                            "inputs": {
                                "body": {
                                    "city": "@body('Parse_Address_JSON')?['address1_city']",
                                    "country": "@body('Parse_Address_JSON')?['address1_country']",
                                    "county": "@body('Parse_Address_JSON')?['address1_county']",
                                    "fax": "@body('Parse_Address_JSON')?['fax']",
                                    "line1": "@body('Parse_Address_JSON')?['address1_line1']",
                                    "line2": "@body('Parse_Address_JSON')?['address1_line2']",
                                    "line3": "@body('Parse_Address_JSON')?['address1_line3']",
                                    "name": "@body('Parse_Address_JSON')?['name']",
                                    "ncfe_accountidcrm": "@body('Parse_Address_JSON')?['accountid']",
                                    "ncfe_addressidcrm": "@body('Parse_Address_JSON')?['addressid']",
                                    "parentid_account@odata.bind": "accounts(@{first(body('List_rows_(preview)')?['value'])?['accountid']})",
                                    "postalcode": "@body('Parse_Address_JSON')?['address1_postalcode']",
                                    "stateorprovince": "@body('Parse_Address_JSON')?['address1_stateorprovince']",
                                    "telephone1": "@body('Parse_Address_JSON')?['telephone1']"
                                },
                                "headers": {
                                    "organization": "https://orgd2ffc45c.crm11.dynamics.com",
                                    "prefer": "return=representation,odata.include-annotations=*"
                                },
                                "host": {
                                    "connection": {
                                        "referenceName": "commondataservice"
                                    }
                                },
                                "method": "post",
                                "path": "/api/data/v9.1/@{encodeURIComponent(encodeURIComponent('customeraddresses'))}"
                            },
                            "runAfter": {
                                "List_rows_(preview)": [
                                    "SUCCEEDED"
                                ]
                            },
                            "type": "ApiConnection"
                        },
                        "List_rows_(preview)": {
                            "inputs": {
                                "headers": {
                                    "accept": "application/json;odata.metadata=full",
                                    "organization": "https://orgd2ffc45c.crm11.dynamics.com",
                                    "prefer": "odata.include-annotations=*"
                                },
                                "host": {
                                    "connection": {
                                        "referenceName": "commondataservice"
                                    }
                                },
                                "method": "get",
                                "path": "/api/data/v9.1/@{encodeURIComponent(encodeURIComponent('accounts'))}",
                                "queries": {
                                    "fetchXml": "<fetch>\n<entity name=\"account\">\n<attribute name=\"accountid\" />\n<filter type=\"and\">\n<condition attribute=\"ncfe_accountidcrm\" operator=\"eq\" value=\"@{body('Parse_Address_JSON')?['accountid']}\" />\n</filter>\n</entity>\n</fetch>"
                                }
                            },
                            "runAfter": {
                                "Check_if_all_the_required_fields_for_BC_API_have_values": [
                                    "SUCCEEDED"
                                ]
                            },
                            "type": "ApiConnection"
                        }
                    }
                },
                "expression": {
                    "and": [
                        {
                            "not": {
                                "equals": [
                                    "@empty(body('Check_if_address_exists_in_Dataverse_table')?['value'])",
                                    true
                                ]
                            }
                        }
                    ]
                },
                "runAfter": {
                    "Check_if_address_exists_in_Dataverse_table": [
                        "SUCCEEDED"
                    ]
                },
                "type": "If"
            },
            "Parse_Address_JSON": {
                "inputs": {
                    "content": "@triggerBody()?['contentData']",
                    "schema": {
                        "properties": {
                            "RetryCount": {
                                "type": "integer"
                            },
                            "RowKey": {
                                "type": "string"
                            },
                            "accountid": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "address1_city": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "address1_country": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "address1_county": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "address1_line1": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "address1_line2": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "address1_line3": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "address1_postalcode": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "address1_stateorprovince": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "addressid": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "fax": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "name": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "telephone1": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "type": "object"
                    }
                },
                "runAfter": {
                    "Destination_variable": [
                        "SUCCEEDED"
                    ]
                },
                "type": "ParseJson"
            },
            "ValidationEmailTemplate_variable": {
                "inputs": {
                    "variables": [
                        {
                            "name": "ValidationEmailTemplate",
                            "type": "string"
                        }
                    ]
                },
                "runAfter": {
                    "IsAddressCompletedBC_variable": [
                        "SUCCEEDED"
                    ]
                },
                "type": "InitializeVariable"
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "triggers": {
            "When_messages_are_available_in_a_topic_subscription_(peek-lock)": {
                "conditions": [],
                "inputs": {
                    "parameters": {
                        "isSessionsEnabled": false,
                        "subscriptionName": "create-address-dataverse-subscription",
                        "topicName": "crm-awarding-bc-topic"
                    },
                    "serviceProviderConfiguration": {
                        "connectionName": "serviceBus",
                        "operationId": "peekLockTopicMessages",
                        "serviceProviderId": "/serviceProviders/serviceBus"
                    }
                },
                "splitOn": "@triggerOutputs()?['body']",
                "type": "ServiceProvider"
            }
        }
    },
    "kind": "Stateful"
}

Screenshots or Videos

image

image

image

portal.azure.com-1710145362181.log

portal.azure.com.zip

Browser

  • Browser: [Chrome, Edge, Firefox]

Additional context

I'm having 2 issues in Logic App Standard, these issues are impacting our client, below are the details of the issues:

Session ID: e985465d76b5475caedf34a7fd02aa06

Loaded extensions: 3

Microsoft_Azure_EMA: 8ms

  1. When using Variables of type Boolean in the Logic App Standard and setting there value to false is not visible in the Logic App Designer but the code view shows the value false, also the Logic App running fine but when we try to change something from the designer we're getting the error that "value is required" for variable.

  2. We're using Dataverse connector in our Logic App Standard, till Wednesday everything is working fine but from Thursday we're getting errors in the designer regarding Dataverse connector, the error is "Unable to initialize operation details for swagger based operation Error details - [object Object]". If we try to run Logic App it's working fine but the designer is showing error.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions