Help with Search for a Constituent (Enhanced) action

I am working on importing constituents into our RENXT web view from a .csv file. Generally my flow logic is:

  1. Convert .csv file to array
  2. Attempt to match constituent to a record in RENXT
  3. Add to SharePoint list with match results

I am using split conditions in the flow to first search on lookup ID, in no match, search on university email address, if no match search on personal email address, if no match search on name. I am nesting the split conditions (see image below) and it works great until the search on name action. In my tests the flow doesn't find the constituent based on name when the action is nested in the final split condition. If I move the name search to the first action in the flow, it does find the matching constituent.

5dbfb52432639397a9dc21f2a84f00be-huge-im

I originally thought it may have to do with the number of nests (@Alex Wong mentioned to me recently that conditions have a limit) but the other actions within that split work perfectly, including a compose action and a "create item" action.

So first question is has anyone run into a similar issue? @Dan Snyder @Austen Brown @Shelby Lewis @Elizabeth Johnson @Glen Hutson

Second, is there a better way to approach this flow? I chose splits b/c I needed three condition options, condition on if it finds a single match, no match, or multiple matches.

Thanks!

Comments

  • Austen Brown
    Austen Brown Community All-Star
    Tenth Anniversary Kudos 5 PowerUp Challenge: Product Update Briefing Feedback Task 3 bbcon 2025 Attendee Badge

    @Hallie Guiseppe - Can you share a zoomed in screenshot of the search name action and what dynamic content is being included in that field.

    I don't think the nested conditionals are the issue. The flow will tell you when you hit the limit - if memory serves the max is 8 levels - and prevent you from saving.

  • Hallie Guiseppe
    Hallie Guiseppe Community All-Star
    Sixth Anniversary Kudos 5 February 2026 Monthly Challenge Name Dropper

    @Austen Brown

    Hey. I'll drop a screen shot in, but @Ashley Moose suggested I remove the filter on “Alias type” and "Include maiden name?" and then it worked. I had those two fields populated previously.

    c14e0579cf5285346801007dcb22e7ca-huge-im
  • Alex Wong
    Alex Wong Community All-Star
    Tenth Anniversary Kudos 5 Facilitator 4 bbcon 2025 Attendee Badge

    @Hallie Guiseppe
    overly nested flow has a lot of drawbacks, both in future flow maintenance and the danger of hitting the max nest level in case of future need.

    That said, there is a few things you can you try to do to reduce the nesting. hard to use screenshot due to Community image posting is terrible. So using bullet points, sub-bullet = a nested level. I also assume Lookup ID, University Email, Personal Emil can all potentially be blank.

    • init a int variable (Record ID = 0)
    • init an array variable (Search Result) - this is to save the search result for potential use.
    • condition (Lookup ID is not blank)
      • if yes
        search by Lookup ID
        set var Record ID = if(equals(length(results-of-search), 0), 0, first(results-of-search)?['record_id'])
        set var Search Result = results-of-search array dynamic content
      • if no
        do nothing
    • condition (Record ID is 0 AND University Email is not blank)
      • if yes
        search by University Email
        set var Record ID = if(equals(length(results-of-search), 0), 0, first(results-of-search)?['record_id'])
        set var Search Result = results-of-search array dynamic content
      • if no
        do nothing
    • condition (Record ID is 0 AND Personal Email is not blank)
      • if yes
        search by Personal Email
        set var Record ID = if(equals(length(results-of-search), 0), 0, first(results-of-search)?['record_id'])
        set var Search Result = results-of-search array dynamic content
      • if no
        do nothing
    • condition (Record ID is 0)
      • if yes
        search by name
        set var Record ID = if(equals(length(results-of-search), 0), 0, first(results-of-search)?['record_id'])
        set var Search Result = results-of-search array dynamic content
      • if no
        do nothing
    • condition (Record ID is 0)
      • if yes
        no record ever found with all the search, action as needed
      • if no
        condition (length(Search Result) is 1)
        • if yes
          you got 1 result, and Record ID is the record you want, action as needed
        • if no
          you got more than 1 result, Record ID isn't useful now as it is only the FIRST of the result, so actions as needed for multiple matches

    This way, without consideration of what you will do when multiple matches are found, you are only 2 nested levels in.

    I can barely make out what the screenshot say, but I see “some data operation” after each search action, what is that?

Categories