When I am building long Flows with long expressions I find I run into an issue where, when I amend an expression, clicking the Update button doesn;t save the changes. I can see this by immediately hovering over the expression block and the tooltip confirms the changes haven't saved.
This only seems to become an issue when Flows grow to a particular size (not sure what the threshold is though).
This can be very confusing when testing a change and seeing no difference. Now I always double check changes to expressions. The workaround I have found is to make my changes, copy the entire expression, delete all text in the expression and paste it back in. This has a 100% success rate (so far!)
For info, I am using Chrome.
So when you ammend the expression, do you update it with the cursor at the point where the change was made? Can you please try this: Create an expression and save. Come back and update the expression -> ensure that the cursor is at the end of the expression and then click update. Now check if you continue to face the same issue.
Hope this Helps!
If this reply has answered your question or solved your issue, please mark this question as answered. Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up. THANKS!
@yashag2255, unfortunately that didn't make a difference. The cursor can be at any point in the expression and it won't update. This seems to happen once several functions are nested within one another - simple expressions aren't affected,
Hi @ChrisBenJohnson ,
At present in Flow, the Expression limit is 131,072 characters, @concat(), @base64(), string can't exceed this limit. According to your description, it should not be the number of bytes you input exceeds the limit.
Your issue might be because an embedded function, may be lack of a bracket when editing an expression. Sometimes the bracket are missing in expression, and the system does not prompt an error exception.
Suggesting you at the time of updating nest function, first copy of the original expression comes out, it is used to edit and backup for preventing after the update of the original expression disappear.
Please pay attention to the use of the nest function when editing, such as brackets matching. It is recommended to check the function parenthesis in VS code or other Editors.
At present, the expression input box of Flow is a little trouble when editing complex expression. It is recommended to check it in the editor.
Hi @v-bacao-msft ,
Thanks for the info. My expression is definitely not that long!
When working on long, embedded functions I use a text editor to write them as I frequently get caught out by missing parentheses! I used this for this one so I know that a missing bracket isn't the cause.
In the example I used to test this, I have a concat() function nested in an if statement. To amend the function, I add an extra string to the concat() function and lick update. It isn't updated. Copy the entire amended expression, delete all expression text, and paste back in, and it works.
This tells me the amended expression is syntactically correct.
Ironically, when I tried to post this reply first time, it gave me an error and I lost the post. Wish I'd copied that first too!
This looks like a bug. It happened a couple times with me when I update an expression (in a nested action and the expressions are bit long) it does not update the expression and the only fix I was able to find is, update the expression and place the cursor at the end of the expression and then click update. Only then it worked for me.
I tried to reproduce the issue you said. I tried the following test case that added time on the timeline and then changed the time zone, but no similar issue was found:
convertFromUtc(addToTime(addSeconds(addMinutes(addHours(adddays(utcnow(),length(string(body('Get_items')?['value'])),'yyyy-MM-ddT00:00:00Z'),length(string(body('Get_items')?['value']))),length(string(outputs('Compose')))),length('this is a test')),11,'day'),'Pacific Standard Time')
Later, a set of unregulated expressions was tested ( purely for the purpose of using functions and without any other substantial meaning).
In addition, two expressions were added in a Compose action, and the issue came up. But then I found that the issue, in this case, does not always reappear. This is incidental, not constant.
If you don't mind, you could share your expression and see how it goes.
Hi @v-bacao-msft ,
Sorry for the late reply. This issue is ongoing. It's present in Chrome and Edge.
It seems to be an issue in longer/more complex Flows only, so this makes me think it is an issue with the Flow Checker possibly?
The below example is a simple expression where I try to add int( ... ) around the existing expression but it only works on the third time.
Thanks for posting this issue! I've been suffering it also, but didn't have time to report it. Also tried both with Edge and Chrome.
The procedure I am following is to always copy the expression before clicking UPDATE, store it as Comment, verify change applied by hovering over the expression block and the tooltip confirms if changes were saved properly. This way I make the "code" also more readable, but it is hard to do it everytime... Let's hope Power Automate Team can fix it.
Also experienced this issue for some time, I have reported it in the in-editor feedback function several times.
This has been such a headache, it has now become routine for me to copy the expression after its changed, attempt to update it, and reopen the editor select all and paste my copied expression again before i click update. Then I need to confirm that the changes has been made because even this is not working all the time.
Please fix this.
I just discover that after you make changes, you click on Expression or Dynamic Content (focus outside the modified text), then click Update and it works
I've noticed this, too, and it's bugged me for quite some time (a couple of years, really.)
I find that it can happen even with flows that aren't too complex! Sometimes I think it might even be a latency thing. For example, if I want to get "Dynamic Content" to populate a function's parameters, it almost always clears what I've written so far, and I have to start over. It's gotten to the point where I always copy the formula before clicking on the "Update" or "Dynamic Content" links, because it so frequently loses my changes. I also have a strong suspicion that I have better luck if I wait for a good amount of time (5-10 seconds?) before clicking on "Dynamic Content" or "Update," as though there is a script that is parsing the GUI editor, and which sometimes takes a lot longer than others to finish! (I'm so jaded, I make up stories like that to rationalize my technology superstitions.)
BTW, I have noticed another bizarre editor phenomenon: every time I initialize a string variable as an HTML hyperlink/href to the item (to be used in an "HTML only" email message later in the workflow) it lops off the closing "</a>" at the end when I save it! EVERY SINGLE TIME! I have actually accepted that creating a hyperlink is always going to be a two-step process, where I have to go back and (re-)add the "</a>".
And don't even get me STARTED on how it always loses the second parameter of the formatDateTime function--e.g. 'dddd, MMM dd, yyyy'--the first time I create and save it (and after copying that parameter from elsewhere and pasting it, which I do to ensure it matches other formatting.)
One of my least favorite "features" of PA... highly frustrating at times. Most it's ever taken is 4 Update tries. Another observed behavior is manually typing a long string of characters, flipping to dynamic content to include a variable, only to have a good portion of what was just typed in disappear. As commented by others, you learn what to expect and have different workarounds, but it's been going on long enough that you'd think MS would have taken note and resolved it.
While we're at it, another little annoyance is cursor repositioning after inserting a variable (specifically in Approval details, but believe have observed elsewhere)... You put in a variable from DynContent, then the cursor will jump far left and up a few lines. Again, minor, and you learn to deal with it, but certainly hinders development speed.
I experience the exact same as described above, in Chrome and in Edge. I enter an expression and hit Update, and nothing changes.
This has gone on for years. Can we please get a fix for this? Or some confirmation that it's being worked on? Thanks.
I am having the exact same problem and it's driving me bananas! I change an expression, click update, only to see it has not updated. I can't figure out any pattern to when it works and when it does not. PLEASE fix this problem
I see this same behavior, repeatedly, regardless of the length of the expression. That this remains a bug within Power Automate after all of this time is extremely unfortunate.
Same issue here. I've been using Flow/Automate for years, very disappointing that this hasn't been addressed!
When will this functionality work correctly, first time?
I experice the same issue.
It is just impressive how much Microsoft promotes a solution that at best can be called to be in an early open beta state as the new standard for low code / no code solution if they are not able to fix such an essential bug.
Wow, thank you everyone for continuing to reply (seriously). I think I found a 'fix' to this some time ago actually. When I moved from a slower broadband to fibre optic, the issues went away. I still get it occasionally, and I believe it to be linked to slowness or dropouts of my WiFi. So hopefully that helps some but I'm sure it's of no consolation to others who can't change their internet speed.
Hopefully there is a better fix for this problem than to change the internet speed. This would indicate that Power Automate has fundamental system architecture flaws and it would be very risky to use it within a serious business environment.
Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.
Learn to digitize and optimize business processes and connect all your applications to share data in real time.