Sharing my Power Automate Flow: Daily Gift Digest Notification

124»

Comments

  • I'm not sure if this was posted somewhere in this thread or elsewhere but here's a link to the step-by-step session with Trevor from several years ago, in case anyone else is starting from zero PA experience!

  • @Audrey Morris @Alex Wong I have downloaded this template and, in step 4 where I select the list from RE NXT it indicates “No items” i definately have lists created so that isnt my issue.

    To troubleshoot I have:
    Reconnected incase I was some how connected to a BB test environment from one of my PD sessions, still no lists.
    Started a new flow and tried to recreate from scratch, still no lists.

    Any ideas why i dont have any lists in the drop down section?

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 Facilitator 3 Raiser's Edge NXT Fall 2025 Product Update Briefing Badge

    @Louise Williams
    In Power Automate, when you connect to Blackbaud connectors.. there is no indicator of which Blackbaud environment you are connected to. So if you do have multiple Blackbaud environment, you will have trouble.

    as an immeidate fix, you can select a “new connector” for Blackbaud RE NXT Constituent connector, and make sure to select your production environment.

    However, it is important to “fix” this issue. Use 1 Power Automate environment for 1 blackbaud environment. So it is best you “create a new environment" and call it production environment and any connection you make to Blackbaud environment is the same production one. IF this all sound too confusing for you, you will want to attend next month's Power Automate user group and it can be better explained that way.

  • Hello, I was able to create the flow and use it. However now, I am trying to add Gift dates and Fund name to my table, without success. I added an action "Get gift details" (after Get constituent details) and for gift ID I added the from the Pull Gift List from RE NXT. And then in my Email content step I copy/pasted this code:

    {
    "Name": "<a href='http://renxt.blackbaud.com/constituents/@{outputs('Get_constituent_details')?['body/id']}'>@{outputs('Get_constituent_details')?['body/name']}</a>",
    "Constituent ID": "@{outputs('Get_constituent_details')?['body/lookup_id']}",
    "Gift Amount": "<a href='http://renxt.blackbaud.com/gifts/@{items('For_each_gift')?['id']}'>@{body('Format_amount_as_currency')}</a>",
    "Gift Date": "@{items('For_each_gift')?['date']}",
    "Fund": "@{outputs('Get_gift_details')?['body/fund/name']}"
    }

    Unfortunately when I tested the flow, now it looks like this:

    Screenshot 2025-11-20 162951.png

    Any idea on how to fix this? First, why the hyperlinks disappeared? And why there is no fund name? Also I got to change the gift date format.

    Any help would be appreciate!

  • Hi @Nastassia Chamoun - when I look at your hyperlink above it looks like it has a quote before 'http and another at the end. I would try removing those quotes.

    "Name": "<a href='http://renxt.blackbaud.com/constituents/@{outputs('Get_constituent_details')?['body/id']}'>@{outputs('Get_constituent_details')?['body/name']}</a>",

    Mine looks like this: "<a href=http://renxt.blackbaud.com/constituents/outputs('Get_Donor_Name')?['body/id']>outputs('Get_constituent_details')?['body/name']</a>"

    To format the gift date, you need to use an expression. Mine looks like this which would do 11/21/2025.

    formatDateTime(outputs('Get_each_gift_details')?['body/date'],'MM/dd/yyyy')

    I hope that helps,

    Carol

  • You were right, thanks! Any idea on how to get the fund name? It does not appear in my email..

    Screenshot 2025-11-21 105357.png

    This is what my email content code looks like now:

    {
    "Name": "<a href=http://renxt.blackbaud.com/constituents/@{outputs('Get_constituent_details')?['body/id']}>@{outputs('Get_constituent_details')?['body/name']}</a>",
    "Constituent ID": "@{outputs('Get_constituent_details')?['body/lookup_id']}",
    "Gift Amount": "<a href=http://renxt.blackbaud.com/gifts/@{items('For_each_gift')?['id']}>@{body('Format_amount_as_currency')}</a>",
    "Gift Date": "@{formatDateTime(items('For_each_gift')?['date'], 'MM/dd/yyyy')}",
    "Fund": "@{outputs('Get_gift_details')?['body/fund/name']}"
    }

  • @Nastassia Chamoun For Fund, I am pulling it by using 'Get a Fund' which is under the Blackbaud- Fundraising connector. Then pull in your gift splits fund ID into Get a Fund (from Get Gift Details, not from List Gifts). This will create a loop (Apply to each) which is fine.

    Even though you may not split gifts, this is what they called it. I also created a Fund Name string variable to store the Fund Name, you don't have to.

    image.png
  • @Carol Grant Thank you for your help! I got it now. Only thing is that I had to initialize a variable at the beginning of the flow and then inside the loop you mentioned I could add a Set variable step! Now it is all fixed. Thank you so much !

  • Hey team, another question. My flow is working great now but I have been ask to show the two funds name if someone makes a split gift. For example this lady donated $1,000 and when I click on the gift amount we can see that it is a split gift. Is there a way to make the two funds name appear in the email's table?

    Screenshot 2025-11-25 105029.png

    Screenshot 2025-11-25 105044.png
  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 Facilitator 3 Raiser's Edge NXT Fall 2025 Product Update Briefing Badge

    you will need to either use an Array variable and then use join() expression when ready to add to the gift detail array.

    or use continue to use string variable, but you have to use Append to string variable.

    In order for either of this to work, you will have to make sure that in the apply to each loop for the list of gifts (not apply to each for each fund of a gift splits), that you either "set variable" to empty string or empty array at the beginning of the loop or end of the loop so each gift start "fresh".

    I had a template that does this but can't find it right now.

  • @Alex Wong - you say "make sure that in the apply to each loop for the list of gifts (not apply to each for each fund of a gift splits)," but list gifts doesn't have fund ID. You need to pull in Get a Gift to get the fund ID. Do you mean the gift split item from Get a Gift she should loop around?

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 Facilitator 3 Raiser's Edge NXT Fall 2025 Product Update Briefing Badge

    an action flow chart (bullet list) makes more sense:

    • init var Funds (assume using string variable)
    • init var Appeals (if desired and assume using string variable)
    • init var Gift Array (the array that adds each gift's information for later display in HTML table)
    • list gifts
    • apply to each gift
      • get constituent
      • apply to each gift splits
        • get fund of the split
        • append to string variable Funds the Fund Description and/or Fund Lookup ID (Fund ID)
        • get appeal of the split (if desired)
        • append to string variable Appeals the Appeal Description and/or Appeal Lookup ID (Appeal ID) (if desired)
      • Append to Gift Array (constituent name, gift date, gift amount, Funds, Appeals, etc)
      • set variable Funds to empty string
      • set variable Appeals to empty string
    • create HTML table from Gift Array
    • send email
  • Thank you! Will try to do that.