Hello,
I want to start a automatic workflow "if a file is created or changed". This workflow should only start if a user sends a page to approval. Now I want to create a condition at the triggersettings. I put this into the "triggercondition" under the trigger settings:
@equals(triggerBody()?['Inhaltsgenehmigungsstatus']?['value'],'Pending')
If I send a page to approval, nothing happens. The condition syntax is not right, but I don't know how it should be. Can someone help me?
Solved! Go to Solution.
Hi again
I've just created a Library for testing purposes, activated the approval functionality, and implemented the following flow with a dummy Compose block to inspect 'Moderator Status' internal name. Please note my Sharepoit interface is in spanish, that's why you see "Estado de apro..." inside the Compose. When hovering the mouse over the dynamic content, the column internal name is displayed.
Taking this into account, I would try with @contains(triggerBody()?['{ModerationStatus}'],'Pending'). If the condition is still not met, please add a similar dummy compose action block and inspect the internal column name
Hope this helps
Proud to be a Flownaut!
Hi
I am afraid some Sharepoint triggers do not provide the metadata associated to the item/file but its ID only. IF this is the case of the trigger you chose, it is useless to configure it as a Conditional Trigger by eveluating one of its metadata column values.
You can find in the following link the detailed inputs and outputs for each Sharepoint trigger:
https://docs.microsoft.com/en-us/connectors/sharepointonline/#triggers
Assuming you chose to use 'When a file is created or modified in a folder', it does not provide as outputs its related column metadata, but the file content. If this is your case, did you consider using 'When a file is created or modified (properties only)' instead?
Hope this helps
Proud to be a Flownaut!
Hi,
I do not use "When a file is created or modified in a folder". I use "If a file is created or modified (only properties)".
If I look into the flow log, the trigger "If a file is created or modified (only properties)" provides the data "Inhaltsgenehmigungsstatus" (moderation status).
Mmmm... it's gonna be more tricky than expected, then.
We are talking about a custom metadata column on your Sharepoint List, right? What's the format of 'Inhaltsgenehmigungsstatus' metadata column? Single Line of Text, right? Or is it Choice?
Can you also try to use 'contain' instead of 'equals' just in case it is 'Single Line of Text' format and there is a leading or ending space?
Hope this helps
Proud to be a Flownaut!
I don't know what's the format of the column "Inhaltsgenehmigungsstatus". It is the standard column from sharepoint that appears if the feature "version administration" is activated. It is updated automatically by sharepoint:
new page: Inhaltsgenehmigungsstatus = draft
send to approval: Inhaltsgenehmigungsstatus = pending
approved: Inhaltsgenehmigungsstatus = approved
Is there a possibilty to check the format of the column?
The user does not change the parameter of this column. The user only sends the page to approval and then an approval workflow starts.
I tried to use "contain" instead of "equals"... But it doesnt work.
Hi again
Now we have discarded some hypothesis, we are closer to the solution
As it is a standard column, it has probably an internal name slightly different from 'Inhaltsgenehmigungsstatus'
This blog post (written in English from a German author) describes the way the author is dealing in Flow with a standard column called 'Moderator Status' with internal name ['OData__x005f_ModerationStatus'] that seems to be yours
https://www.midishares.nl/sharepoint/check-document-approval-status-with-flow/
The internal name comes from 'HTTP request to sharepoint' requests so perhaps does not match exactly with the internal one handled by PA Flow.
If you can inspect again the execution flow log, you will probably have access to the response JSON and find there the internal name and even if value is text (Pending, Approved, etc) or integer (0, 1)
Hope this helps
Proud to be a Flownaut!
I looked into the response JSON. There is no "body" field. There only on field with "Inhaltsgenehmigungsstatus" (look at screenshot at message #3)
So I can't find the internal column name.
I tried now this condition:
@equals(triggerBody()?['ModerationStatus']?['value'],'Pending')
With this condition the flow does not start.
Hi again
I've just created a Library for testing purposes, activated the approval functionality, and implemented the following flow with a dummy Compose block to inspect 'Moderator Status' internal name. Please note my Sharepoit interface is in spanish, that's why you see "Estado de apro..." inside the Compose. When hovering the mouse over the dynamic content, the column internal name is displayed.
Taking this into account, I would try with @contains(triggerBody()?['{ModerationStatus}'],'Pending'). If the condition is still not met, please add a similar dummy compose action block and inspect the internal column name
Hope this helps
Proud to be a Flownaut!
I have added a compose to my flow to lookup the internal name. It's "ModerationStatus".
Then I added
@contains(triggerBody()?['{ModerationStatus}'],'Pending')
to trigger condition... But then the flow doesnt fire 😞
Aaaargh!
That's extremely weird
My next suggestion: please remove the condition from your trigger, reexecute the flow and inspect the value shoen in the Dummy Compose to verify if its content is 'Pending' or something else.
If this also fails, my finalsuggestion is to forget about the condition in the trigger, I mean, implement a condition action block after the trigger to implement such evaluation there, if evaluation succeeds continue processing, if fails Terminate. It is less efficient, but as far as I remember Conditional Triggers are still in PReview.
If we finally make this work, both of us deserves thrillions of kudos 🙃
Thanx for your patience
Proud to be a Flownaut!
Hello,
I think I wasn't patient enough. The flow starts 1-4 minutes after the page has been send to approval. Everything works fine with this condition:
@contains(triggerBody()?['{ModerationStatus}'],'Pending')
But I have on question:
Is it possible to read out the commentary that is filled in when sending a page to approval? The "when a a file is created..." does not read that information out.
HURRAY!
IT WORKS!
My humble suggestion:
1.-Mark this topic as "Solved" by clicking "Accept as a solution". THis way others with the same problem can find a solution faster
2.- Open a new thread for your next question, following the policy: 'One Question, one post'
3.- (OPTIONAL) Click on 'Thumbs up' in any anwer you found valuable.
Even though this 3rd step is OPTIONAL, please remember it is the cheapest, easiest way to say thanks to somebody that simply tried to help. And just between you and me, everytime an inspiring answer receive a kudo, an ewok escapes from The Emperor menace 😉
Proud to be a Flownaut!
Thanks for your kindness!
Proud to be a Flownaut!
User | Count |
---|---|
89 | |
41 | |
22 | |
20 | |
16 |
User | Count |
---|---|
131 | |
51 | |
48 | |
36 | |
26 |