Hi,
When reading answers to choice questions with the "Other" option, Power Automate will always return the string entered by the user, such as "string 1" or "string 2", jus like you mentioned.
How many options do you have in your choice question? If you don't have too many, my recommendation is to use the reverse logic: and combine a few actions that will return "true" only if any of the values from the choice answer is not one of the default options.
To illustrate it, I submitted a form with this answer to a choice question:
The flow design looks like this (maybe you can simplify it after some refactoring):
In a few words, the flow:
- Initialize the has_other boolean variable to store your desired outcome, which is to know if your choice question was answered with an "Other". By default, the variable is false, and it will become true only if the flow identifies any response different from the default options.
- Initialize the default_options array variable to store all of the default options from your choice question. In my case, I have only "Option 1" and "Option 2".
- Then you will loop your question's selected options in the Form submission with an Apply to each. Since the Get response details return the answer as a string (that looks like an array, but it's still a string), you will first need to convert it to an array, which can be achieved by simply using a json() expression and passing the answer dynamic content as input. From my end, the expression looks like this: json(outputs('Get_response_details')?['body/r50497357236148d292197a5b542fe0ca']).
- Within the loop, add a condition to test if the default_options variable contains the currently iterated selected choice, which can be returned by simply using the item() expression.
- In the If yes block, set the has_other variable as true. You can keep the If no block empty, since the variable already have a default value of false.
You may notice that I also included a Compose at the end. You don't need to include it: I just did it to print the final value of has_other after the loop.
After running the flow, this is the has_other output, which makes sense, since we had a random text under the "Other" selected choice:
Maybe you will need to make a few changes to implement this solution to your use case. Let me know if you need any support with that.
I'm also sharing a few contents that I created in the past about the topics discussed in this solution, which can be helpful for you or any other users that find this thread in the future:
Let me know if it works for you or if you need any additional help!
-------------------------------------------------------------------------
If this is the answer for your question, please mark the post as Accepted Answer.
If this answer helps you in any way, please give it a like.
http://digitalmill.net/
https://www.linkedin.com/in/raphael-haus-zaneti/