Soft Credit and Fundraiser in Gift List?
Options
I was able to create the gift notification list below, but I want to add in the soft credit recipient and assigned fundraiser and I am unable to get past the gifts which do not have an assigned fundraiser or soft credit? Any ideas? Thanks.

Tagged:
0
Comments
-
Can you post a screenshot of the part of your flow where you are attempting to bring in Fundraiser and soft credit data?
You are correct that you have to bring that data in carefully, because if a gift doesn't have a fundraiser or soft credit, that variable will not be present and any part of your flow that references that data will fail.1 -
So, I just have the fundraiser attempt at the moment and to get the name I was putting it into the Prospect Manager Name variable, but that is where the error is occurring and I get the following message:
"The execution of template action 'Get_fundraiser_name' failed: the result of the evaluation of 'foreach' expression '@items('Getting_Donor_Name,_Fundraiser_Name,_and_Fund_Description')?['fundraisers']' is of type 'Null'. The result must be a valid array."
Not sure if there is a way to look for the presence of the array and put something valid in its place or not. Thanks for taking a look.0 -
The easiest solution would be to use a condition to check if the Fundraisers array is null before you do your 'Get fundraiser name' loop. It would look like this:
The condition is checking to see if Fundraisers is null. Note that you have to enter "null" as an expression.
Putting your second loop in the Yes side of this condition will ensure that it only executes if there are fundraisers for the current gift.
I can't see the rest of your flow, but I wonder if you might have a second issue, though. There can be multiple fundraisers on a gift, and the way you have your flow set up now, it looks like it will loop through each fundraiser, setting it to the same variable. So at the end of the loop, the variable will be set to whichever fundraiser was last. If you have three fundraisers on a gift, your variable will only display one - the last one. Maybe that's not a problem in your scenario, but thought I'd point it out.1 -
Sorry, I have been out a few days and unfortunately the condition to look for null did not work in my flow. However, Jim Ballou suggested I use the length expression in the condition and that worked for me. As a side note I needed fundraiser information as well and was able to use the same condition steps with the fundraiser array as well.0
-
I am also trying to add the Fundraiser (if it exists) to the output of a Gifts List & along with the Constituent Name in the output (which is done), can anyone post a full solution?
Thanks,
Jana0 -
Jana Littleton check out this discussion. There are flows using Gmail, Outlook, and the Mail connector.0
-
Thanks! I will download the package and give it a try.
Jana0 -
Dan Snyder - thanks so much for the package it really helped. Before I got the package, I approached the problem slightly differently in that I used the "List constituent fundraiser assignments" lookup to populate the fundraiser names in a string variable rather than taking them from the gift record itself. With this approach I did not use a control to say PM assigned Yes or No & the Fundraiser column in my HTML output just shows as a blank if no one is assigned.
Also, for the case where there is more than one Fundraiser assigned I used a concat function with a "space" to separate the names, I figured anything slicker might need a counter variable? If 1 no space otherwise add a comma?
Anyways, my email gift list is in decent enough shape I think to show it to the end user so thanks again.
Thanks!0 -
Jana Littleton - Glad it was helpful and thanks for sharing your method as well!0
-
Hi all,
Just wanted to chime about the Condition logic for checking for null (or length() > 0) ...
From my testing, there are some behavior differences between the GetGift and ListGifts endpoints in the underlying Gift SKY API (which powers the corresponding actions in the connector). Depending on which connector action you're using, these differences will impact how you phrase your Condition.
Based on what I see, the GetGift endpoint will return an empty array if the gift has no soft credits:
"soft_credits": []
So if you're using the GetGift connector action, a check for null won't work because the field in the response won't be null - it will be an array (with no items in it). In this case, checking the length() > 0 is a good approach:
length(outputs('Get_a_gift')?['body/soft_credits'])
In contrast, from my testing the ListGifts endpoint omits empty arrays. So there will be no soft_credits property returned for a gift that has no soft credits. In this case, checking soft_credits = null works (because the field will not be present at all in the response).
I had hoped to be able to use the coalesce() function to convert null to an empty array, so that the Condition could at least be consistently phrased as a check for length() > 0:
Unfortunately, the above expression doesn't work (I'll have to play with this some more to figure out why). For now, I hope this at least helps explain a few things. I'd characterize these behavior differences as a "quirk" of the API (but this is good feedback for something we can improve on going forward - ideally, we'd be consistent in our behavior and response treatment for empty arrays across endpoints and APIs).
length(coalesce(items('Apply_to_each')?['soft_credits'], []))2 -
Hey Ben Lambert, I've run into that same issue with coalesce() and arrays. Flow doesn't let you create arrays on the fly like that. If you're like me, you might try using createArray() next to create an empty array. But that doesn't work either, because createArray() won't let you create an empty array.
So the sort of clunky workaround is to actually initiate an array variable that is empty, and then reference in your coalesce function, like so:2 -
Ah, that's a great tip! Thanks Ben Regier!0
Categories
- All Categories
- 6 Blackbaud Community Help
- High Education Program Advisory Group (HE PAG)
- BBCRM PAG Discussions
- Luminate CRM DC Users Group
- DC Luminate CRM Users Group
- Luminate PAG
- 186 bbcon®
- 1.4K Blackbaud Altru®
- 389 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- 14 donorCentrics®
- 355 Blackbaud eTapestry®
- 2.4K Blackbaud Financial Edge NXT®
- 616 Blackbaud Grantmaking™
- 542 Blackbaud Education Management Solutions for Higher Education
- 33 Blackbaud Impact Edge™
- 3.1K Blackbaud Education Management Solutions for K-12 Schools
- 909 Blackbaud Luminate Online® and Blackbaud TeamRaiser®
- 207 JustGiving® from Blackbaud®
- 6.2K Blackbaud Raiser's Edge NXT®
- 3.5K SKY Developer
- 236 ResearchPoint™
- 116 Blackbaud Tuition Management™
- 375 YourCause® from Blackbaud®
- 160 Organizational Best Practices
- 232 The Tap (Just for Fun)
- 31 Blackbaud Community Challenges
- Blackbaud Consultant’s Community
- 19 PowerUp Challenges
- 3 Raiser's Edge NXT PowerUp Challenge: Gift Management
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 3 Raiser's Edge NXT PowerUp Challenge: Home Page
- 4 Raiser's Edge NXT PowerUp Challenge: Standard Reports
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 71 Blackbaud Community All-Stars Discussions
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- 743 Community News
- 2.8K Jobs Board
- Community Help Blogs
- 52 Blackbaud SKY® Reporting Announcements
- Blackbaud Consultant’s Community
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- Blackbaud Francophone Group
- Blackbaud Community™ Discussions
- Blackbaud Francophone Group