cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Alex_CCI
Resolver I
Resolver I

Confirm a submitted user email is correct BEFORE allowing Flow to proceed

Users are submitting a "coworker" email address using MS Forms.  Sometimes they enter the WRONG email and that stops the Flow (as that email address is used later in the flow).  I want to add a step that "checks" the email provided, if it is wrong, the submitter gets an Approval email that allows them to enter the correct email address (I'll have that corrected email address added to a SP List and user that later in the flow).

 

PROBLEM: Can't get Flow to recognize when Search for user has an Output of nothing [ ].  Here are the action steps.

 

  • Search for users (V2) - Search Term is equal to Coworker Email from MS Form
  • Condition - XXXX is equal to null (I tried Value and Email as XXXX).
  • IF YES, send an Approval (have send an email as placeholder).
  • IF NO, continue (have send an email as test-verification.

The NO path works.  I have it sending data from Search for user (V2) and that info is in the email.  I just can't get the YES path to work.  It just seems to skip it.  Seems that either the condition value or the null expression I'm using is wrong.  Thanks.

 

Capture.PNG

3 ACCEPTED SOLUTIONS

Accepted Solutions
efialttes
Super User III
Super User III

Hi

I would add a Condition action block just after 'Search_for_users'

Assign the following expression on the left side of your condition rule:

empty(body('Search_for_users'))

 

Assign the following expression on the right side of your condition rule:

false

 

Select as operator:

Is equal to

 

 

So when your flow executes, it will take the true branch when 'Search for users' result is not empty

Hope this helps



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



View solution in original post

THANKS. Your solution worked.  I just needed to use the following instead of empty(body('Search_for_users')).

 

empty(body('Search_for_users_(V2)'))

View solution in original post

Alex_CCI
Resolver I
Resolver I

Solution (due in large part to help).

 

The following will allow you to check a submitted email (or other user data) against your companies user accounts.  It provides a Condition Control that will allow you to take other actions IF the original email (user data) provided is WRONG.  In my case, if the email is wrong I am sending an Approval asking them to submit a valid email in the Comments and then updating the info in a SharePoint List, before the Flow continues.

 

Answer- Search for user (with Filter and with result is Empty)-Text.png

View solution in original post

11 REPLIES 11
efialttes
Super User III
Super User III

Hi

I would add a Condition action block just after 'Search_for_users'

Assign the following expression on the left side of your condition rule:

empty(body('Search_for_users'))

 

Assign the following expression on the right side of your condition rule:

false

 

Select as operator:

Is equal to

 

 

So when your flow executes, it will take the true branch when 'Search for users' result is not empty

Hope this helps



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



View solution in original post

THANKS. Your solution worked.  I just needed to use the following instead of empty(body('Search_for_users')).

 

empty(body('Search_for_users_(V2)'))

View solution in original post

I made a mistake.  This is still NOT working. With the expression empty(value('Search_for_users_(V2)')) is false, this marking all results as True and sending down the Yes path.  Now I can get it to go down the NO path.  Even when I enter correct info in search term.  Any ideas?

 

True Path.PNG

When Search_for_users_(V2) fails.  It returns an Output Value of [].  No mater what I try, I can't find the expression that recognizes when the outcome is nothing (i.e. empty).  Therefore, the Condition Control that I have after the user search does NOT yield a correct Yes/No path.  Need more help on this issue!  I have tried the following on the left side of the control.

  • outputs('Search_for_users_(V2)'?['value']) 
  • empty(value('Search_for_users_(V2)')) 
  • empty(body('Search_for_users_(V2)')) 
  • outputs('Search_for_users_(V2)') 
  • outputs(('Search_for_users_(V2)'?['value’])) 
  • empty(body('Search_for_users_(V2)'))?['value’] 

I have tried the following on the right side of the control.

  • false
  • null
  • true
  • 'true'

In the middle, I've tried

  • is equals to
  • contains
  • does not contain

Thanks!

PS- I marked this issue as solved (because a previous answer seemed to work).  Should I post this as a new string?  There doesn't seem to be a way to mark this post as Unsolved.

Hi again

I'e just implemented a test flow, please see the design screenshot and the execution screenshot. In my case I am searching for 'Carlos' pattern (tons of matches) and also for 'ewokewok' pattern (0 matches). One condition per search, based on empty() function. Both Conditions takes the expected brach. I've also added a couple of dummy 'Compose' action blocks to display the nr of matches in both cases.

Hope this helps

 

Flow_SearchUsers_01.pngFlow_SearchUsers_02.png

 



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



Thanks for the help.  Can I use dynamic content in this model instead of "fix" data?  My search term is field info from a SP List (which was gathered from an MS Form).  Because users are sometimes entering this email incorrectly, I'm doing a search users check.  Anyway, the search term is a SP field (Chair's email).  Testing your solution now, but hoping to get confirmation from you before I get too far into it.

 

Chair.PNG

 

 

Hi!

"Can I use dynamic content in this model instead of "fix" data? "

I believe so... assuming the SP column is defined as a 'single line of text', right?

 

In your last screenshot I've noticed you added 'false' to your Condition rule as text and not as an expression. THis probably explains why flow executions always took the same branch

In order to add it as a expression you need to follow these steps:

https://flow.microsoft.com/es-es/blog/use-expressions-in-actions/

 

Hope this helps



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



YES the SP column is single line of test.

PS- I stopped to go back to your original solution and add FALSE as an expression.  It didn't work.  Regardless if the search for user check worked/failed, the results sent down the same path.  Testing your new solution now. Thanks.

Using Dynamic Content, the solution didn't go well.  The Compose step worked (even though the expression didn't change to the pink fx box), however, although the Condition left-side let me enter Dynamic Content, it said the expression was INVALID.

 

empty(body('Search_for_users_(V2)_body('Request_Item_Created_in_SharePoint_List')?['Chair']')?['value']

 

I entered the Dynamic Content (Chair) i the same spot as Carlos in your example.  I assume this expression would work, but it is missing some symbols?

 

PS- I tried various other things based upon your solutions, will no success.  I especially tried right-side conditions of expressions of True, null, 0 and empty (empty gave invalid expression).

 

What is frustrating is that when a Search for user yields no results, it is listed as Outcomes, Value, [].  To me this seems like outcomes equals nothing (or empty).  Seems like the empty expression on the right-side should work, but instead, it is listed as invalid.

 

After not being able to enter your expression, I tried Outputs.

Compose- Outputs.PNG

Also please notice that the Compose yields what was entered in the Chair field, not sure this will help divert to a Yes/NO path.

Compose.PNG

Results.

Using Dynamic Content in Compose.PNG

 

Alex_CCI
Resolver I
Resolver I

Solution (due in large part to help).

 

The following will allow you to check a submitted email (or other user data) against your companies user accounts.  It provides a Condition Control that will allow you to take other actions IF the original email (user data) provided is WRONG.  In my case, if the email is wrong I am sending an Approval asking them to submit a valid email in the Comments and then updating the info in a SharePoint List, before the Flow continues.

 

Answer- Search for user (with Filter and with result is Empty)-Text.png

View solution in original post

A blank email field should not be and issue if it is a required field in the Form. If it is a required field in the form it can't be submitted without something in the field. If it is a field that can be left blank a separate test should be made to see if there is data in that field.


Also field validation is available in Forms Pro and InfoPath.

Helpful resources

Announcements
Process Advisor

Introducing Process Advisor

Check out the new Process Advisor community forum board!

MPA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Top Solution Authors
Top Kudoed Authors
Users online (41,063)