How to modify Flow to allow multiple constituent attributes to be added to constituent record.

Options

Hello all,

I'm hoping someone can help me troubleshoot a problem I'm having with a Power Automate flow I created for an email newsletter signup form. It is attached here for reference. RENXTEmailSignupForm-Simple_20240725161247.zip

I adapted the volunteer signup flow template (linked here) to create a flow that is triggered when a constituent submits a Microsoft Form to subscribe to our email list. In addition to capturing First Name, Last Name, and email address, the form has a question asking users to select checkboxes if they would like to receive any of our regional newsletters (see screenshot),

19d32a9286fe69b0ed317c38a74d4365-huge-im

These values should be mapped to a constituent attribute in our system (Attribute Category = Region). The attribute is configured so that a constituent may have more than one Region attribute on their record. ((Side bar: I understand that we could be tracking this via solicit codes, but for the time being we'd like to continue using this attribute as we have so many regional newsletters and we prefer to keep our solicit code list simple.))

When I tested the flow by completing the form and selecting multiple checkboxes, I got the error message pasted at the bottom of this post. I understand that I am missing some steps to split the multiple values from the form submission so that they are added as multiple attributes to the constituent record. Can anyone advise on how to do that?

Additionally, if there is a better way to accomplish what we are trying to do here, let me know! I prefer to use the Online Express email signup for better constituent matching, but it doesn't allow us to add additional questions such as the regional newsletter list question. I hate that Power Automate can only use name to find constituents (not email address). Seems like a real oversight!!

ERROR MESSAGE:

"message": "The category 'Region' does not contain an active entry named '[\\"Baltimore\\",\\"Chicago\\",\\"Virtual Program\\",\\"Minneapolis-St. Paul\\",\\"St. Louis\\",\\"Northeastern Pennsylvania\\",\\"National Capital Area\\",\\"Albany\\"]'",

"error_name": "CategoryTableEntryNotFound",

"error_code": 400,

"raw_message": "The category 'Region' does not contain an active entry named '[\\"Baltimore\\",\\"Chicago\\",\\"Virtual Program\\",\\"Minneapolis-St. Paul\\",\\"St. Louis\\",\\"Northeastern Pennsylvania\\",\\"National Capital Area\\",\\"Albany\\"]'",

"error_args": []

Comments

  • Austen Brown
    Austen Brown Community All-Star
    Ninth Anniversary Kudos 5 Name Dropper Participant

    @MaryKathryn Odean - You need to put your add custom field action into a Apply to Each that runs off of the returned values from the form - so it will loop through and add a field for each entry returned.

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 PowerUp Challenge #3 Gift Management Name Dropper

    @MaryKathryn Odean
    There is a search constituent with email option.

    9b2b7785bb52cc59b9c0310e6feeae23-huge-im
  • @Alex Wong
    Thanks - the problem is that I need the count output for my approval email, and I don't see that in the enhanced search field list.

    7a53582799bea8348da4127bed0118b3-huge-im
  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 PowerUp Challenge #3 Gift Management Name Dropper

    @MaryKathryn Odean
    Question is.. what is the purpose of this count other than just mentioning it in the approval that search found X number of matches.

  • @Alex Wong for the reviewer to decide whether to approve or reject the creation of a new record. Ultimately I'd like to automate this into logic (if count is >0 do not create a new constituent record; if count is 0, create a new record), but haven't gotten that far yet. If someone signs up for emails but is already in RENXT we don't want to create new constituent records.

  • @Alex Wong if there's a better way to automate an email signup process using Power Automate that doesn't just create a bunch of duplicate constituent records, I'm all ears. It blows my mind that RENXT/Online Express doesn't have an integrated email signup form that allows for additional fields / or subscribing to various enewsletters.

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 PowerUp Challenge #3 Gift Management Name Dropper

    @MaryKathryn Odean
    Understood, while there is no Count dynamic content, you can use the length() expression to determine how many search result were returned:

    length(outputs('Search_Constituent')?['body/results'])

    Something to consider:

    if 0 - create new

    if 1 - update and add attribute (if attribute not already exist)

    if more than 1, show top 2 or 3 constituent match in the approval details section (with link to each constituent records page), and then customize your “button” to show selection to match to #1 donor #2 donor or #3 donor record.

  • @Austen Brown - thanks. I'm still learning Power Automate - can you provide a little more detail on how to accomplish this? Currently the form response (which enewsletters do you want to subscribe to) comes through as a string, not an array, which causes an error in the apply to each action.

  • @Alex Wong YES this is the dream! I think I'm already hitting the ceiling of my technical ability here so I am not sure if I can implement that.

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 PowerUp Challenge #3 Gift Management Name Dropper

    @MaryKathryn Odean
    if time permits, you can join the power automate user group and heighten that ceiling, if you wish. Next one: https://community.blackbaud.com/events/item/66/4261

    in these session you will get direct help if you are struck somewhere in your flow.

  • This is a request to have the updated flow shared back here – I was the one who had to step out during your PAUG presentation and missed the whole fix!

  • Erik Leaver
    Erik Leaver Blackbaud Employee
    Tenth Anniversary Kudos 3 Name Dropper Participant

    @Kevin Fletcher Agreed we should have an update here for future reference. But I'll also be posting the recording from yesterday's meeting by the end of the week. (Recordings are under the events tab, in the comments of the meeting.)

Categories